eonpatapon / gnome-shell-extension-caffeine

Disable screensaver and auto suspend

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clicking "infinite" both changes a preference and activates Caffeine mode

Flimm opened this issue · comments

Edit: Old title of this issue: "infinite" is checked even when Caffeine is disabled

I'm using Caffeine version 44. Have a look at this screenshot from the README:

screenshot-timer-off

The timer is off. However, the item "infinite" is checked with a tick symbol ✔️. I don't think any of the items (5:00, 10:00, 30:00 or infinite) should be checked when caffeine is off.

When caffeine is on, the "Caffeine" widget lights up, like here:

screenshot-timer-on

Only when Caffeine is on and the "Caffeine" widget lights up do I expect a tick symbol ✔️ to be used.

Thank you to everyone who has a look at this!

I think it's the good behaviour because it tells you that when you activate caffeine it will run for 5, 10, 30 or an infinite time.

You can see this like a preference setting and you'd like to know the value that is set.

I agree with eon here, as when Caffeine is inactive, having a tick next to the infinite timer indicates that's the option to be used when enabled. The tick is to indicate the timer preference, where as the blue indicates whether the timer is running (as well as the countdown).

Reading your comments made me go "aha!". I didn't realise other people were viewing the options 5, 10, 30, or infinite in this way. I now have a new suggestion for a design which should satisfy that group of people as well. But first, let me describe the current design.

Current design (design 1):

  • Clicking on an option 5, 10, 30 or infinite sets the preference to that time limit and activates caffeine, while also closing the menu. If caffeine is already active, clicking on this option resets the time limit to that option.
  • Clicking the main menu item enables caffeine mode using the previously selected time limit, or disables it if it is already active
  • The checkmark indicates which preference is saved, it does not indicate whether or not caffeine is active
  • The colours of the main menu item, as well as the systray icon, indicate whether caffeine is currently active or not

My problem with this design is that the menu items 5, 10, 30 infinite have two behaviours: they both set the time limit and they enable or disable caffeine mode. This makes the checkmark next to it confusing: does it refer to the time limit preference, or to the activation status of caffeine mode, or both? I was confused by this.

Proposed design (design 2):

This is the design that I suggested in my original comment, which I'm now abandoning

Proposed design (design 3):

  • Clicking on an option 5, 10, 30 or infinite sets the preference to that time limit but does not activate or deactivate caffeine, nor does it close the menu. If caffeine mode is actively running, then clicking one of these options resets the timer.
  • Clicking the main menu item enables caffeine mode using the currently enabled time limit, or disables caffeine mode if it is already active
  • The checkmark indicates which preference is saved or being used, it does not indicate whether or not caffeine is active
  • The colours of the main menu item, as well as the systray icon, indicate whether caffeine is currently active or not

Hi, I agree with @eonpatapon and @stuarthayhurst.

Clicking on an option 5, 10, 30 or infinite sets the preference to that time limit but does not activate or deactivate caffeine, nor does it close the menu. If caffeine mode is actively running, then clicking one of these options resets the timer.

I'm not sure if it's even possible to not close the menu with the actual QuickSettings. Also, I would suggest to follow the behavior of official QuickSettings toggle like "Power Profiles" for example to keep consistent design.
The only difference with Caffeine is that Power Profiles toggle remember the last option selected. I like the way Caffeine work at the moment but eventually it could make sens that Caffeine remember as well the last timing option selected.

The colours of the main menu item, as well as the systray icon, indicate whether caffeine is currently active or not

I'm not sure about changing color in the menu bar as the icon already changed when active/inactive.

Yeah, I feel like clicking a timer option should activate it, to be consistent with the rest of the shell, and that's sort of what I'd expect it to do when clicking an option.

I do think it's probably worth remembering the preference too, as this gives the tick more of a meaning, and then it would also be consistent with Power Profiles.

I'm happy to follow the design in other QuickSettings like "Power Profiles". In my opinion, Caffeine does not currently follow that design. In Power Profiles, items are only checked if they are currently active. Under Wi-Fi connections, items are only checked if they are currently active. Under VPN connections, items are only toggled on if they are currently active. However, for Caffeine, a subitem can be checked even if it is not currently active. This is confusing to someone like me, although I admit that not all users are confused by this.

I'm all for remembering the preference, though. Maybe there is another way we can indicate a saved preference. For example, by making the saved preference bold, or italic, or by appending the string "(last active)" or something.

As #252 has been merged, the current system makes the most sense to me:

  • Enabled / disabled indicated by colour
  • Preference indicated by the tick next to the item

I suppose that is technically inconsistent with the power profiles menu, but the power profiles menu doesn't communicate saved preference, so I think this system is better.

Can this be closed? As far as I'm concerned it's been resolved, but granted I may have misunderstood :)