Minion Beta! - Help us test our new AddOn updater. Get it now!
Download
(19 Kb)
Download
Updated: 03-25-13 07:50 AM
Pictures
File Info
Compatibility:
Thunder Isle (5.2)
Updated:03-25-13 07:50 AM
Created:10-10-10 04:32 PM
Downloads:1,946
Favorites:19
MD5:
Paging
Version: 1.0.4
by: Teomyr [More]
For players who want to get the most out of the default action bar, the Paging addon automatically switches the primary action buttons to 10 different pages, based on customizable macro modifiers. You can, for example, change to different bars based on the target unit's reaction, or page using the Shift and CTRL keys to access more different abilities with the same set of keyboard buttons.

Since Paging uses the default Blizzard action bar, it is quick to set up ‒ there are no extra bars to fiddle around on screen, and it stays out of the way when paging is not necessary. This makes the addon ideal for players who do not want to spend time on configuring a full-blown action bar replacement, but who desire the automatic paging feature that some of them have to offer.

Quick facts
  • Automatic switching between action bar pages
  • Uses the same logic as macro conditionals ([harm], [mod:shift], etc.)
  • Can override stance-based paging, if desired
  • Profile support (can also set default profiles per realm or class)
  • Deals with keybindings automatically
  • No dependencies, requires only the default Blizzard action bar

How it works

Paging changes the action bar so that it switches the bar number depending on the current situation. You specify which page to use using a set of macro conditionals. These conditionals use the same syntax you know from e.g. the /cast command, however with page numbers instead of spell names. Like this:

[mod:shift] 6; [mod:ctrl] 5;

(This is the example profile supplied with Paging. You can use the profile selection menu in Paging's addon settings to copy it to your current profile.)

The meaning of this setting is: "While the shift key is pressed down, choose action page 6. While the control key is pressed down, choose action page 5. In all other cases, use the default action bar."
Action pages 6 and 5 are the extra bars at the lower left and lower right, respectively. You can then access their abilities using Shift-1, Shift-2, and CTRL-1, CTRL-2,

This was just a trivial example of Paging's functionality. While this behaviour could be replicated using key bindings, macro conditionals are far more powerful than that. They can, for example, differentiate between allied and enemy units:

[help] [mod:alt] 2;

Using this selector, whenever you target a friendly unit or press ALT, the action bar switches to the second page, where you can place your beneficial spells. The [mod:alt] is there to play nicely with the ALT selfcast offered by the default UI.

While Paging overrides your default action bar page, the page indicator to the right lights up. If you omit the page number in your selector, Paging switches back to the default action page.

Examples

Shadow Priest: Do not switch to a separate action bar while in Shadowform, keep the default one
Code:
[stance:1] 1;
Shadow Priest: Same as above, but with helpful spells/self-casting on bar 2
Code:
[help] [mod:alt] 2; [stance:1] 1;
Druid: Have healing spells on bar 1 with ALT self-casting, and show damage spells from bar 2 while not shapeshifted and targeting an enemy
Code:
[mod:alt] 1; [nostance, harm] 2;
Switch to two extra bars using SHIFT and CTRL, and also have a separate bar for friendly units and self-casting
Code:
[help] [mod:alt] 2; [mod:shift] 6; [mod:ctrl] 5;
More action bar madness: Same as above, but now has two bars for friendly units/selfcasting toggled with SHIFT
Code:
[mod:alt-shift] [mod:shift, help] 8; [mod:shift] 6; [mod:ctrl] 5; [mod:alt] [help] 2;
Reference

For a list of macro conditionals, please have a look at Wowpedia: Macro conditionals.

The mapping of action bar page numbers is as follows (adapted from Wowpedia: Action Bar and Wowpedia: Stance):
  1. Primary Action Bar
  2. Primary Action Bar
  3. Right Bar
  4. Right Bar 2
  5. Bottom Right Bar
  6. Bottom Left Bar
  7. Druid: Cat Form (Stance 3), Rogue: Stealth (Stance 1), Priest: Shadowform (Stance 1)
  8. Unused
  9. Druid: Bear Form (Stance 1)
  10. Druid: Moonkin Form (Stance 5)

For the classes not mentioned in the list, pages 7 to 10 are unused and free to be used.

You do not have to write selectors for the default stance-based paging (and you shouldn't do that either). This means that e.g. if you're a druid, don't use selectors like [stance:1] 9; [stance:3] 7; [stance:5] 10; to get the usual stance bars ‒ the default behavior already does that for you, so you only have to let it fall back to an empty selector in that case.

Tips

You should always design your modifiers so that they fall back to the default action page if no conditional matches. This is what the semicolon at the end is for: if no page number is given, it resolves to "whatever Blizzard's unmodified action bar would show".
If you forget to do this, you get an interesting, but not usually desired effect where the bar remains in the switched state even after its selector no longer applies.

In the default configuration, Paging recognizes which modifier keys your selector uses and temporarily disables any key combination that could mask this modifier and prevent it from working. For example, if your action button 1 is bound to key "1" and your selector includes [mod:ctrl], Paging will disable an existing key binding for CTRL-1 (which is normally bound to the pet bar). Using [mod:alt-lshift] will disable ALT-1, LShift-1, ALT-LShift-1, ALT-Shift-1 and Shift-1 (which is normally bound to manually switching to the first action bar). These changes are non-permanent and only affect key bindings involving your action buttons. However, if your key binding setup is more complex, you can of course choose to disable this automatic feature and handle such conflicts manually.

Normally, Paging disables itself when the default action bar would be overridden by a special bar, such as when in a vehicle, in a pet battle or while dominating another unit. The reason for this is that it might break unexpectedly if one's selector does not account for these special occasions: If a Shadow Priest were to use the [stance:1] 1; selector from the examples above, using Dominate Mind on an enemy creature would never bring up the dominated unit's actions. Paging therefore gives priority to these special bars.
If you want to tweak this behaviour, for example if you still want quick access to your own abilities while dominating some unit, you can disable this safety measure by incorporating any or all of the macro modifiers overridebar, possessbar and petbattle in your selector with a lower priority.

Feedback

If you have any issues with the addon, feel free to report them in the issue tracker on GitHub. Alternatively, you can also leave comments on WoWInterface.

Locales for the English, German and French language versions are included; localization help is greatly appreciated!

Beyond the Addon

If you find that you need more advanced features not offered by Paging, such as adding more action bars on screen, moving them or paging multiple bars at once, I suggest that you take a look at other action bar mods. Bartender4, for example, is a customization powerhouse and has been one of my long-time favorite addons. You can re-use the same modifiers as in Paging, so the transition should be seamless ‒ but, as with any addon, keep in mind that additional features require you to spend more time configuring them.
Version 1.0.4 (2013-03-25)
  • Updated for Patch 5.2
  • Fixed paging not working while an extrabar is active
Version 1.0.3 (2012-09-06)
  • Updated for Patch 5.0.4
  • Added option to copy profiles
Version 1.0.2 (2010-10-13)
  • Fixed an error occurring while changing an action button keybinding
Version 1.0.1 (2010-10-12)
  • Added French locale (thanks, Adys!)
  • Minor help text changes
Version 1.0 (2010-10-11)
  • Initial release
Optional Files (0)


Archived Files (4)
File Name
Version
Size
Author
Date
1.0.3
19kB
Teomyr
09-06-12 08:20 AM
1.0.2
11kB
Teomyr
10-13-10 02:53 PM
1.0.1
11kB
Teomyr
10-12-10 01:57 PM
1.0
11kB
Teomyr
10-10-10 04:32 PM


Post A Reply Comment Options
Unread 11-25-10, 10:21 AM  
Amorelia
A Murloc Raider

Forum posts: 6
File comments: 11
Uploads: 0
I just checked in dance I do go to action bar 8, but it is a copy of my main bar. Not sure if this is how it works since I haven't used standard blizzard bars ever.

Here is my modifier setup: [mod:shift] 2; [mod:alt] 3;.

I use an N52 gamepad with the modifiers on my extra mouse buttons if that helps.
Amorelia is offline Report comment to moderator  
Reply With Quote
Unread 11-24-10, 04:56 PM  
Teomyr
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 10
Uploads: 2
Originally posted by Amorelia
I'm getting some strange behavior on my subtlety rogue. When I use Shadow Dance the addon goes to action bar 1 instead of the stealth bar and if I use a modifier while in shadow dance sometimes it doesn't revert back to the stealth bar when I restealth. The modifier behavior doesn't happen all the time, plus I have shift+arrow disabled in the blizz keybindings so it's not that.

Aside from this little quirk I have been very happy with this addon, keep up the good work!
Could you post your exact modifier configuration so I can test it? On my rogue, it switches to page 8 correctly when using Shadow Dance (unless I override that).

The stance handling is a bit quirky, but there is hardly a better way. If Paging becomes active when one of your modifier applies, it has to get rid of the "bonus action bar" that is used while your character is in a stance, otherwise it would override the current main action bar page. But since that bonus bar is protected, Paging can only hide or show it at certain times, namely when the "state driver" tells it that the currently active modifier has changed. From experience, these state changes are sometimes delayed, which might explain the occasional hiccup you're seeing.

Unfortunately, there also doesn't appear to be a macro conditional to check for Shadow Dance.
Teomyr is offline Report comment to moderator  
Reply With Quote
Unread 11-24-10, 08:34 AM  
Amorelia
A Murloc Raider

Forum posts: 6
File comments: 11
Uploads: 0
I'm getting some strange behavior on my subtlety rogue. When I use Shadow Dance the addon goes to action bar 1 instead of the stealth bar and if I use a modifier while in shadow dance sometimes it doesn't revert back to the stealth bar when I restealth. The modifier behavior doesn't happen all the time, plus I have shift+arrow disabled in the blizz keybindings so it's not that.

Aside from this little quirk I have been very happy with this addon, keep up the good work!
Amorelia is offline Report comment to moderator  
Reply With Quote
Unread 11-10-10, 09:51 PM  
gruvsyco
A Kobold Labourer

Forum posts: 0
File comments: 1
Uploads: 0
This is great!
gruvsyco is offline Report comment to moderator  
Reply With Quote
Unread 10-18-10, 01:16 AM  
tecu
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 23
Uploads: 1
Yeah, the error is gone now that I downloaded the update you pushed three days before I reported it.

I'm just going to go over here now.
tecu is offline Report comment to moderator  
Reply With Quote
Unread 10-17-10, 04:48 AM  
Teomyr
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 10
Uploads: 2
Originally posted by tecu
ME AGAIN.

I got this error when I unbound a key from my main action bar:
[...][/code]
My apologies; an unfortunate oversight on my part
Are you using the current version 1.0.2? It should be fixed there. If not, tell me!
Teomyr is offline Report comment to moderator  
Reply With Quote
Unread 10-16-10, 06:14 PM  
tecu
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 23
Uploads: 1
ME AGAIN.

I got this error when I unbound a key from my main action bar:
Code:
Message: Interface\AddOns\Paging\Paging.lua:128: attempt to concatenate local 'primary_binding' (a nil value)
Time: 10/15/10 14:33:53
Count: 4
Stack: Interface\AddOns\Paging\Paging.lua:128: in function `Paging_UpdateBindings'
Interface\AddOns\Paging\Paging.lua:177: in function <Interface\AddOns\Paging\Paging.lua:162>
[C]: in function `SetBinding'
...ace\AddOns\Blizzard_BindingUI\Blizzard_BindingUI.lua:149: in function `KeyBindingFrame_UnbindKey'
...ace\AddOns\Blizzard_BindingUI\Blizzard_BindingUI.lua:261: in function <...ace\AddOns\Blizzard_BindingUI\Blizzard_BindingUI.lua:152>

Locals: (for index) = 9
(for limit) = 12
(for step) = 1
button_index = 9
command = "ACTIONBUTTON9"
primary_binding = nil
(for generator) = <function> defined =[C]:-1
(for state) = nil
(for control) = "alt"
modifier = "alt"
(*temporary) = "alt"
(*temporary) = "-"
(*temporary) = nil
(*temporary) = ""
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to concatenate local 'primary_binding' (a nil value)"
PagingOptions = "[mod:alt] 2; [mod:shift] 6; [mod:ctrl] 5;"
PagingFrame = <unnamed> {
 0 = <userdata>
 WrapScript = <function> defined @Interface\FrameXML\SecureHandlers.lua:718
 SetFrameRef = <function> defined @Interface\FrameXML\SecureHandlers.lua:729
 Execute = <function> defined @Interface\FrameXML\SecureHandlers.lua:713
 UpdatePageDisplay = <function> defined @Interface\AddOns\Paging\Paging.lua:12
 UnwrapScript = <function> defined @Interface\FrameXML\SecureHandlers.lua:724
}
PagingBindingsUpdated = false
tecu is offline Report comment to moderator  
Reply With Quote
Unread 10-12-10, 12:37 PM  
tecu
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 23
Uploads: 1
oh no kidding

I should have read the info page more closely (whoops). Awesome, thanks!
tecu is offline Report comment to moderator  
Reply With Quote
Unread 10-12-10, 03:10 AM  
Teomyr
A Kobold Labourer
AddOn Author - Click to view AddOns

Forum posts: 0
File comments: 10
Uploads: 2
Originally posted by tecu
This is freaking sweet. I'm using this:

[mod:alt] 2; [mod:shift] 6; [mod:ctrl] 5; 1

which is pretty much the same as your example but with an alt key as well as the trailing ; 1 so it switches back to the first bar automatically.

The only feature I'd suggest would be either a checkbox to enable default stance changes or a (class-specific?) text block in the config UI which would explain to the user how to make it behave like the default UI. Something like:

"To enable the default stance changes for Warriors, include the following conditionals:
[stance:1] 7; [stance:2] 8; [stance:3] 9"

Anyway. Thanks for the awesome mod.
Thanks! Glad you like it

Note though that you don't need to specify the default page. If, in your selector, you leave out the 1 at the end (but keep a trailing semicolon - important!), you get all the default functionality back, including class-based paging. No need to emulate it with your own conditionals

Background: if for any of your conditionals the page number is missing, e.g. in "[mod:alt];" it switches back to whatever the default page would be at that point. This greatly helps with things that unexpectedly change that page, like Mind Control or the boss fight at the end of Drak'Tharon Keep (the action bar addon I've used broke on that, or I quite likely misconfigured it, and I always had to stand there just meleeing the boss...). For that reason, I try to make my selectors fall back to the default page. Makes a lot of things easier
Teomyr is offline Report comment to moderator  
Reply With Quote
Unread 10-11-10, 12:55 PM  
tecu
An Aku'mai Servant
AddOn Author - Click to view AddOns

Forum posts: 30
File comments: 23
Uploads: 1
This is freaking sweet. I'm using this:

[mod:alt] 2; [mod:shift] 6; [mod:ctrl] 5; 1

which is pretty much the same as your example but with an alt key as well as the trailing ; 1 so it switches back to the first bar automatically.

The only feature I'd suggest would be either a checkbox to enable default stance changes or a (class-specific?) text block in the config UI which would explain to the user how to make it behave like the default UI. Something like:

"To enable the default stance changes for Warriors, include the following conditionals:
[stance:1] 7; [stance:2] 8; [stance:3] 9"

Anyway. Thanks for the awesome mod.
tecu is offline Report comment to moderator  
Reply With Quote
Unread 10-11-10, 11:32 AM  
Agata
A Murloc Raider

Forum posts: 5
File comments: 38
Uploads: 0
<3
Agata is offline Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: