Bug 847 - micro and break timers don't start after break until key are pressed
Status:
RESOLVED FIXED
Component:
Debian
Version:
1.9.0
Hardware:
PC Linux
Importance:
P3 normal
Target Milestone:
---
Assignee:
Rob Caelers
URL:
Depends on:
Blocks:
Reported:
Jul 9 2009 17:25:01 UTC
by:
Gus Gustafson
Modified:
Sep 4 2010 22:00:53 UTC
CC List:
an**@gm**.com
Kees-Jan Dijkzeul
WhoWhenWhatRemovedAdded
Kees-Jan DijkzeulJul 10 2009 09:10:03 UTCccKees-Jan Dijkzeul
Rob CaelersJul 15 2009 20:33:32 UTCcomponentDebianCore
op_sysLinuxAll
severitynormalenhancement
Rob CaelersJul 15 2009 21:41:56 UTCccan**@gm**.com
Gus GustafsonJul 16 2009 15:33:39 UTCcomponentCoreDebian
op_sysAllLinux
severityenhancementnormal
Rob CaelersJan 4 2010 20:46:39 UTCstatusNEWRESOLVED
resolutionFIXED
Kees-Jan DijkzeulJan 5 2010 07:24:24 UTCstatusRESOLVEDREOPENED
resolutionFIXED
Rob CaelersSep 4 2010 22:00:53 UTCstatusREOPENEDRESOLVED
resolutionFIXED
Description
Gus Gustafson  Jul 9 2009 17:25:01 UTC
this is true of the micro breaks and I am pretty sure of regular breaks too.

if I am reading something on the screen, not typing, I want workrave to automatically begin the timer after the previous break finishes because I use workrave to remind me to take eye breaks and walking breaks, even if i am not touching the computer at all.

currently, you have to press keys repeatedly to get the countdown going. sometimes pressing an arrow key twice will work, sometimes you have to press them repeatedly. strange...

[using ubuntu jaunty, the GUI workrave in the repository.]
Comment 1
Kees-Jan Dijkzeul  Jul 10 2009 09:10:03 UTC
In its default configuration, workrave only monitors keyboard and mouse activity, so as long as you keep pressing keys or moving the mouse, the timers keep going, otherwise, they stop.

If you open the "preferences" window, you'll find that the Micro-break and Rest break tabs (in the "Timers" section) have a checkbox labeled "Suspend timer when inactive". If you uncheck those, you can use workrave to remind you to break even when you are not touching the computer: Once the timers start running, they will not stop again until you have a break.

Still, even in this mode, you have to press some keys to get the timer going. This is so on purpose, because workrave has no way of knowing whether or not you've returned from your break. If workrave started the timers for you immediately after the rest break is over, and you took a (very long) walking break, then you would not be back at the moment workrave starts the timer again. In fact, it is very well possible that you arrive only a few minutes before the timer expires again, leaving you with only a very small time you are allowed to work.

It is true that you have to press keys repeatedly to get the timers going. This was also done on purpose. Modern mouses generate small movements, every now and then, and we didn't want those to start the timers. Also we didn't want the timers to be started when you office cleaning staff briefly touches your computer, as well as in some other cases. So basically, to get the timers running (and keep them running), you have to have somewhere between 1 and 5 seconds between keypresses.

I'm hoping this reply clarifies some of the inner workings of workrave. I am a bit uncertain, though, what exactly is the problem you are reporting?
Comment 2
Gus Gustafson  Jul 10 2009 14:55:31 UTC
i see your reasoning, but I think, in the least, it is less applicable to microbreaks, as typically you are only just looking away, perhaps standing for a moment, just until the break is over (if you'll take a longer break, you are able to notify workrave of this manually.) but in both cases, micro/regular, I think you should at least give the user the the option in preferences "require mouse/keyboard input to restart timer after break?"
consider this: for one thing, i write in jdarkroom, a java app that fills the whole screen. i also use reading programs that take up the whole screen. so, along comes a microbreak. when it's over, i have to start pushing arrow buttons back and forth to restart the timers. and since i can't see the timers with full screen programs, i have to press the arrow maybe 10 times to ensure the timers actually start, as i have witnessed it not work with just a few inputs before. i think that this is kind of silly/tedious.
there is a mac program "Time Out" that lets you "Restart timers", in case you took a longer break while working in the mode of auto restarting timers without input. if these two options could be added to workrave, it would be much appreciated, as it really better suits the way many people often use the computer, ie--with little to no input if reading or writing very slowly/intermittently.
Comment 3
Kees-Jan Dijkzeul  Jul 15 2009 10:42:02 UTC
As a design approach, we prefer "doing the right thing by default" over "adding an option to...". I can see your point, that at least for micropauses, it makes more sense to restart the timer directly after finishing the break. Perhaps we were a bit hasty in turning that off.

For restbreaks, starting the timer directly after the break is (IMHO) the wrong thing to do. You, in part, admit so by requesting a "restart the timer" option, effectively undoing the auto-start.

As for manually starting the timers: I admit that workrave's activity detection algorithm is a bit complex. On the other hand, I can think of no simpler implementation that still meets all requirements. Having said that, pressing one key, then waiting 2 seconds, and then pressing another key should always start the timers.
Comment 4
Gus Gustafson  Jul 15 2009 15:53:19 UTC
thanks for your reply.

i guess i agree that, for restbreaks, having to manually reset the timer would already be interacting with comp to restart timer anyhow.

but for microbreaks, i think my point is valid, as you acknowledged, and i propose that such an option ("require mouse/keyboard input to restart timer after break?") be added to the microbreak prefs. should i change the current thread's importance to 'enhancement' or should i propose it in a new thread?
Comment 5
Rob Caelers  Jul 15 2009 20:33:32 UTC
IMHO you should not have to change the preferences for normal daily use. You shouldn't need to go the preferences each time you start/stop reading to check/uncheck "Suspend timer when inactive" and "require mouse/keyboard input to restart timer after break?". Preferences are for more or less fixed, long-term settings.

How about adding a 'reading mode' checkbox to the main menu. When enabled "Suspend timer when inactive" is enabled for all breaks; "require mouse/keyboard input to restart timer after break?" is disabled only for the micro-break (no further configuration possible)

Would anyone notice if I also removed the "Suspend timer when inactive" checkbox ? :-)

(changing bug to enhancement)
Comment 6
Rob Caelers  Jul 15 2009 21:41:56 UTC
*** Bug 818 has been marked as a duplicate of this bug. ***
Comment 7
Gus Gustafson  Jul 15 2009 23:09:04 UTC
hi rob,

sorry to be a pest, but that wouldn't really suit my uses: if i could have the option to not require input in order to restart microbreak timer, this is an option that i would want enabled all the time, not something that i would ever be changing.
and even if i am reading, or thinking a lot, or doing whatever, i want to be told of microbreaks and keep the timer going, because i use rsi programs to make me take eye and stretching breaks, as i think it's good to frequently stand for a quick stretch and look away to prevent near-focus eye strain. so i would not want the timers stopped if you went with a reading mode option.

i actually like workrave for its configurability. there are a couple other apps in the repositories for rsi that i passed up as they were too limited. i think workrave is probably the best rsi app out there on ANY platform, but this one point is a real annoyance, at least for me.

thanks for your consideration.
Comment 8
Kees-Jan Dijkzeul  Jul 16 2009 08:21:07 UTC
If I understand Rob's proposal correctly, you would leave his "reading mode" turned on permanently, and have exactly what you want.

I, on the other hand, am most of the time "not reading", and would turn reading mode on only incidentally. Rob has a point, that this should be easier than opening the preferences dialog, locating the right tab, and toggling check boxes (for all three breaks).
Comment 9
Gus Gustafson  Jul 16 2009 15:33:39 UTC
his suggestion doesn't work for me:

rob says: [How about adding a 'reading mode' checkbox to the main menu. When enabled, "Suspend timer when inactive" is enabled for all breaks...]

But, i do NOT want "timers suspended when inactive", because as i said, i will not be typing or doing anything to the computer, and yet i still want microbreaks every 5 minutes. not 6 or 8 or 10 or 30 minutes due to "inactivity" just because i hadn't touched the computer for a while but i was sitting at the desk writing with pen and paper or whatever.

the way it is now, workrave is biased toward preventing wrist rsi. implementing the options i have suggested will allow people to use it also to prevent eyestrain and body immobility strain, even if they are not constantly interacting with the computer.
Comment 10
Kees-Jan Dijkzeul  Jul 16 2009 17:20:01 UTC
Oops, yes, sorry.

Rob should have typed "suspend timers when inactive is disabled for all breaks". I  pointed out to Rob offline that he mistyped, and then forgot all about it.

With this modification to Rob's proposal, would it work for you?

Once again my apologies (and Rob's) for the confusion
Comment 11
Gus Gustafson  Jul 16 2009 18:11:00 UTC
yes, in that case, i think his suggestion would be a great benefit to me and any who use rsi apps in this way. thanks for the conversation.
Comment 12
Rob Caelers  Jan 4 2010 20:46:39 UTC
The latest nightly build contains the reading mode as discussed. I'm closing this bug, but feel free to give feedback on the feature.
Comment 13
Kees-Jan Dijkzeul  Jan 5 2010 07:24:24 UTC
I'm briefly looking at this on windows:

- When right clicking on the sheep in the system tray, there is a menu item "reading". That's a bit terse. "Reading mode" would be better IHMO.
- Same goes for the workrave window
- When right clicking on the workrave toolbar, "reading" appears as a submenu of "statistics" ?!?
Comment 14
Kees-Jan Dijkzeul  Jan 5 2010 11:12:06 UTC
I am unable to get this to work properly. When my micro-break finishes, the timers start running again for exactly one second, then they stop, and my natural break commences.
Comment 15
Gus Gustafson  Mar 10 2010 15:45:52 UTC
many thanks for adding this feature. i was able to test it on a windows machine and it seems to work as desired. i look forward to seeing it incorporated into the ubuntu repository version.
Comment 16
Rob Caelers  Sep 4 2010 22:00:53 UTC
The reading mode is available in 1.9.2. The issues mentioned by Kees-Jan are fixed.