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'), and `german'.
- 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.
- 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
- 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@icir.org
http://www.icir.org/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.