Instead of opening a pop-up window, the button (browser action) should probably just cycle though the three available modes. This way, any desired state can be reached with either one or two clicks on the button -- while currently, it needs a click to open the pop-up, then moving the cursor to the desired state, and finally activating it with another click...
(If someone prefers the list selection for whatever reason, they can still use it through the button's context menu, which basically implements the same functionality...)
Also, the hotkey should probably also cycle through modes -- which in this case could simply be implemented as the browserAction. (With _execute_browser_action as the command in the manifest.)
This is a very interesting thought indeed. I have two points to say:
It would be easier for "advanced" users to handle this way, but not for casual ones. And by advanced I don't mean just experienced with internet guys. For example me, I have 3-4 extensions used in my browser, do you think I ever cared to check out if there are some commands I can use from the keyboard? I want to install the extension and see it working. I don't want to learn things like looping through the available modes. If something isn't working - I know I can open the popup and change something there. It's the casual UX, but it's good. It's better to have the option to activate different modes from shortcuts - it's partly implemented in PopUpOFF, I'm still considering whether we need more shortcuts or not.
Performance. Initializing the new mode is the most performance-reducing thing - so making a cycle through would be not very performance-friendly
Anyway it's an interesting thought, I will think about what can be improved, thank you:)
Instead of opening a pop-up window, the button (browser action) should probably just cycle though the three available modes. This way, any desired state can be reached with either one or two clicks on the button -- while currently, it needs a click to open the pop-up, then moving the cursor to the desired state, and finally activating it with another click...
(If someone prefers the list selection for whatever reason, they can still use it through the button's context menu, which basically implements the same functionality...)
Also, the hotkey should probably also cycle through modes -- which in this case could simply be implemented as the
browserAction
. (With_execute_browser_action
as the command in the manifest.)