[Back to TkGoodStuff]
tkgoodstuff: Introduction
Screenshots:
TkGoodStuff for X windows is a utility panel---in the usual and
simplest case, a button bar. It is designed to be easily configured and
modified using a GUI preferences manager tool. The envisioned use is as
an always-on-top destop utility to serve the user's common needs for indicators
and buttons. Some "clients" are included: analog/digital alarm
clock, biff, WWW browser launcher, PPP (or SLIP) dialup net dialer and
status indicator, note taker/manager, calendar program alarm demon, POP/IMAP
mail fetching scheduler, system load display, application/utility menus,
fvwm support. See below for some details about the clients.
Tkgoodstuff, when used with the fvwm window manager, can be set up to
behave in many ways like the Win95 taskbar (spanning any edge of the screen,
containing buttons for every running application, with the ability to "hide"
along the side of the screen and to be "dragged" to another side,
with a GUI-configurable menu, etc.).
Table of Contents (this document)
Advantages of TkGoodStuff
over Separate Clock, Biff, etc.
- Just one process. Even though we use the farily hungry wish
interpreter (of the tcl/tk language), you probably will save on memory
and cpu usage even if you use only a couple of the basic clients.
- Just one window, which can be moved about, killed, iconified, etc.,
all at once.
- All configuration information in a single place, set using a powerful
GUI tool.
- Background processes (like mail-checking, calendar-alarm checking,
serial TCP line status checking) are queued together, so that there is
less overlap.
- Clients can easily share information and configuration options (e.g.,
there is a global "no beeps" option; PopImap fetches mail when
the Net status indicator shows that the net is up, and tells Biff to be
extra vigilant for a while).
- Easy to configure and enhance with the preferences manager and (for
the more intrepid) by tcl/tk script hacking.
Included Clients
The "clients" (tcl/tk scripts that produce buttons or displays
in the panel) that are included in this distribution are:
- Clock: a compact analog and/or digital
time and/or date alarm clock. Mouse button 1 activates the Tkgoodstuff
popup menu, with various switches and actions provided by the individual
clients (including a handy alarm-setting dialog).
- Biff: a feature-rich mail checker
that (configurably): beeps and "lights up" the Biff button's
icon and/or label when new mail arrives in your spool file (or other
file(s) you specify). Can pop up a summary of new messages on arrival
(also does that on a click of mouse button 3); a click on a message in
the summary list displays the message. Also can display the number of
new messages. Mouse button 2 tells us to treat the current mail in the
watched file as old (so you won't be notified until more mail
arrives). Supports multiple (standard, MH, and remote IMAP) folders.
Has four alert levels (which determine the icon that is
displayed).
- Net: indicates the status of a PPP
or SLIP connection and allows you to bring the connection up or down
with a click. Also (if wanted) will display net uptime, and can
periodically "ping" yourself so that the remote host won't
close the connection because of inactivity. Included also is a GUI
Dialer program, which you can call from Net to dial your modem
(with nice repeat-dial features), log you in, and start your network
(e.g., PPP or Term) software while you watch.
- PopImap: periodically run pop or
imap client to get any new mail on remote mail server. Don't get too
excited: the fetching is done by a program or script that you provide
(e.g., fetchpop, popclient, or imapcopy). No button is produced by
this client (though it produces some stuff in the tkgoodstuff popup
menu).
- Jots: A handy tool for writing, editing,
and searching for notes: diary entries, addresses, ftp sources, ideas,
etc. Support for easy shuffling between multiple "folders" of
entries.
- WWW: Button 1 launches your web browser
(and it stays down and inoperative until you exit the browser). Button
3 instructs your browser (which it starts if necessary) to visit the URL
that is the current X selection. Useful for visiting URL's mentioned in
news articles, email, etc. Supports choosing among a list of browsers.
- Webster: Retrieves (over the net)
the dictionary definition of a word (the current X selection).
- Load: An xload-like system load-average
display (auto-scaling graphical, digital, or both). Button 1 launches an
xterm running "top".
- Menu: A button labelled
"Menu" that produces, well, a menu. The menu is easily
configured in the GUI preferences manager.
- Ical: The program ical (as
opposed to this client) is a nice tk-based calendar program by Sanjay
Ghemawat (http://clef.lcs.mit.edu/~sanjay/ical.html). This client
reads your ical calendar information and serves as an alarm daemon,
posting alarm notices to your screen when ical would if you had it
running (and consuming system resources). A popup submenu allows you
to list the day's ical items (including to-do items as well as
appointments) and to launch ical itself. Alarm notices come with
buttons and check-boxes allowing you to cancel all alarms, or just
alarms for a particular item.
- WindowList: For use with Fvwm,
produces buttons for open/iconified windows (like the Win95 taskbar).
- Pager, by Eric Kahler: For negotiating
desktops with Fvwm.
- WatchDog, by Eric Kahler: This client
watches any file similarly to how Biff watches a mail spool file, and displays
the file on a click.
- Chooser, by Eric Kahler: This client,
at tkgoodstuff start-up, posts a list of tkgoodstuff configuration files
to choose from.
- TkMan, by Gary Dezern: Button 1 starts
tkman; button 3 tells tkman to look up the man page for the word in the
current X selection.
Customizing Features
User-defined buttons
The "standard" user-defined buttons can be configured to
show either icons or (multi-line) text labels or both at once (with
the icon on any side or in the background), and global options can
request no labels or no icons. Among the unlimited possibilities here
are use of the current X selection in your command. See the
documentation on configuration for more.
"Swallow" Windows
If you really like xosview or xdaliclock or whatever, you can put
it in your panel as a Swallow item (tkgoodstuff "swallows"
the application window).
Label boxes
A label box contains text, e.g., to label a group of related buttons.
Stacks
You can form vertical or horizontal stacks of elements (e.g.,
buttons and labels or other stacks), that can be nested indefinitely. If
you're not careful, you might get something like the large example above
(or worse).
Panels
You can create multiple panels (of buttons, labels, etc.) to place
at different parts of the screen or to call up (like a menu) from a
"PanelButton".
Documentation
The only documentation for tkgoodstuff is in these html pages, which
are included in the distribution's "doc" subdirectory. From the
"About tkgoodstuff (help)" window accessed from the popup menu,
you can launch a built-in help browser or your web browser (by default,
netscape) to read these pages (either your local copy, installed automatically
during tkgoodstuff installation, or the latest copy on the net).
[Back to TkGoodStuff]