15

I work on my computer nearly all day every day. I know I should be looking away every 30 minutes to an hour to exercise my eyes.

I'm looking for some sort of software that will basically block me from using my computer every 30-60 minutes for a minute. It would be preferred if it paused any audio and video playing as well.

I'm using Windows 7 (64-bit).

  • 3
    Not a software but I do this by having a small glass that needs refilling every so often, so I have to go to the kitchen. Good Question and welcome to Software Recommendations! – Angelo Fuchs Mar 20 '15 at 12:08
  • Get addicted to a caffinated beverage you need to go and refill every hour (and make space for more). For an added bonus, ensure you need to walk a bit to the refill location. – Thorbjørn Ravn Andersen Mar 20 '15 at 23:18
12

Workrave is a great opensource program for this task:

Workrave is a program that assists in the recovery and prevention of Repetitive Strain Injury (RSI). The program frequently alerts you to take micro-pauses, rest breaks and restricts you to your daily limit. The program runs on GNU/Linux and Microsoft Windows.

Apart from the alerts it can also be configured to actually block your inputs.

Another great feature is that it automatically counts the time you don't spend at the computer as a break, so you don't need to bug it manually when you go for a coffee.

  • I was going to recommend this as well because it also suggests anti-RSI exercises – Jan Doggen Mar 20 '15 at 15:53
  • I came to recommend Workrave as well. Wonderful app, I've used it on Linux and Windows desktops. – dotancohen Mar 20 '15 at 19:29
6

This could be done with an AutoHotKey script. AutoHotKey is a powerful Windows application to automate and customize actions. It is free and portable.

The following script minimized all open windows, blocks input from keyboard and mouse, and shows you a message to take a break. The timers can are customizable as well as the message. In this example I have set them to 20 seconds break for every 20 minutes of work. This script requires running as administrator

#NoEnv
#Persistent
#SingleInstance

SendMode Input

;; Configuration
MyWorkTime = 1200000 ; in milliseconds
MyBreakTime = 20000  ; in milliseconds
MySplashMessage = "Take a break" 

;; Execution
SetTimer,takeBreak,%MyWorkTime%
return

takeBreak:
WinMinimizeAll
BlockInput, on
SplashTextOn,,,%MySplashMessage%
Sleep, %MyBreakTime%
SplashTextOff
BlockInput, off
WinMinimizeAllUndo
return

In case you don't have administrator privileges, then the best I could do is block mouse movement and specific keypresses. For example, the following script blocks the mouse and the Alt+Tab key combination. You can add other key combinations by reproducing the line Hotkey !Tab, BLOCKED and replacing !Tab with the desired key using this keylist

#NoEnv
#Persistent
#SingleInstance

SendMode Input

;; Configuration
MyWorkTime = 1200000 ; in milliseconds
MyBreakTime = 20000  ; in milliseconds
MySplashMessage = "Take a break" 

;; Execution
SetTimer,takeBreak,%MyWorkTime%
return

takeBreak:
WinMinimizeAll
BlockInput, MouseMove
Hotkey !Tab, BLOCKED
SplashTextOn,,,%MySplashMessage%
Sleep, %MyBreakTime%
SplashTextOff
BlockInput, MouseMoveOff
Hotkey !Tab, off
WinMinimizeAllUndo
return

BLOCKED:
return

To pause/play audio and video, you can add Send, Media_Play_Pause before and after the Sleep command. I didn't include it in the scripts because it is a toggle function which would also play any paused media before locking, which is the opposite of what's requested.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.