ChronoBars allows creation of custom bars to track specific buffs and debuffs, spell and item cooldowns, totems, spell and item usability, weapon enchants and weapon swing times. Groups of bars can be moved anywhere on the screen. A group can include any number of bars each tracking different types of effects. Every bar is fully and separately configurable.
I don't have much time lately, and I haven't updated the entire guide below for version 2.0. The configuration process is different now, due to window based configuration, but I guess you can still figure stuff out if you read through the old guide.
- Configuration is now window based. No more tedious mousing through the endless levels of context menus!
- Profile settings moved to global configuration panel (Interface -> AddOns -> ChronoBars).
- Each bar can now have an unlimited number of text widgets, with custom text format. There are built-in text presets included for your convenience.
- Much improved flexibility in positioning of icon and text inside and outside the bar.
- New options for text shadow and outline
- Minimap button (can be disabled in global config)
- unlimited number of groups
- unlimited number of bars in each group
- track buffs and debuffs
- track DoTs and HoTs on multiple units
- track multiples of the same buff (e.g. two Berserk)
- track spell, item and internal cooldowns
- track spell and item usability
- track totem duration
- track temporary weapon enchants (rogue poison, shaman weapon buffs)
- track melee swing, hunter's AutoShot or wand Shoot spell
- track custom duration triggered by a spell cast (e.g. Mirror Image, DnD)
- support for multiple effects on the same bar with a comma-separated list
- support for SpellID and ItemID
- support for summing aura stacks from all casters
- support for fixed maximum bar time
- support for profile switching (link spec to profile, switch automatically)
- smooth bar animations (slide up, down, blink, fade out)
- controllable bar layout (keep bar positions, stack active bars)
- easily accessible configuration with overview of all bars and groups
- move bars and copy/paste settings between them
- LibSharedMedia support for bar textures and fonts
- pixel-aligned graphics when full-screen or maximized (1px border is exactly 1px)
How is this different from other such addons?
I am aware of other similar or very similar addons, and indeed, they were a direct inspiration for this addon. However, I felt each of those lacked something. Either the number of bars or groups was limited, or the groups wouldn't grow and shrink, leaving gap between bars, or I couldn't put a buff and a debuff in the same group, or I couldn't track something on my target and something on my focus in the same group, or I couldn't track effects of different types on the same bar. ChronoBars allows all that and is designed to have as little restrictions as possible.
Also, ChronoBars is highly configurable in the way the bars work. They can move from left-to-right or right-to-left, they can fill up instead of deplete, you can swap the position of text and time or the side the icon is on. Pretty much you can invert the whole bar if you want. Configuration is simple and intuitive, you can move the bars up and down the group once configured and copy settings from one bar to the other so you never have to reconfigure twice just because you changed your mind about positioning of a bar.
Finally, I use these bars a lot, my raiding experience depends a lot on how they work, so I wanted to make an addon of my own that works exactly the way I want, with a codebase that I understand and can easily tweak whenever necessary. If other people find it useful too, that much better.
Creating groups and bars
Initially ChronoBars will be in "run" mode. To unlock configuration type the /chronobars or /cb command into the chat window. By doing this, ChronoBars will switch to "design" mode, where you can configure everything you need. One single bar will show up in the center of the screen. To configure it right click the bar.
A context menu will appear with lots of options. To create more bars or a new group, move your mouse over the New submenu, and select Bar or Group option. A new group is always created with one bar in it and will show up at the center of the screen. Settings are automatically copied from the current bar or group when the new one is created.
Changing size, spacing and padding
These three properties apply to all the bars in a group. To access these settings, right-click a bar and open the Group settings submenu. There you will be able to change bar width, height, spacing between bars in the group and internal padding of bars from their edge.
Tracking buffs and debuffs
To define the effect that you want your bar to track, right click the bar you want to use and choose the Effect name... command. A window will pop up asking you to enter the name of the effect. You need to be very careful with capitalization and enter the precise name of the buff or debuff. Alternatively, if you know the spell ID of the effect, you can enter that instead.
Buffs and debuffs are collectively known as "auras". To track a buff or a debug, right click the bar you want to use, open the Effect type submenu and choose the Aura option. The menu will close to update its contents.
Right click the bar again and open the Aura Settings submenu. In order for the addon to perform as efficiently as possible, you need to be very specific about what type of aura you want to track. Select Buff or Debuff in the Aura type submenu, then select the unit you want to track in the Unit to monitor submenu.
It is possible to track multiple auras with the same name, such as Berserk proc from two different weapons. To achieve this, create two bars with the same settings, then on one of the bars open the Which when multiple menu in the Aura Settings and select the option Second instead of First. You can track up to five instances of the same effect this way.
You can limit tracking to only the auras that you cast by selecting the option Only if cast by self. If you want the bar to show the sum of the aura stacks on the unit from all the casters select the option Sum stacks from all casters.
Groups can be freely dragged around the screen with mouse in design mode. When this is all set, use the /cb command again to switch back to the run mode and you are done.
Tracking DoTs and HoTs on multiple units
You can track an aura on multiple units at the same time by setting the effect type to Multi Aura. Note that the Multi Aura settings menu doesn't include the unit to monitor, because it doesn't need to. The aura matching the given effect name will be automatically tracked on any unit as soon as it is detected. New copies of the bar with the same appearance will be created automatically for every unit, and the text on each bar will show the name of the unit with the aura.
Due to the limitations of the game itself, the duration of auras can only be monitored on a small set of specific units, namely your target, focus, pet, members of your party, their targets or the unit under your mouse. However, that doesn't stop ChronoBars from remembering where an aura was detected and continuing to keep track of it.
Sometimes ChronoBars will detect the presence of an aura on a unit, but will not know the exact duration of it. If you still want the bar to show up in such cases, you can use the Estimate Duration setting to specify a starting time to apply to the bar. Of course, ChronoBars will update the bar with the exact duration as soon it become available.
Keep in mind that for a single target a regular Aura bar will still be more CPU friendly.
To track cooldowns, input the name of the spell or item you want to track and change the effect type of the bar to Cooldown as described above. Again for performance reasons you need to be very specific about what you are tracking. Open the Cooldown settings menu and choose Spell or Item.
Note that the word "CD" has been appended to the name of the item or spell that you entered. This is to let you know that a cooldown is being tracked rather than a buff or a debuff. If you wish to disable this, right click the bar, open the Style submenu, then Show submenu and tick off the CD option.
Tracking internal cooldowns
When you want to track internal cooldown of a "proc", what you really want to be tracking is the appearance of an effect that it triggers. Every weapon, trinket or enchantment proc will put a buff on the player when it activates. Often, some players would test the behaviour of the item and figure out the duration the effect is being prevented from triggering again by the game. This is known as "internal cooldown" of that effect. Note that internal cooldowns are never exposed by the game normally and are just a term that players have come up with.
To track internal cooldowns you need to set the effect type of the bar to Custom, then set the duration in the Custom settings... submenu, and change the Trigger setting to Another bar activated. You need to set the effect name to the name of an effect that is being tracked by another existing bar. Whenever that other bar reactives, the internal cooldown bar will be triggered. You can specify multiple effect names or IDs by separating them with commas, to trigger the same internal cooldown from multiple sources.
To track usability of a spell or an item, you need to set the effect type of the bar to Usable, and then select either Spell or Item in the Usable settings menu. Note that the effect name has the word "Usable" appended to it. To disable this, you can tick off Style-Show-Usable option.
By default the usability check will include the cooldown of the spell or item, meaning that it will not show up until the item is both usable and off the cooldown. To toggle this behavior use the Include cooldown option in the Usable settings menu.
You can track totem durations by switching the effect type of the bar to Totem. Again for efficiency reasons, you need to be very specific, so open the Totem settings submenu and choose Fire, Earth, Water, or Air.
This will make your bar track the remaining duration of the specific totem matching the effect name that you entered. Note, however, that if you want to track the cooldown on the casting of a totem such as Earthbind totem, you need to track the Spell Cooldown of the same name instead.
Tracking weapon enchants
To track temporary weapon enchants such as rogue poisons or shaman weapon buffs, set the effect type to Weapon Enchant. Then open the effect settings submenu and choose either Main Hand or Off Hand.
The bar will normally only track the enchant matching the given effect name. This allows you to create multiple bars with different appearances for different enchants on the same weapon. If you still want a single bar to track any weapon enchant, set the effect name to blank (delete the effect name contents) and the bar will show up for any enchant on the given weapon slot.
Tracking weapon swing, AutoShot, Shoot
To track these effects set the effect type to Auto Attack. Then open the effect setting submenu and choose either Main Hand, Off Hand, Wand or Bow/Gun.
The bar will be triggered every time you swing with your melee weapon or shoot with your ranged weapon and track the estimated duration until your character will swing or shoot next time.
Tracking custom duration after spell cast
Some effects cannot be tracked normally, because the game itself doesn't give the player any clue on the duration of the spell (e.g. there is no buff on the player or debuff on the target). Examples of such spells are Mirror Image and Death and Decay. However, the description of the spell does tell you the duration of the effect.
To be able to track it, set the effect type to Custom, then open the Custom settings... submenu and set trigger option to Spell cast successful. Set the effect name to the spell that triggers the effect and the Duration... option to the time given in the spell description. The bar will be triggered every time the given spell is successfully cast.
There are three ways you can set the group to lay out the bars when in run mode. To access these settings, right click any bar in the group, open the Group settings submenu, and then the Layout submenu.
Keep bar positions
This option will keep the positions of the bars exactly where they are in the design mode. For instance, if only the first and the third bar are active, there will be a bar-height gap between them. If you want to know exactly where on the screen to look out for you bars, this is the option for you.
Stack active bars
The group will grow and shrink as the bars in it become active or inactive. For instance, if only the second bar in the group is active, it will instead appear at the position of the first bar (the bottom of the group). If shortly after the first bar becomes active, the second bar will move up to make room for it. This option is best if you want to make your groups take the smallest amount of screen space possible at any time. Note that you can change the direction in which the group grows via the Grow direction submenu.
Show first active bar
This will hide all the bars in the group except the first active bar in the group's growth direction. For instance, if the first and the second bar are active, only the first one will be shown. If the effect of the first bar goes off, the second bar will appear in its place.
This option is best when you want the appearance of one bar tracking multiple effects. An example of use could be a bar tracking both the buff proced from a trinket and its internal cooldown. By setting the internal cooldown onto the second bar, it will only be shown after the buff of the proc wears off.
Resetting if you mess up
If you ever happen to mess up and none of your bars are visible on the screen and you can't get to the configuration menu, you can reset the whole profile with the /cb reset profile command. If you want to only reset the position of the groups back to the center of the screen, you can use the /cb reset groups command.
By default, ChronoBars updates the state of the bars every 0.03 seconds which gives you roughly 30 frames per second. ChronoBars has been implemented with efficiency in mind, however, if you feel like its taking too much of your CPU power, you can easily increase the update interval to something larger by issuing the following command:
/cb update [interval]
where [interval] is the time between updates in seconds (of course you can use decimals).
* 2.2 to 2.3
- Mists of Pandaria update.
* 2.1 to 2.2
- New option in global config to disable the minimap button (saved per character).
- New option for text width, which limits the maximum length of a text widget. Default value of 0 means "unlimited width".
- In config mode, bars show effect name again, instead of effect ID, when a valid ID was given.
- Bar icon is now clickable in config mode, so you can right-click it to show bar config window, or click & drag it to move the bar.
- Input boxes now accept new input when losing focus, as if you pressed the enter key, instead of reverting to old value. They still revert to old value when pressing escape key.
* 2.0 to 2.1
- Minimap button, yay! :)
- Effect names can now be enclosed in double quotes (e.g. "Ready, Set, Aim…" to avoid being treated as a comma-separated list).
- Fixed error in the version upgrade function on a clean install.
- Fixed bug where Custom bar with Another Bar Activated trigger caused an error, if a bar with a matching effect name did not exist.
- Fixed bug where weapon enchant tracking was causing errors.
* 1.13 to 2.0
- Replaced context menu with window-based configuration
- Moved profile settings to global configuration panel
- Unlimited text widgets with separately configurable position and style
- Text outline and shadow settings
- Icon position and size settings
- Item cooldown by name works again
- Fixed handling of combat log events for patch 4.2, which caused multi-aura bars to never be removed
- Fixed bug where a multi-aura bar sometimes duplicated itself and caused another bar to get removed instead.
* 1.12 to 1.13
- Config menu now updates instead of closing when an option is changed
- Config menu now uses colored squares for color options
- Fixed bug where cooldown bar with a pet spell sometimes would not trigger
- Fixed bug where changing to a profile which includes a sorted group sometimes triggered an error
* 1.11 to 1.12
- New setting for name text alignment left/center/right
- Fixed bug where previous bar offset fix was only applied to setup mode, not run mode
- Fixed bug where group background wouldn't align properly right after logging in
* 1.10 to 1.11
- Fixed bug where bars were offset by one pixel upwards from group background if group grow direction was set to "down"
* 1.9 to 1.10
- New fast blinking phase right before the bar expires
- New config menu option to copy animation settings
- Fixed bug where bars would consume CPU when "always visible" but not active
- Fixed bug where bars were showing last instead of first effect in a comma-separated list when "always visible" but not active
- Fixed bug where bars with infinite duration and blinking disabled showed as empty instead of full
- Fixed bug where bars with infinite duration were flashing. That was only meant for Usable bars.
- Give priority to spellbook icons over cached icons even when cache hit already exists
* 1.8 to 1.9
- New effect type "MultiAura"
- New effect type "Weapon Enchant"
- New effect type "Auto Attack"
- Limited config menu width so it doesn't grow too large with a comma-separated effect list
- Slightly improved memory consumption
- Polished bar behavior when always shown. The icons and blinking now work correctly when bar visibility is set to "Always Visible".
* 1.7 to 1.8
- fixed bug where cooldown bars wouldn't get updated if the cooldown got canceled while global cooldown is up
- fixed bug where Time Format setting didn't apply to bars
- New "Enabled" bar setting
- Event-driven bar updates for major CPU improvement
* 1.6 to 1.7
- Fixed bug where the bars would flicker shortly right after logging in / reloading ui
- Added support for multiple effects on the same bar with comma-separated list
* 1.5 to 1.6
- Fixed bug where disabling fade-out animation made the bar always hidden
- Bars are now click-through in run mode so they don't interfere with view rotation
- Added setting for precise X,Y group positioning
- Added setting for spark width and height
- Added setting to rename current profile
- New feature: link the profile to current spec (Profile settings -> Link to current spec)
- New feature: sort bars by time left (Group settings -> Sorting by time)
- New feature: control bar visibility (always / when active) (Style -> Visibility)
* 1.4 to 1.5
- Fixed bug where cooldowns wouldn't reset without running out (e.g. via effects such as Cold Snap or Arena match starting)
- Bar animations
- Custom display name
- Removed effect type "Internal Cooldown", use "Custom" type instead
- New effect type "Custom", takes custom duration and trigger
- Copy settings from one bar to all the other bars
* 1.3 to 1.4
- New effect type "Usable" to track spell/item usability
- Tracking auras with 0 duration (e.g. Heroic Presence) now works
- Tracking of multiple auras with same name is now possible (e.g. double Berserk)
via the "Which when multiple" option in the aura settings
- Internal cd redesigned. Effect needs to be tracked by another bar. Triggering
via multiple effects is now possible by giving a coma-separated list.
* 1.2 to 1.3
Fixed bug with textures and fonts menu getting too big.
Fixed bug where aura icon wouldn't show up if "Sum stack from all casters" was on
Pixel-perfect graphics when full-screen or maximized
Added full-group background color and margin
Copying group settings is now possible
When a new bar is created, style is automatically copied from the current one
When a new group is created, settings are automatically copied from the current one
Changed "/cb reset" command to "/cb reset profile"
Added "/cb reset groups" command to only reset group positions
* 1.1 to 1.2
LibSharedMedia support for bar textures and fonts
Moved "Append CD" style option to Show=>CD menu
Separate visibility option for name and aura count
Option to change which side of the name aura count is at
Option for icon zoom, to hide the ugly borders
Ability to fine-tune performance via /cb update [interval]
* 1.0 to 1.1
Improved config menu according to initial feedback.
Bar and group creation is now more accessible (New, Delete menus).
Copy-pasting of all bar settings is now possible.
Addon development takes time and dedication. I have just finished my studies and now I'm looking for a job in the games industry. Temporary jobs take a lot of time and pay little, which doesn't leave me much time to work on the addons. If you enjoy using this addon and find it beneficial to your World of Warcraft experience, you can help me find more time to develop it further by donating. Thank you!