NAME
xwrits - reminds you to take wrist breaks
SYNOPSIS
xwrits [-display display]
[typetime=time] [breaktime=time] [other options]
DESCRIPTION
Xwrits reminds you to take wrist breaks
for prevention or management of repetitive stress injuries. When
you should take a break, it pops up an X window, the warning
window. You click on the warning window, then take a break. The
window changes appearance while you take the break. It changes
again when your break is over. Then you just resume typing. Xwrits
hides itself until you should take another break.
The typetime option changes the amount of time between
breaks, and the breaktime option changes the length of a
break. The defaults are 55 minutes and 5 minutes, respectively.
Xwrits's graphics are brightly colored pictures of a wrist and
hand. The hand clenches and spreads ``as if in pain'' on the
warning window, slumps relaxed during the break, and points forward
valiantly when the break is over. It is trapped behind bars while
the keyboard is locked. Other gestures are included (see the
+finger option). You can also use your own pictures: see the
warning-picture, rest-picture, and
ready-picture options.
Normally, xwrits works through annoyance -- it flashes until you
stop typing. However, an option makes it actively prevent you from
typing by locking the screen. See +lock below.
Xwrits notices when you leave your workstation idle, and treats
a long idle period as if you took a break. You can turn this off
with the -idle option. With the +mouse option, it
will also monitor your mouse movements -- you won't be able to move
the mouse during a break without aborting the break.
Each wrist break normally lasts the same amount of time. This is
what doctors suggest, but, if you'd like, the +quota option
will reward you for taking small breaks by reducing the length of
the next official break.
Some doctors recommend taking a short ``microbreak'' every five
minutes, as well as a longer break every hour. To use xwrits this
way, just run two xwrits processes, one for the microbreaks and one
for the longer breaks.
ESCALATION
It is easy to put the warning window aside ``for
5 minutes'' and ignore it for fifty. The after=delay
option causes xwrits to escalate its activity over time, making it
harder to ignore.
Options following after come into effect after you have
ignored the warning window for delay. In other words,
xwrits's behavior escalates after delay. For instance, with
this command line,
xwrits flashtime=:2 after=10 flashtime=:.03
the warning window will begin flashing very quickly if it is
ignored for 10 minutes.
Any options preceding an after option also apply
following it, unless you explicitly cancel them. For example:
xwrits +finger after=10 -finger
Multiple after options create a series of escalations.
Delay arguments are cumulative, so ``after=10 after=10''
means the same as ``after=20''.
One interesting use for after is to make a break's length
depend on how long you waited to take it. For example:
xwrits break=5 after=10 break=7
Here, a wrist break normally takes 5 minutes. However, if you
ignore the warning window for 10 minutes or more before taking a
break, the wrist break will last 7 minutes.
OPTIONS
All options may be abbreviated to their unique
prefixes. Some may be abbreviated further, in which case the
smallest legal abbreviation is shown in brackets. Options are
processed from left to right.
Options listed as ``+option (-option)'' are
toggles, which can be on or off. A + turns the option on; - turns
it off. Off is the default for most toggle options, and only the on
behavior is described. You can leave off the + sign if you like:
``xwrits +finger'' and ``xwrits finger'' are equivalent. Or you can
say ``-no-finger'' instead of ``-finger''.
Many options take arguments. You can give these after an equal
sign, as in ``xwrits breaktime=2''. Non-optional arguments can also
be given separately, as in ``xwrits breaktime 2''.
Time arguments are expressed in minutes. For example, ``2'' is 2
minutes, ``2.5'' is 2 minutes 30 seconds. Use a colon to specify
seconds: ``2:05.4'' is 2 minutes 5.4 seconds, and ``:5'' is 5
seconds.
- -display display
- Specify the X display. Xwrits monitors this display for
keystrokes and mouse movements, and displays windows on it. You can
simultaneously monitor more than one display by giving this option
multiple times; for example, ``xwrits display :0.0 display
fun-orgy:0.0''.
- +multiscreen (-multiscreen)
- When this option is on, xwrits will open every available screen
on each specified display. Useful for multihead displays.
- typetime=time [t]
- Allow typing for time between breaks. Default is 55
minutes.
- breaktime=time [b]
- The amount of time a break lasts. Default is 5 minutes. This
option can be supplied multiple times; see ESCALATION above.
- after=delay-time
- See ESCALATION above.
- bars-picture=file [bp=file]
- Sets the background GIF image that appears while the screen is
locked. By default, this is an image of bars designed to work with
the usual lock-picture. If you specify your own
lock-picture, however, bars-picture defaults to a
black screen. (Say ``bars-picture="&bars"'' to keep the bars.)
Animations are not acceptable.
- +beep (-beep)
- Xwrits will beep when the break should begin and again when it
is over.
- +breakclock (-breakclock) [bc]
- A clock will appear in the resting window showing how many
minutes remain in the wrist break.
- canceltime=time [ct]
- Allow typing for time after a break is cancelled. You
cancel a break by deleting all xwrits windows with your window
manager. This time should probably be less than the regular type
time. Default is 10 minutes.
- +cheat[=num] (-cheat)
- Allows you to cheat during a break. You can type num
keystrokes before xwrits cancels the break. Default for num
is 5. (If you're using +mouse, mouse movements also count as
keystrokes.)
- +clock (-clock) [c]
- A clock will appear in the warning window showing how many
minutes you've put off the wrist break.
- +finger (-finger) [f]
- The warning window will be rude to you.
- +finger=culture
- The warning window will be rude to you, according to
culture's idea of rudeness. Possible values for
culture are `american' (the default), `korean' (synonyms
`japanese' and `russian'), `german', or the name of any GIF image
file.
- flashtime=time
- The amount of time between flashes of the warning window.
Default is 2 seconds.
- +flipoff (-flipoff)
- Synonym for +finger.
- +iconified (-iconified)
- The warning window will initially appear as an icon.
- +idle[=idletime] (-idle) [i]
- If you leave your workstation idle for idletime or
longer, xwrits will behave as if you took a break. The default for
idletime is the break length (see breaktime above).
idle is on by default.
- +lock[=jump-time] (-lock)
- Xwrits will lock your screen until your break is over. You can
prematurely disable the lock and get a normal warning window by
typing your password (see password below). The
jump-time argument specifies how fast the screensaver will
move; default is 4 seconds. If the keyboard has been grabbed by
another application when the lock is attempted, the lock fails and
a normal warning window appears instead.
- lock-picture=file [lp=file]
- Sets the GIF image that appears while the screen is locked.
Animations are acceptable. See also bars-picture.
- maxhands=num
- No more than num warning windows will appear on your
screen simultaneously. Normally, there will be only one warning
window, but see +multiply below. Num cannot be less
than 1, or more than 137. Default is 25.
- minbreaktime=time
- Sets the minimum break length to time. This option is
meaningful when +quota is on (see below); no matter how many
short breaks you take, the break length will not be shortened below
time. It defaults to half the break time or the quota time,
whichever is larger.
- mono (-mono)
- Xwrits will display its graphics in black and white. This may
be useful if you live in a world with a limited colormap.
- +mouse[=sensitivity] (-mouse)
- Xwrits will monitor your mouse movements. Every couple seconds,
it checks whether the mouse has moved. Movements of more than
sensitivity pixels in any direction are treated like key
presses. Default for sensitivity is 15 pixels.
- +multiply[=breed-time] (-multiply)
[m]
- A new warning window will be created every breed-time.
Default for breed-time is 2.3 seconds.
- +noiconify (-noiconify)
- The warning window will not allow itself to be iconified.
- +once[=count]
- Put up the warning window once, or (with count)
count times, then exit.
- password=password
- The password you type to unlock a locked screen (see
+lock above). Xwrits does not protect this password from
intruders. Therefore, do not use your login password or any other
password you must keep secure. Default is ``quit''.
- +quota[=time] (-quota)
- If you leave your workstation idle for more than time,
the idle time is deducted from the length of your next break. This
option turns the break length into a break quota -- instead of
resting for breaktime consecutive minutes every
typetime, you must rest for a total of breaktime
minutes per typetime. Default for time is 1 minute.
See also minbreaktime.
- ready-picture=file [okp=file]
- Sets the image that appears when your break is over to an
arbitrary GIF. Animations are acceptable.
- rest-picture=file [rp=file]
- Sets the image that appears during your break to an arbitrary
GIF. Animations are acceptable.
- title=text
- title=text
- Xwrits windows will have text for their title, instead
- Xwrits windows will have text for their title, instead
of the default ``xwrits''.
- +top (-top)
- The warning window will try to keep itself above all other
windows on the desktop. (Note: it can be fooled into staying only
partially visible.)
- +verbose (-verbose)
- Xwrits will print a lot of information about the windows on
which it is listening for keystrokes. This is mostly useful for
debugging.
- version
- Prints the version number and some quickie warranty information
and exits.
- warning-picture=file [wp=file]
- Sets the image that appears on the warning window to an
arbitrary GIF. Animations are acceptable.
EXAMPLES
Here is the way I run xwrits:
xwrits typetime=40 finger after 15 clock multiply=5:1.4
This looks pretty spectacular:
xwrits t=0 b=:2 f fla=:.5 m=:.31 max=100 -i
Whee!!
AUTHOR
Eddie Kohler, kohler@cs.ucla.edu
http://www.cs.ucla.edu/~kohler/
http://www.lcdf.org/xwrits/
The xwrits home page (for distributions and so forth).
Idea for idle processing code from xautolock(1)
by Stefan De Troch and Michel Eyckmans
BUGS
Xwrits does not use the X resource database at all.
More options might be nice. So might more careful screen locking
and password protection. I would like to include rude finger
gestures from other cultures (see the GESTURES file in the
distribution for gestures I know about so far).
Please send any bugs, comments, or suggestions to me.
Yes the misspelling is intentional.
Yes it's my left wrist.