Now...expected behavior is that the Throbber would disapear, and the pref would be set to false, since it is visible by default and the pref is true...what actually happens is the pref is set to false and SOME OTHER toolband is hidden.

HUH?? That's what I said too...

So, after playing with this for a bit, I found out the correct index numbers that needed to be passed to m_wndReBar.SetVisibility()

0 for "Url Bar"
1 for "Throbber"
2 for "Layers"
3 for "Tool Bar"
4 for "QuickLaunch"
5 for "Menu"
6 for "Bookmarks"

and so on...

The problem is that these don't match the index in the pref file, which says:

In accel.cfg use the values 2000 - 2049 instead of ID strings. In my setup I have the menu bar (which is static) and on the next row, the toolbar (back,forward,reload,stop), url bar, and throbber. 2000 = url bar, 2001 = throbber, 2002 = tool bar.
So ALT 1 = 2002 in accel.cfg toggles the tool bar. I have no idea (yet) what the deal is with the order. In prefs.js they're in screen order (0 = tool bar, 1 = url bar, 2 = throbber). Note there is a ID_VIEW_STATUS_BAR command which toggles the status bar.

That will set all the visible to invisible, but since we're not changing the perf file there, they will still all have the same settings, so running the same macro again will reshow the originally showing toolbands--exactly like the fullscreen plugin does.

The index numbers are assigned in toolbar creation order so the URL bar will always be first (0) and the throbber second (1), then the plugins, most likely in the order they are in the kplugins subdirectory.

On the issue of accelerators here's a minor update - currently the pgup and pgdn keys are VK_PRIOR and VK_NEXT (apparently a win32 thing). There should be aliases VK_PAGE_UP and VK_PAGE_DOWN. Adding the following to AccelParser.cpp addresses this (bug 376):