STICKYTIME
Dock App.
Min height dock app.
Double size, no decorations.
stickytime-0.5.3.tar.gz Current version 5/28/2004
stickytime-0.5.2.tar.gz
stickytime-0.5.1.tar.gz
stickytime-0.5.tar.gz
stickytime-0.4.1.tar.gz
accessx0951.tar.gz Program to enable stickykey features.
X Accessibility Information
Note: Coming soon! Tooltipper, a program that runs programs and displays output in a tooltip. Also,
stickykey status may display in a tooltip of the size, position, color and font of your choice.
What is Stickytime?
Stickytime is a digital clock that also displays the current state of
the stickykeys and mousekeys as set by an accessibility program. Version 0.5
can execute programs and direct their output to a tooltip (admittedly,
an abuse of the tooltip concept). These programs can be executed by
mouse clicks, automatically every nn minutes, or at specific
times. The tooltip can be logged to a file. Stickytime is also a
simple stopwatch.
It can be run as a normal window, an undecorated window or a dock app.
Latched stickykeys (modifiers) are displayed in lower case, locked in upper.
Modifiers beyond Alt (like Super_L) use the digits 2, 3, and 4. Mousekey
buttons use L, M and R if no clock is displayed and a small dot on the left
side top, middle or bottom if time is being displayed.
Examples:
| cSa |
Control and Alt latched, Shift locked. |
| CA4 |
Control, Alt and the "Windows" key locked. |
The clock (if not in a dock) can rise to the top when modifiers are latched/locked and
lower or erase (unmap) when none are. Use the popup and unmap options.
Installing
Extract the archive "tar xzvf stickytime-0.5.3.tar.gz", cd into the stickytime directory
and type "make". You may the copy the stickytime executable to any location in your path or "su root" and
type "make install".
If you want double sized LED's, uncomment "#define DOUBLE_SIZED_LED" in stickytime.c before you "make".
This is really only useful if you do not run it in a dock.
Executing Programs
Commands are set with the options
-0 to
-9. These correspond to:
-0 mouse-over,
-1 left button, -2 middle, and
-3 right. A scroll wheel can cycle through
-4 to -9.
If button 1 is not defined, it is used for the timer. If the command is prefixed
with a
"+nn", it will be executed every nn minutes. If it is prefixed with
"@hh:mm",
it will be executed at that time. If either is followed by a
"-nn", that will set the
tooltip's timeout in seconds. If
\004 is inserted into the output, all preceding text
will be displayed. Example;
echo -e "Hello\004"; sleep 5; echo "World".
The tooltip can also be logged to a file. To log the entire tooltip, preface it
with a
"!". To log individual lines, preface each one with a
"!". The default
file is
.stickytime.log. Change with
--logfile.
The tooltip colors can be changed by inserting [bg color,fg color] in the tooltip.
This does not affect the default colors as set by --tooltip-bg and --tooltip-fg
Examples
-
-3 +30-5 echo -n "![red,white]";cat /proc/acpi/thermal_zone/THRM/temperature;cat /proc/acpi/fan/FAN/state
- When the middle button is pressed "-3" or every 30 minutes "+30", display the
CPU temperature and fan status. Display for 5 seconds "-5". Log the temperature "!".
Display with red background and white foreground "[red,white]".
-0 'date "+%a %b %-d, %Y"'
- When the mouse moves over the clock "-0", the "date" program is run and its output displayed.
-2 "+15 tail -10 /var/log/messages"
- When the middle button is pressed "-2" or every 15 minutes "+15", the "tail"
program is run displaying the "/var/log/messages" log file.
-3 "+30-5 ical -list"
- Run the program "ical -list" every 30 minutes "+30" or when the right
button is pressed "-3" displaying results in the tooltip and set the tooltip to close after 5
seconds "-5".
-8 '@13:30-10 echo " maillog"; tail -10 /var/log/maillog'
- At 1:30pm "@13:30", send " maillog" to the tooltip "echo", then
execute the "tail" program. Close the tooltip after 10 seconds "-10".
-1 "ax +stickykeys +mousekeys -timeout -stickytwokeydisable"
- Turn on stickykeys and mousekeys when the left button is pressed "-1". You will need "ax"
installed. See accessx.
-3 "ax -stickykeys -mousekeys"
- Turn off stickykeys and mousekeys when the right button is pressed "-3".
Signaling
Stickytime may also be told to display a tooltip by sending it the SIGUSR1 signal. When
stickytime receives this signal, it will execute the first line in the file
~/.stickytimecmd. So, if the first line was:
-4 echo Hello Waldo
and you did:
killall -s USR1 stickytime
"Hello Waldo" would be displayed for 4 seconds.
The following script 'tell_stickytime' may be called from other scripts to do this.
#!/bin/sh
echo "-4 echo $1" > ~/.stickytimecmd
killall -s USR1 stickytime
Sending the signal USR2 will cause stickytime to re-read the .stickytimrc file.
The Configuration File
Stickytime will read the file
~/.stickytimerc (if it exists). All command line options may be
included in it in their long form. Command line options override items in this file. Blank lines and lines beginning with
# are ignored. See the example file.
yes/no option args are optional and may be true/false, yes/no, 1/0.
No arg defaults to true.
Also
The program "stickytitle" is included. It displays only stickykeys and mousekeys in a small
titlebar. No clock. Depending on your window manager, you may be able to make that window "stay on top". xX, yY and
zZ are used for modifiers other than ctrl, shift and alt, such as the "Windows" key.
The program ax is included. Compiled on a Redhat box.
Type "ax help" for details. I have no connection with this program.
Options
| -l --led color |
Color of clock LEDs. |
| -b --bg color |
Color of background. |
| -k --stickykeys color |
Show stickykeys state and use the "color". |
| -m --mousekeys=yes/no |
Show mousekey pointer button. |
| -N --show-mod2=yes/no |
Allow Mod2 to display. (Some keyboards send locked Mod2 with numlock
pressed.) Default false. |
| -S --show-mod3=yes/no |
Allow Mod3 to display. Default false. |
| -p --popup=yes/no |
Popup clock when modifier latched/locked. |
| -u --unmap=yes/no |
Unmap (erase) clock instead of lowering it. |
| -H --height num |
Dockapp or window height. |
| -W --width num |
Window width. |
| -X --X num |
Window X position. |
| -Y --Y num |
Window Y position. |
| -C --clock [012] |
1 = 12 hour clock, 2 = 24 hour clock, 0 = no clock. |
| -0 --com0 command |
Mouse-over command. |
| -1 --com1 command |
Button 1 command. |
| -2 --com2 command |
Button 2 command. |
| -3 --com3 command |
Button 3 command. |
| -4 --com4 command |
First command of 4 through 9. Executed automatically or with the scroll wheel. |
| -5 --com5 command |
Command 5. |
| -6 --com6 command |
Command 6. |
| -7 --com7 command |
Command 7. |
| -8 --com8 command |
Command 8. |
| -9 --com9 command |
Command 9. |
| -t --tooltip-timeout num |
Time (in seconds) for automatic tooltips to close (unless overridden in the command itself). |
| -B --tooltip-bg color |
Set the tooltip background color. |
| -F --tooltip-fg color |
Set the tooltip foreground color. |
| -L --logfile filename. |
Use filename instead of .stickytime.log |
| -w --withdrawn=yes/no |
Withdrawn into dock. |
| -s --shaped=yes/no |
Shaped window. |
| -n --no-win-decor=yes/no |
Do not use window manager decorations for non-dock windows. |
| -d --display display |
Select target display. ie :0, :1. Will use $DISPLAY. |
| -v --version |
Display version info. |
| -h -? --help |
Display the help page. |
yes/no option args are optional and may be true/false, yes/no, 1/0.
No arg defaults to true. If supplied use '=' i.e. --option=yes, -otrue.
To Do
I dunno, what? It does too much already. Maybe Gnome and KDE systray versions?
Actually, I intend to do a clockless version that will display modifiers in a tooltip. Stay tuned...
Comments?