Initial commit of Mark Crimmins' code as of Oct. 1, 1997.
This commit is contained in:
commit
ed3a73f960
470
CHANGES
Executable file
470
CHANGES
Executable file
|
@ -0,0 +1,470 @@
|
|||
8.0: Here I (MC) leave off development of tkgoodstuff. Anyone who
|
||||
would like to adopt it is most welcome.
|
||||
|
||||
8.0b2:
|
||||
|
||||
8.0b1:
|
||||
|
||||
- Hacked at some of the C stuff for compatibility with
|
||||
tcl/tk8.0b1. (5/28/97)
|
||||
|
||||
- Ken Hornstein's netscape-remote doesn't work with
|
||||
Netscape 4.0 until b5, and it won't compile with tcl8.0b1,
|
||||
so I'm just doing "netscape -remote" for now (this doesn't work
|
||||
with Netscape 4.0 before b5 either, but it works with
|
||||
tcl8.0b1). (5/30/97)
|
||||
|
||||
- Simplified some of the configure/install stuff. (6/11/97)
|
||||
|
||||
8.0a2:
|
||||
|
||||
- Fvwm2's geometry management had been a little broken, which
|
||||
explained the odd stuff tkgoodstuff panels had to do to span a
|
||||
screenedge. I've sent a patch to the fvwm2 maintainer (Chuck
|
||||
Hines) for fvwm2.0.45; the patch is included in this distribution.
|
||||
In keeping with No-Backward-Compatibility, now you need to upgrade
|
||||
to fvwm2.0.45 (and use the patch) to get screenedge mode to work.
|
||||
I'm sure you can figure out how to patch fvwm95 similarly. (Sorry
|
||||
about that, but it relieves one of my biggest headaches.) (1/27/97)
|
||||
|
||||
- Font preferences use a font selector. Relatedly, font handling
|
||||
is a bit saner. (2/3/97; more font stuff fiddling 2/6/97)
|
||||
|
||||
- The default relief for buttons (globally or individually) is flat
|
||||
(for a sleek look). A preferences item still allows raised
|
||||
buttons. (2/6/97)
|
||||
|
||||
- Bells are more distinctive: the alarm (and Ical) bells are a
|
||||
little louder and longer than your regular ^G beep, and in Biff
|
||||
and Watch, the pitch of the bell corresponds to the alert level.
|
||||
If you have several Watch'ed files and Biff'ed mailboxes, you can
|
||||
get a nice (?) little tune on tkgoodstuff startup. (2/10/97)
|
||||
|
||||
- Bug fix: in revising the tkgbutton.tcl code we lost a level
|
||||
of substitution on the unix command. Thanks C. Roth (2/12/97)
|
||||
|
||||
- Help "balloons" code simplified. Balloons no longer time out.
|
||||
(2/13/97)
|
||||
|
||||
- Hierarchical listbox widget improved. For example, you can drop
|
||||
items "within" items that permit children. (2/14/97)
|
||||
|
||||
- Bug fix: geometry handled improperly in restart caused
|
||||
panelbuttons not to work. (2/15/97)
|
||||
|
||||
- Bug fix: tkgbuttons could freeze on doubleclick. (2/15/97)
|
||||
|
||||
- Bug fix: switches like "-font" in a button's unix command would
|
||||
be modified. (2/16/97)
|
||||
|
||||
- New client "Watch". Like Erik Kahler's "WatchDog" except it
|
||||
allows multiple files to be watched, as in Biff. Includes a lister
|
||||
that functions like "tail -f", and which allows you to view in one
|
||||
window all (or a selected group of) the files being
|
||||
watched. (2/12/97)
|
||||
+ Added indications in multiple-file viewer of which files have
|
||||
changed and which one changed most recently. (2/15/97)
|
||||
|
||||
- WindowList:
|
||||
+ We use a "tkgframe" instead of a text widget. Somewhat
|
||||
zippier, and lets us put the panel tile image (if any) in the
|
||||
background (or another tile image of the user's preference).
|
||||
Looks a little bit different. (1/30/97)
|
||||
+ (bugfix) A panel containing only WindowList wouldn't size
|
||||
properly, and windows wouldn't show up. (4/3/97)
|
||||
|
||||
- Biff:
|
||||
+ For MH folders, if folder or .mh_sequence doesn't exist, make
|
||||
the message counter (in menu or on button) zero. (bugfix;
|
||||
2/6/97)
|
||||
+ Brushed up IMAP mailbox checker. We keep the IMAP socket up
|
||||
between checks; otherwise it's very hard to reliably check for
|
||||
new mail. (2/17/97)
|
||||
+ Added preference setting for IMAP port. (4/15/97)
|
||||
+ If you choose "exmh" as the "unix command to execute instead
|
||||
of using tkgoodstuff's lister" for an MH folder, then if exmh is
|
||||
already running we direct exmh to the folder.
|
||||
+ (bugfix) Standard atime method reset new-mail indicator at
|
||||
second check.
|
||||
|
||||
- TkMan:
|
||||
+ (bugfix) some button preferences were ignored (2/22/97).
|
||||
+ Raise tkman window when using button <3> to view a manpage (if
|
||||
fvwm is used).
|
||||
|
||||
- Webster:
|
||||
+ Webster servers have disappeared (copyright issues, I guess).
|
||||
So now the Webster button directs your browser to look up
|
||||
the definition of a word at the Merriam-Webster site (a better
|
||||
dictionary anyway, but sometimes slow response). You can change
|
||||
the URL if you know a better one.
|
||||
+ A. Burt contributes bugfixes and an entry dialog (which Webster
|
||||
should have had from the start).
|
||||
|
||||
- Pager: (bug fix) really ignore the tkgoodstuff main panel (in
|
||||
tk8.0 this has the id [wm wrapper .main-panel]. (4/9/97)
|
||||
|
||||
|
||||
8.0a1:
|
||||
|
||||
- Ok, forget 4.2, we may as well work with 8.0. Get tcl/tk8.0a2 or
|
||||
later (a1 has relevant bugs). As always, we don't do backward
|
||||
compatibility (too much work). There probably are quite a few
|
||||
bugs. I'd appreciate your testing this, but beware.
|
||||
|
||||
- Buttons and panels now can have tiled background images.
|
||||
|
||||
- Rewrote the tkgbutton extension code around the tkButton.c and
|
||||
tkUnixButton.c in tk8.0. This code allows buttons, labels, etc.,
|
||||
to have images as well as text. Added "-textweight" and
|
||||
"-imageweight" options (like the option to "grid
|
||||
row/columnconfigure). Also wrote code for "tkgframe" widgets (like
|
||||
frames/toplevels, but allow background tiles).
|
||||
|
||||
- Color preference items use the new tk color selector.
|
||||
|
||||
- Killed (or at least maimed) some bugs:
|
||||
+ an old one that caused us to lose some preferences changes.
|
||||
+ one that made "Fill" items cause errors.
|
||||
+ one that abandoned your specified icon-side when the panel is
|
||||
dragged to another screen-edge.
|
||||
+ one that made gcc choke when compiling on Solaris 2.4.
|
||||
+ Text now gravitates to the bottom of button when below
|
||||
image.
|
||||
+ A preferences label implied that leaving the button text field
|
||||
blank would give you text anyway (which would be silly).
|
||||
|
||||
- Main Menu button can have icon on it and/or text. By default, it
|
||||
now has a pale blue "TKG" icon in the background (I'd welcome a
|
||||
nifty logo-ish thing if anyone out there is less art-challenged
|
||||
than me).
|
||||
|
||||
- Now when you insert an item in the hierarchical list widget, the
|
||||
new item is always visible and highlighted.
|
||||
|
||||
- Biff:
|
||||
+ Menu indicating which mailboxes have new mail now can be a
|
||||
tear-off menu.
|
||||
+ That same menu can now replace the Biff button on the
|
||||
tkgoodstuff panel. (For some reason this breaks the ability to
|
||||
drag windows from WindowList into Pager. Tk bug?)
|
||||
+ When you click with button 3 in single-mailbox mode, or select
|
||||
a mailbox from the menu in multiple-mailbox mode, we allow
|
||||
an arbitrary unix command instead of calling up tkgoodstuff's
|
||||
new-mail lister (so you can start a mailer directed at a
|
||||
particular mailbox instead of using our lister).
|
||||
|
||||
4.2b1:
|
||||
|
||||
- New versions are for use with tcl7.6/tk4.2.
|
||||
|
||||
- Got rid of BLT fuctionality. This saves many configuration
|
||||
headaches. However, this means that drag&drop no longer is
|
||||
supported (you can't drag files onto tkgoodstuff buttons). Also,
|
||||
certain programs can fool tkgoodstuff buttons into rising before
|
||||
the programs actually exit (namely, programs that freopen()
|
||||
stdout). You can get around this by calling instead a shell
|
||||
script that simply runs the offending program:
|
||||
|
||||
#!/bin/sh
|
||||
knews
|
||||
|
||||
|
||||
4.1:
|
||||
|
||||
- Auto-configuration now is more standard GNU: we assume you want
|
||||
to install in /usr/local/... unless you specify otherwise (with
|
||||
"./configure --prefix=/some/directory"), rather than assuming that
|
||||
you want to install wherever tcl and tk are installed. Also, we
|
||||
look for tcl/tk headers in more places.
|
||||
|
||||
- Default is now to make tkgwish (to cut down on compilation
|
||||
gripes), but if you configure with "--enable-libs", then you get
|
||||
loadable libraries instead: libtkg (with image+text button code),
|
||||
libpixmap, libtkfvwm, libtkSteal, libblt, libtkNetscape.
|
||||
|
||||
- Used "unprotoize" on tkNetscape.c so that SunOS's non-ANSI
|
||||
compiler doesn't choke on the function prototypes.
|
||||
|
||||
- The preferences manager now uses tabbed notebooks to give you
|
||||
that warm'n'cozy GUI feeling, at no cost in added functionality!
|
||||
(The tabbed notebook widget, like the hierarchical list widget, is
|
||||
core tcl/tk only.)
|
||||
|
||||
- New button option: "Fvwm button behavior". If set (and using the
|
||||
fvwm2 or fvwm95 window manager!), then the relief of the button
|
||||
(raised/sunken) is sensitive only to the existence of a window of
|
||||
the given name. This way, your unix command button will be sunken
|
||||
even if you start your application without pressing the button
|
||||
(e.g., with a window manager menu or on a command line), and even
|
||||
if you restart tkgoodstuff.
|
||||
|
||||
- Incoporated the "netscape-remote" tk extension by Ken Hornstein,
|
||||
which makes for quicker visits to selected URL's with the WWW
|
||||
client.
|
||||
|
||||
- Now you can use fvwm modules as swallow and menu items (just make
|
||||
the unix command, e.g., "FvwmPager 0 1").
|
||||
|
||||
- NOTE: Various code uniformization that (a) is certain to
|
||||
introduce a bug or two, and (b) unfortunately meant renaming some
|
||||
preferences variables, which means that some of your preferences
|
||||
will have to be redone. Sorry about that.
|
||||
|
||||
- Biff:
|
||||
+ New mailbox method "IMAP": check and read new mail at a remote
|
||||
IMAP server. Consider this feature ALPHA, since I'm the only one
|
||||
who has tested it (reports welcome). It should work on any
|
||||
IMAP-2bis or IMAP4 server.
|
||||
+ Biff mailboxes are now individually configurable with an hlist
|
||||
widget gizmo. They can have different checking intervals, etc.
|
||||
+ Mailboxes now are assigned "alert levels" of white, green,
|
||||
yellow, or red, which determines what icon is shown for new mail.
|
||||
|
||||
+ Fvwm: When going to a window we give it focus or not depending on
|
||||
whether the window has style flags set for ClickToFocus or
|
||||
SloppyFocus. This way we give a window focus whenever we can do so
|
||||
without warping the pointer.
|
||||
|
||||
- Pager:
|
||||
+ Clicking on the current page cycles through the open
|
||||
windows on the page.
|
||||
+ Clicking on another page always goes to the window last
|
||||
selected on that page, if any.
|
||||
+ Find some way of reminding people (everybody forgets this) that
|
||||
you can move windows between pages and desktops by dragging with
|
||||
mouse button 2 from the WindowList to the Pager.
|
||||
|
||||
- Dialer: Oops: we had been sending the dial command twice, which
|
||||
could produce inexplicable "NO CARRIER" messages.
|
||||
|
||||
4.1b8: 6/9/96
|
||||
|
||||
- Incoporated bgexec and drag&drop from BLT, which means that the
|
||||
handling of executed programs is less kludgy, and that you can drag
|
||||
files from tkdesk to tkgoodstuff buttons.
|
||||
|
||||
- Incorporated TkSteal, and added the element type "Swallow", which
|
||||
lets you put an external X application window in the tkgoodstuff
|
||||
bar.
|
||||
|
||||
- Main panel is now just another panel. This helped kill a bug
|
||||
(which is tk's, I think) that was tweaked in the screen-edge
|
||||
dragging and resulted in segmentation faults.
|
||||
|
||||
- Added a balloon help feature (annoyance? it's defeasible).
|
||||
|
||||
- Added a commented example client "Example.tcl", which may take
|
||||
a lot of the mystery out of writing a simple client.
|
||||
|
||||
- Added a preferences item for a list of tcl code directories to
|
||||
prepend to auto_path (so that you can use your own tcl code without
|
||||
writing a client).
|
||||
|
||||
- Buttons now can have images as backgrounds (the text is written
|
||||
over the image): set the "side" of the icon to "background".
|
||||
|
||||
- WWW and Fvwm handling much improved thanks to A. Burt (who
|
||||
contributed lots of bug fixes elsewhere too).
|
||||
|
||||
- WindowList:
|
||||
+ keep usual icon when iconified (foreground color still grayed
|
||||
out). Easier to tell what program is iconified this way.
|
||||
+ Added default icons for file managers (xfm and tkdesk) and man
|
||||
page readers (xman and tkman).
|
||||
|
||||
- PopImap: Keep track of fetch process and don't overlap (thanks
|
||||
T. Fries).
|
||||
|
||||
4.1b7: 5/22/96
|
||||
|
||||
There have been quite a few changes that are sure to introduce new
|
||||
bugs. Please inform me of any troubles, providing as much
|
||||
information as you can about your platform, your .tkgrc, etc.
|
||||
|
||||
- The latest tkgoodstuff and the latest CHANGES file is now
|
||||
available at the web site.
|
||||
|
||||
- The GUI installation tool has been replaced by a GNU autoconf
|
||||
thing ("./configure" then "make", then "make install"). Probably
|
||||
there are still importabilities, so please let me know how it goes.
|
||||
|
||||
- The xpm and fvwm extensions are now wrapped into "libtkg", which
|
||||
is compiled and installed automatically at tkgoodstuff installation
|
||||
(this way you don't have to install, and I don't have to maintain,
|
||||
as many packages). If someone wants to pull them apart and
|
||||
maintain them individually, be my guest.
|
||||
|
||||
- If the Tcl installation doesn't support loadable libraries, we
|
||||
make and use tkgwish. You can force this with
|
||||
"configure --enable-tkgwish". (Worth a try if the C compilation
|
||||
fails.)
|
||||
|
||||
- The panel (including main panel) and menu configurations are now
|
||||
done with a point-and-click, drag-and-drop hierarchical list widget
|
||||
with little icons to make you feel safe-and-secure. It's harder to
|
||||
screw up your configuration or menu now (or it should be when the
|
||||
bugs get ironed out).
|
||||
|
||||
- The image+text tkgbutton code is now done in C (and is part of
|
||||
libtkg). This simplifies and speeds up various things.
|
||||
|
||||
- Dragging a (screenedge mode) main panel (by its border) to other
|
||||
edges of the screen now works without restarting tkgoodstuff. If
|
||||
you have used the defaults, the arrangement of icons, labels, etc,
|
||||
changes to suit the new orientation.
|
||||
|
||||
- No more "Dismiss" buttons in panels produced by PanelButtons,
|
||||
since they can be dismissed by clicking on the PanelButton.
|
||||
|
||||
- Clock now shows time only by default, and toggles to show the
|
||||
date temporarily when the mouse pointer enters the clock window.
|
||||
|
||||
- The tkgoodstuff menu now can be used anywhere in the Menu client
|
||||
menu as a cascade (before it would pop up oddly). Also, for now
|
||||
there is only one Menu client menu (anyone sorely miss having 3?).
|
||||
|
||||
- We take advantage of the /proc filesystem (e.g., on Linux):
|
||||
+ Load now reads /proc/loadavg if it exists (and otherwise exec's
|
||||
uptime).
|
||||
+ Net now by default reads /proc/net/route if it exists (and
|
||||
otherwise exec's ifconfig).
|
||||
|
||||
4.1b6: 4/30/96
|
||||
|
||||
- There is a new on-line preferences manager (so you don't have to
|
||||
edit the rc file by hand). Start up tkgoodstuff. You will get a
|
||||
default configuration. Select Preferences from the tkgoodstuff
|
||||
menu, and choose the "Configuration" section. Here, add, delete or
|
||||
move Client, AddButton, AddLabelBox, stacking, and panel-creating
|
||||
commands. Then, save the preferences and restart. Now you can set
|
||||
using the preferences manager the things you used to have to adjust
|
||||
with variables.
|
||||
|
||||
- tkgoodstuff:
|
||||
|
||||
+ New options for icon scale and font scale (small or large).
|
||||
Also, where an iconfile is called for, you can specify
|
||||
"%biffnew" and tkgoodstuff will look, depending on whether the
|
||||
scale is small or large, for biffnew.xpm or biffnew-sm.xpm.
|
||||
|
||||
+ New option for standard padding inside buttons, etc. Adjust
|
||||
to 0 for very busy but compact look, to 2 or 3 for more roomy
|
||||
look.
|
||||
|
||||
+ Now you can specify a pathlist of icon directories
|
||||
in the preferences manager. You also can specify an icon that
|
||||
is somewhere in that path with just its name (full filenames
|
||||
work too).
|
||||
|
||||
+ In fullscreen mode, now you can "drag" the main border to
|
||||
move the panel to another edge of the screen. It's a quick
|
||||
hack (if we go from horizontal to vertical or vice versa we
|
||||
save a changed fullscreen-side preference and restart
|
||||
tkgoodstuff), but nothing wouldn't be better. We should really
|
||||
be able to do this on the fly (which means regridding, and
|
||||
resizing the auto-sized clients (Clock, Pager, Load).
|
||||
|
||||
+ Also there is a new option Auto-minimize which in fullscreen
|
||||
mode reduces tkgoodstuff to a line along the edge of the screen
|
||||
when the mouse leaves the tkgoodstuff panel.
|
||||
|
||||
+ Killed (I hope) bug without understanding why: sometimes in
|
||||
auto-minimize mode clicking on a panelbutton would cause an
|
||||
error whose entire stack trace is ("after" script). Since
|
||||
removing an "update" command from TKGPanelButtonInvoke, I no
|
||||
longer see this problem. Any speculations as to why would be
|
||||
welcome!
|
||||
|
||||
- New Client: TkMan, by G. Dezern, interfaces with the tkman man
|
||||
page viewer the way our WWW client interfaces with web browsers.
|
||||
|
||||
- WindowList: Shorten windownames before using scrollbar (patch
|
||||
from E. Kahler).
|
||||
|
||||
- Biff:
|
||||
+ Mail-checking methods now work as advertised (thanks R. Angiel
|
||||
and G. Dezern). I hope.
|
||||
+ Optional on-button display of number of new messages (except
|
||||
for users of the mh method). (Thanks R. Angiel.)
|
||||
+ Display of new messages was too fancy, or not fancy enough, to
|
||||
work right; now we just display the entire header with the message.
|
||||
+ MH method much, much improved thanks to G. Dezern.
|
||||
+ Multiple mailbox support thanks to G. Dezern.
|
||||
|
||||
- Net:
|
||||
+ Added elapsed-time-of-connection counter.
|
||||
+ Deleted net-type from label.
|
||||
|
||||
- Jots and Calc: respond sensibly to window manager DELETEs.
|
||||
|
||||
- Icons: ruthless color-pruning. Now the icons use colors from a
|
||||
palette of 19 colors, and tkgoodstuff's default widget colors are
|
||||
among them.
|
||||
|
||||
- tkxpm and tkfvwm: much tidier configure scripts (not using
|
||||
autoconf), relying on tclConfig.sh and tkConfig.sh. Also, fvwm
|
||||
source is no longer needed to compile tkfvwm (libfvwm2.a is now
|
||||
installed at fvwm installation). M. Beynon contributed bug fixes.
|
||||
|
||||
4.1b5: 2/27/96
|
||||
|
||||
Now tkgoodstuff assumes tk4.1b1 or later (we're aiming at supporting
|
||||
the ultimate 4.1 release, and backward compatibility is too much
|
||||
work).
|
||||
|
||||
- tkgoodstuff:
|
||||
|
||||
+ We use the grid geometry manager rather than pack for almost
|
||||
everything. TKGPack is superseded by TKGGrid. Had hoped that
|
||||
this would make fullscreen mode easier, but no.
|
||||
|
||||
+ Added subpanels which are formed with StartPanel and
|
||||
EndPanel, can be linked to a button with PanelButton, or placed
|
||||
on the screen at startup with PutPanel. See the tkgoodstuffrc
|
||||
html docs for more.
|
||||
|
||||
+ Now xpm capability is mandatory. I hope Ioi Lam's xpm image
|
||||
type will get in the core before our main 4.1 release.
|
||||
|
||||
+ "create-label-box" renamed to "TKGLabelBox". NOTE!!!
|
||||
|
||||
+ AddButton and AddLabelBox no longer take a name as first
|
||||
argument. NOTE!!!
|
||||
|
||||
+ Clock_zerotrim moved to tkgoodstuff and called TKGZeroTrim.
|
||||
|
||||
+ Use "ps -p [pid]" if "ps [pid]" gives an error, and don't
|
||||
assume there's a STAT column in the ps output (thanks
|
||||
J. Robinson).
|
||||
|
||||
+ Implement TKGAddToHook and TKGDoHook (general hook
|
||||
utilities). Several hooks are defined (for client use) in
|
||||
tkgoodstuff, Fvwm.tcl, etc.
|
||||
|
||||
+ Change default fonts to non-italic, non-bold.
|
||||
|
||||
- Biff: avoid tcl7.5b1's gets bugs by not doing "gets $f var".
|
||||
|
||||
- New client "Pager" by Eric Kahler. Check out the current
|
||||
version in this distribution. Needs tkgoodstuff to be run as an
|
||||
fvwm module (from the fvwm window manager).
|
||||
|
||||
- New client "Chooser" by Eric Kahler. Pops up a window at
|
||||
startup to let you choose among different tkgoodstuff
|
||||
configuration files.
|
||||
|
||||
- New client in "alpha" stage: Calc (dec/hex/oct calculator).
|
||||
Has paper-tape-like scrollable history. Some features not
|
||||
implemented, but it's fairly usable. I'm not inclined to develop
|
||||
this further right now, so I'd be very happy if someone were to
|
||||
adopt it.
|
||||
|
||||
- New client in "beta" stage: Webster (net dictionary client).
|
||||
Pops up a definition of the word you highlight (the current X
|
||||
selection). Can use unix "webster" command, but also has its own
|
||||
internal webster client code (using the new Tcl socket stuff,
|
||||
with a kludge required because Tcl strings can't yet contain
|
||||
NULLs).
|
||||
|
||||
- The tkfvwm source is now included in the tkgoodstuf
|
26
Dialer.README
Executable file
26
Dialer.README
Executable file
|
@ -0,0 +1,26 @@
|
|||
Dialer version 8.0
|
||||
|
||||
Dialer is a unix X-Windows GUI thingy that dials your modem while you
|
||||
watch, executes a login script, and starts a program of your choice
|
||||
(e.g., ppp or term) on successful connection.
|
||||
|
||||
*** Requires tk *** (Expect no longer required.)
|
||||
|
||||
Tk version 4.1 and above should work, but if you have trouble please
|
||||
try the latest version of tcl/tk.
|
||||
|
||||
Self-documenting. To use, run it, hit the "Settings" button,
|
||||
configure your settings and login script, and finally use the "Save"
|
||||
option.
|
||||
|
||||
More information is available in a Help menu item in the Settings
|
||||
window.
|
||||
|
||||
To use from the tkgoodstuff Net client, include a command like the
|
||||
following in the relevant preferences item (i.e., the "Unix Command to
|
||||
Open Link"):
|
||||
Dialer /home/markcrim/.DialSettings Dial
|
||||
|
||||
-------
|
||||
markcrim@umich.edu
|
||||
|
91
FAQ
Executable file
91
FAQ
Executable file
|
@ -0,0 +1,91 @@
|
|||
TKGOODSTUFF FAQ
|
||||
---------------
|
||||
|
||||
-- It won't configure because:
|
||||
|
||||
a. It can't find tclConfig.sh (and neither can I)!
|
||||
|
||||
ANSWER: Your installation of tcl/tk is improper. Get the latest
|
||||
from ftp://ftp.smli.com/pub/tcl. The files tclConfig.sh and
|
||||
tkConfig.sh should automatically end up in the same directory as
|
||||
the tcl and tk libraries (such as libtcl8.0.so).
|
||||
|
||||
b. It can't find tclConfig.sh, but it's right there in
|
||||
/smurf/glep/lib!
|
||||
|
||||
ANSWER: Start from scratch with a CLEAN, freshly unpacked
|
||||
distribution, and do:
|
||||
./configure --prefix=/smurf/glep
|
||||
|
||||
c. It can't find tclsh8.0 or (wish8.0), but it's right there in
|
||||
/smurf/glep/bin!
|
||||
|
||||
ANSWER: Be sure your $PATH contains the directory containing
|
||||
wish8.0.
|
||||
|
||||
-- I have difficulty compiling it.
|
||||
ANSWER: The most common problem is that a too-old version of tcl/tk
|
||||
is getting in the way. Be sure there are no tclConfig.sh,
|
||||
tkConfig.sh, tcl.h, and tk.h hanging around from earlier versions
|
||||
of tcl/tk (earlier than the versions that tkgoodstuff needs). You
|
||||
should certainly suspect this if you get such things as:
|
||||
|
||||
undefined reference to `Tk_FontId'
|
||||
|
||||
-- It configures and compiles fine, but it won't run.
|
||||
|
||||
ANSWER:
|
||||
1. Did you install it? Do "make install".
|
||||
2. Are you sure you are executing the installed tkgoodstuff?
|
||||
|
||||
-- When I run it, it dies with "wish8.0: can't load library
|
||||
'libtk8.0.so'".
|
||||
|
||||
ANSWER: Your tcl/tk setup isn't properly installed. Be sure:
|
||||
a. libtk8.0.so exists in a place where your system usually can
|
||||
find libraries (e.g., /usr/local/lib). Perhaps you need to
|
||||
add that directory to /etc/ld.so.conf.
|
||||
b. the permissions on the file are right: the file is readable.
|
||||
c. (if applicable) you have run "ldconfig" (as root).
|
||||
|
||||
-- I have fvwm2 running, but it still says WindowList (or Pager) can't
|
||||
run without fvwm2.
|
||||
|
||||
ANSWER: Read the html docs more carefully. You have to make fvwm
|
||||
run tkgoodstuff AS A MODULE.
|
||||
|
||||
-- I launch tkgoodstuff as an fvwm module, and sometimes after
|
||||
restarting tkgoodstuff several times fvwm eats up all of my CPU.
|
||||
|
||||
ANSWER: This is fvwm's fault. My fix for it is incorporated in
|
||||
fvwm2 versions 2.0.43 and later. So upgrade fvwm2 to 2.1
|
||||
(ftp://ftp.hpc.uh.edu/pub/fvwm).
|
||||
|
||||
-- In screen-edge mode, sometimes (or always) my panel seems to try to
|
||||
grow to the full size of the screen-edge, and then suddenly
|
||||
collapses to a smaller size. I use fvwm or a derivative.
|
||||
|
||||
ANSWER: This too is fvwm's fault. My (single-line) patch for fvwm2
|
||||
is included in the main directory of the tkgoodstuff distribution.
|
||||
I think it will be incorporated in the next fvwm2 version after
|
||||
2.0.45.
|
||||
|
||||
-- Tkgoodstuff (and my window manager, come to think of it) can't find
|
||||
programs that I know are in my $PATH.
|
||||
|
||||
ANSWER: They may be in your PATH when you run your shell in an
|
||||
xterm, but they are not in the path of the program that launched
|
||||
your window manager. Try setting (and using "export" or "setenv",
|
||||
depending on the shell) PATH in your .xsession or .xinitrc, or in
|
||||
whatever script starts your window manager.
|
||||
|
||||
-- I get this annoying error/behavior/whatever...
|
||||
|
||||
ANSWER: We'd love to know more about it. Write to the tkgoodstuff
|
||||
mailing list tkgoodstuff@merv.philosophy.lsa.umich.edu WITH LOTS OF
|
||||
DETAILS, including the exact versions of tkgoodstuff and tcl/tk and
|
||||
(fvwm2 if you're using tkgoodstuff as an fvwm2 module), your
|
||||
platform and OS, the entire stack trace from the error message (you
|
||||
can copy it by selecting it with the mouse), your .tkgrc, and/or
|
||||
whatever details you think might be relevant. Members of the list
|
||||
might be able to help.
|
39
INTERNATIONALIZATION
Executable file
39
INTERNATIONALIZATION
Executable file
|
@ -0,0 +1,39 @@
|
|||
This is dated: we haven't consistently kept up with this, so most
|
||||
stuff is in English. Sorry.
|
||||
|
||||
Experimental Internatinalization
|
||||
--------------------------------
|
||||
|
||||
Given the value of the language variable (and the fallback default
|
||||
tkg_language one) , TkGoodStuff looks first for the file
|
||||
|
||||
$HOME/.tkgoodstuff_$language
|
||||
|
||||
and eventually source it, then source the file
|
||||
|
||||
$TKG_source_dir/$language.tcl
|
||||
|
||||
file (which should use setifunset for setting translations) if it exists
|
||||
and then unconditionally source
|
||||
|
||||
$TKG_source_dir/$tkg_language.tcl
|
||||
|
||||
Note that the client label is stored in the Tkg_labels array, so when
|
||||
one internationalizes one of the modules, say Biff, the code to remove
|
||||
the button becomes something like
|
||||
|
||||
set index [.tkgpopup index $Tkg_labels(Biff)]
|
||||
.tkgpopup delete $index [expr $index +1]
|
||||
|
||||
The translations are the responsibility of the module, so one can make
|
||||
full internationalized procedures if needed.
|
||||
The only exception is that TkGoodStuff will install a client menu with
|
||||
a label got from $Tkg_labels($client) where client is the client name
|
||||
(e.g. Clock, Biff, Net, etc...)
|
||||
|
||||
Internationalization can also choose default values for other things,
|
||||
see the Clock module for example.
|
||||
|
||||
See english.tcl and francais.tcl for examples.
|
||||
|
||||
Yves Arrouye <Yves.Arrouye@imag.fr>
|
95
Makefile
Executable file
95
Makefile
Executable file
|
@ -0,0 +1,95 @@
|
|||
# Generated automatically from Makefile.in by configure.
|
||||
# This file is a Makefile for tkgoodstuff. If it has the name
|
||||
# "Makefile.in" then it is a template for a Makefile; to generate the
|
||||
# actual Makefile, run "./configure", which is a configuration script
|
||||
# generated by the "autoconf" program (constructs like "@foo@" will
|
||||
# get replaced in the actual Makefile.
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
VERSION = 8.0
|
||||
prefix = /usr
|
||||
exec_prefix = ${prefix}
|
||||
|
||||
# Where to create the tkgoodstuff library directory
|
||||
#TKG_LIBRARY = $(prefix)/lib/tkgoodstuff
|
||||
TKG_LIBRARY = ./lib/tkgoodstuff
|
||||
|
||||
# Where to put the executable scripts (tkgoodstuff, Dialer)
|
||||
#BIN_INSTALL_DIR = $(exec_prefix)/bin
|
||||
BIN_INSTALL_DIR = ./bin
|
||||
|
||||
# english or french
|
||||
TKG_LANGUAGE = english
|
||||
|
||||
# e.g., tkgwish4.1
|
||||
EXECSHELL = $(BIN_INSTALL_DIR)/tkgwish$(VERSION)
|
||||
|
||||
SRCDIR = .
|
||||
TCLSH = /usr/bin/tclsh8.0
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
|
||||
all: bins scripts
|
||||
|
||||
bins:
|
||||
@cd libs; $(MAKE)
|
||||
|
||||
scripts:
|
||||
@for f in tkgoodstuff Dialer Help; do\
|
||||
echo "creating $$f.tmp";\
|
||||
cat $(SRCDIR)/tcl/$${f}.tcl | \
|
||||
sed -e "s%!/bin/sh%!$(EXECSHELL)%" | \
|
||||
sed -e "s%^set\ TKG(libdir).*$$%set\ TKG(libdir)\ $(TKG_LIBRARY)%" | \
|
||||
sed -e "s%^set\ TKG(language).*$$%set\ TKG\(language\)\ $(TKG_LANGUAGE)%" > $$f.tmp; \
|
||||
done
|
||||
|
||||
install: install-libs install-library
|
||||
|
||||
install-libs:
|
||||
@cd libs; make install
|
||||
|
||||
install-library: scripts
|
||||
@(test -d $(TKG_LIBRARY) || \
|
||||
(echo "Creating directory $(TKG_LIBRARY)"; \
|
||||
$(INSTALL) -d $(TKG_LIBRARY)))
|
||||
@for dir in tcl doc icons sample-rc; do \
|
||||
(test -d $(TKG_LIBRARY)/$$dir || \
|
||||
(echo "Creating directory $(TKG_LIBRARY)/$$dir"; \
|
||||
$(INSTALL) -d $(TKG_LIBRARY)/$$dir)); \
|
||||
for f in `/bin/ls $(SRCDIR)/$$dir`; do \
|
||||
echo "Installing $(TKG_LIBRARY)/$$dir/$$f";\
|
||||
$(INSTALL_DATA) $(SRCDIR)/$$dir/$$f $(TKG_LIBRARY)/$$dir;\
|
||||
done ;\
|
||||
done
|
||||
@$(INSTALL_PROGRAM) $(SRCDIR)/Help.tmp $(TKG_LIBRARY)/tcl/Help.tcl
|
||||
@echo "Installing (and creating) $(TKG_LIBRARY)/tcl/tclIndex"
|
||||
@$(TCLSH) $(SRCDIR)/mktclindex $(TKG_LIBRARY)/tcl
|
||||
@(test -d $(BIN_INSTALL_DIR) || \
|
||||
(echo "Creating directory $(BIN_INSTALL_DIR)"; \
|
||||
$(INSTALL) -d $(BIN_INSTALL_DIR)))
|
||||
@for f in tkgoodstuff Dialer; do\
|
||||
echo "Installing $(TKG_LIBRARY)/$$f";\
|
||||
$(INSTALL_PROGRAM) $$f.tmp $(TKG_LIBRARY)/$$f;\
|
||||
echo "Installing $(BIN_INSTALL_DIR)/$$f";\
|
||||
/bin/rm -f $(BIN_INSTALL_DIR)/$$f;\
|
||||
$(INSTALL_PROGRAM) $$f.tmp $(BIN_INSTALL_DIR)/$$f;\
|
||||
done
|
||||
@echo
|
||||
@echo "tkgoodstuff installation completed."
|
||||
@echo
|
||||
|
||||
Makefile: $(SRCDIR)/Makefile.in $(SRCDIR)/libs/Makefile.in
|
||||
$(SHELL) $(SRCDIR)/configure
|
||||
|
||||
clean:
|
||||
@rm -f *.tmp
|
||||
@cd libs; $(MAKE) clean
|
||||
@echo
|
||||
@echo "Cleaning done."
|
||||
@echo
|
||||
|
||||
distclean:
|
||||
@rm -f config.* Makefile *.tmp
|
||||
@cd libs; $(MAKE) distclean
|
92
Makefile.in
Executable file
92
Makefile.in
Executable file
|
@ -0,0 +1,92 @@
|
|||
# This file is a Makefile for tkgoodstuff. If it has the name
|
||||
# "Makefile.in" then it is a template for a Makefile; to generate the
|
||||
# actual Makefile, run "./configure", which is a configuration script
|
||||
# generated by the "autoconf" program (constructs like "@foo@" will
|
||||
# get replaced in the actual Makefile.
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
VERSION = @VERSION@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
|
||||
# Where to create the tkgoodstuff library directory
|
||||
TKG_LIBRARY = $(prefix)/lib/tkgoodstuff
|
||||
|
||||
# Where to put the executable scripts (tkgoodstuff, Dialer)
|
||||
BIN_INSTALL_DIR = $(exec_prefix)/bin
|
||||
|
||||
# english or french
|
||||
TKG_LANGUAGE = @TKG_LANGUAGE@
|
||||
|
||||
# e.g., tkgwish4.1
|
||||
EXECSHELL = $(BIN_INSTALL_DIR)/tkgwish$(VERSION)
|
||||
|
||||
SRCDIR = @srcdir@
|
||||
TCLSH = @TCLSH@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
all: bins scripts
|
||||
|
||||
bins:
|
||||
@cd libs; $(MAKE)
|
||||
|
||||
scripts:
|
||||
@for f in tkgoodstuff Dialer Help; do\
|
||||
echo "creating $$f.tmp";\
|
||||
cat $(SRCDIR)/tcl/$${f}.tcl | \
|
||||
sed -e "s%!/bin/sh%!$(EXECSHELL)%" | \
|
||||
sed -e "s%^set\ TKG(libdir).*$$%set\ TKG(libdir)\ $(TKG_LIBRARY)%" | \
|
||||
sed -e "s%^set\ TKG(language).*$$%set\ TKG\(language\)\ $(TKG_LANGUAGE)%" > $$f.tmp; \
|
||||
done
|
||||
|
||||
install: install-libs install-library
|
||||
|
||||
install-libs:
|
||||
@cd libs; make install
|
||||
|
||||
install-library: scripts
|
||||
@(test -d $(TKG_LIBRARY) || \
|
||||
(echo "Creating directory $(TKG_LIBRARY)"; \
|
||||
$(INSTALL) -d $(TKG_LIBRARY)))
|
||||
@for dir in tcl doc icons sample-rc; do \
|
||||
(test -d $(TKG_LIBRARY)/$$dir || \
|
||||
(echo "Creating directory $(TKG_LIBRARY)/$$dir"; \
|
||||
$(INSTALL) -d $(TKG_LIBRARY)/$$dir)); \
|
||||
for f in `/bin/ls $(SRCDIR)/$$dir`; do \
|
||||
echo "Installing $(TKG_LIBRARY)/$$dir/$$f";\
|
||||
$(INSTALL_DATA) $(SRCDIR)/$$dir/$$f $(TKG_LIBRARY)/$$dir;\
|
||||
done ;\
|
||||
done
|
||||
@$(INSTALL_PROGRAM) $(SRCDIR)/Help.tmp $(TKG_LIBRARY)/tcl/Help.tcl
|
||||
@echo "Installing (and creating) $(TKG_LIBRARY)/tcl/tclIndex"
|
||||
@$(TCLSH) $(SRCDIR)/mktclindex $(TKG_LIBRARY)/tcl
|
||||
@(test -d $(BIN_INSTALL_DIR) || \
|
||||
(echo "Creating directory $(BIN_INSTALL_DIR)"; \
|
||||
$(INSTALL) -d $(BIN_INSTALL_DIR)))
|
||||
@for f in tkgoodstuff Dialer; do\
|
||||
echo "Installing $(TKG_LIBRARY)/$$f";\
|
||||
$(INSTALL_PROGRAM) $$f.tmp $(TKG_LIBRARY)/$$f;\
|
||||
echo "Installing $(BIN_INSTALL_DIR)/$$f";\
|
||||
/bin/rm -f $(BIN_INSTALL_DIR)/$$f;\
|
||||
$(INSTALL_PROGRAM) $$f.tmp $(BIN_INSTALL_DIR)/$$f;\
|
||||
done
|
||||
@echo
|
||||
@echo "tkgoodstuff installation completed."
|
||||
@echo
|
||||
|
||||
Makefile: $(SRCDIR)/Makefile.in $(SRCDIR)/libs/Makefile.in
|
||||
$(SHELL) $(SRCDIR)/configure
|
||||
|
||||
clean:
|
||||
@rm -f *.tmp
|
||||
@cd libs; $(MAKE) clean
|
||||
@echo
|
||||
@echo "Cleaning done."
|
||||
@echo
|
||||
|
||||
distclean:
|
||||
@rm -f config.* Makefile *.tmp
|
||||
@cd libs; $(MAKE) distclean
|
65
README
Executable file
65
README
Executable file
|
@ -0,0 +1,65 @@
|
|||
README for TkGoodStuff version 8.0-final, 1 Oct, 1997
|
||||
|
||||
TkGoodStuff for the X Window System is an alarm clock, biff, file
|
||||
watcher, modem dialer/network status indicator, note-taker,
|
||||
web-browser launch tool, system load monitor, application/utility
|
||||
menu, Win95-like task bar, and whatever else you want.
|
||||
|
||||
TkGoodStuff produces a button bar. It is easily configured and
|
||||
modified with the on-line GUI preferences manager (*no* rc-file
|
||||
hacking). There is a "screen-edge" mode, in which the bar occupies an
|
||||
edge of the screen, can be dragged to other edges, and can
|
||||
auto-minimize (shrink to a line at the screen-edge). For users of the
|
||||
fvwm window manager (though tkgoodstuff works without fvwm),
|
||||
tkgoodstuff serves all the functions of the Windows95 taskbar, and
|
||||
then some.
|
||||
|
||||
You can configure buttons to launch applications (with lots of
|
||||
configurable options), you can "swallow" any application's window into
|
||||
your tkgoodstuff panel, and several "clients" are included (you can
|
||||
also write your own with a tcl/tk script---an example is provided):
|
||||
|
||||
-- analog/digital alarm clock
|
||||
-- biff (check/scan/read new mail; handles multiple folders
|
||||
and alert levels, MH folders, IMAP mailboxes)
|
||||
-- PPP (or SLIP or TERM) net link GUI dialer and status
|
||||
indicator (with sophisticated redialing and login
|
||||
scripting).
|
||||
-- FVWM support, including Win95-like bar of buttons for open
|
||||
and iconified windows, as well as a pager.
|
||||
-- launcher for WWW browsers (lets you visit the URL in the
|
||||
current X selection with one click)
|
||||
-- note-taker (tool for quickly jotting down and organizing
|
||||
scraps of information)
|
||||
-- calendar/alarm support (for Ical-generated calendar files)
|
||||
-- system load monitor (graphical and/or digital display)
|
||||
-- Menu button, for launching applications and running
|
||||
utilities (the menu is GUI-configured).
|
||||
-- "webster" net dictionary client
|
||||
-- calculator with scrollable history and hex/dec/oct modes
|
||||
(perpetually alpha, until someone adopts it as a project!)
|
||||
-- POP/IMAP mail fetch scheduler.
|
||||
-- file watcher: look for changes in (multiple) log files
|
||||
-- launcher for tkman (operates with X selection like WWW
|
||||
client)
|
||||
|
||||
Documentation including screen-shots is available on the WWW,
|
||||
at:
|
||||
|
||||
http://www-personal.umich.edu/~markcrim/tkgoodstuff
|
||||
|
||||
The html documentation also is included in the distribution.
|
||||
|
||||
Source is available at the web site.
|
||||
|
||||
! ! ********* Requires tcl/tk8.0. ********** ! !
|
||||
|
||||
INSTALLATION: please read the html documentation. If you know what
|
||||
you are doing and just hate reading, you can try the "./configure" and
|
||||
"make" and "make install" thing. It might work.
|
||||
|
||||
---
|
||||
With this release I've stopped working on tkgoodstuff. Anyone who
|
||||
would like to take over is most welcome.
|
||||
|
||||
markcrim@umich.edu
|
9
TIPS
Executable file
9
TIPS
Executable file
|
@ -0,0 +1,9 @@
|
|||
VARIOUS TIPS AND IDEAS --- Contributed tips/ideas welcome.
|
||||
----------------------
|
||||
|
||||
[1] Suppose you want to see the output from a unix command. Use the
|
||||
following Tcl command (either with a Button or a Menu item):
|
||||
|
||||
TKGDialog -title "LPQ:" -message \[ exec lpq -Plp2 \]
|
||||
|
||||
Note: tkgoodtuff will not respond as long as shmoo is running.
|
65
TODO
Executable file
65
TODO
Executable file
|
@ -0,0 +1,65 @@
|
|||
TO DO:
|
||||
------
|
||||
|
||||
(Thanks to anyone who helps with any of these; let me know what you're
|
||||
working on. I encourage you to new clients---it's not that hard!)
|
||||
|
||||
1. Allow selection of button behavior NextOrExec in preferences
|
||||
(button stays up, does FvwmNextOrExec rather than exec). Move all
|
||||
this into a special preferences pane on button behavior (loaded with
|
||||
Fvwm.tcl):
|
||||
- Default: Button launches application and stays sunken until
|
||||
application process exists.
|
||||
- NextOrExec: Button moves to next window whose name matches the
|
||||
specified pattern, executes the unix command if there is no such
|
||||
window, and does not remain sunken.
|
||||
- Window-tracking:
|
||||
|
||||
2. Ical uses a Clock hook; what if Clock isn't loaded? Make
|
||||
clock async stuff a general util. & make Clock & ical & others rely on
|
||||
it (the general async scheduler should treat multiples of a minute
|
||||
differently from other stuff; that way async stuff happens less often
|
||||
and there is less overlap).
|
||||
|
||||
3. In tkFvwm.c, create an image type "fvwmmini" that creates an image
|
||||
of the fvwm2 mini-icon for each window id? Use Ioi Lam's xpm code for
|
||||
a start? Anyone with X programming experience who'd like to take this
|
||||
on?
|
||||
|
||||
4. Dragging with a swallowed window makes the swallowing window blow
|
||||
up (somehow gridded geometry management is getting used?).
|
||||
|
||||
5. Have a menu item in the Button config dialog. Bind menu to <3>,
|
||||
and to <1> if no other command. Include menu item "Properties" for
|
||||
button preferences.
|
||||
|
||||
6. Incorporate new tcl/tk file browser at appropriate points.
|
||||
|
||||
7. A switch to exec commands (Button, Menu, Run) to execute as root.
|
||||
Get root password once & keep it.
|
||||
|
||||
8. XSettings client. Set screen background (color or imagefile using
|
||||
xv), bell properties, mouse properties, screen saver (with xset).
|
||||
Actually set these at tkgoodstuff startup, and launch settings window
|
||||
(using tabbed notebook) on button 1. Make button optional, and
|
||||
include an "X Settings" menu item.
|
||||
|
||||
9. Allow fvwm2 bindings (using the new string send facility):
|
||||
Alt-Tab: FvwmNext (better, keep a list in order of most recent
|
||||
focus---do this for the main Fvwm database?).
|
||||
Our Menu bound to mouse on root window.
|
||||
|
||||
10. Provide a "TKGMaximize" button in fvwm borders (which maximizes up
|
||||
to the tkgoodstuff main panel)?
|
||||
|
||||
11. Redo sizing for preferences frames.
|
||||
|
||||
12. In Menu client, allow a PATH item that has cascades for PATH
|
||||
directories (and big directories are subdivided by first character?).
|
||||
|
||||
13. Make "name type" property for distinguishing window name from
|
||||
resource class, etc (for WindowList, FvwmButtonBehavior, etc.).
|
||||
|
||||
14. Handle raising previous preferences window better on dismiss.
|
||||
|
||||
15. In configure, allow --with-tclConfig.sh=filename.
|
17
config.cache
Executable file
17
config.cache
Executable file
|
@ -0,0 +1,17 @@
|
|||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
# scripts and configure runs. It is not useful on other systems.
|
||||
# If it contains results you don't want to keep, you may remove or edit it.
|
||||
#
|
||||
# By default, configure uses ./config.cache as the cache file,
|
||||
# creating it if it does not exist already. You can give configure
|
||||
# the --cache-file=FILE option to use a different cache file; that is
|
||||
# what configure does when it calls configure scripts in
|
||||
# subdirectories, so they share the cache.
|
||||
# Giving --cache-file=/dev/null disables caching, for debugging configure.
|
||||
# config.status only pays attention to the cache file if you give it the
|
||||
# --recheck option to rerun configure.
|
||||
#
|
||||
ac_cv_path_TCLSH=${ac_cv_path_TCLSH='/usr/bin/tclsh8.0'}
|
||||
ac_cv_path_WISH=${ac_cv_path_WISH='/usr/bin/wish8.0'}
|
||||
ac_cv_path_install=${ac_cv_path_install='/usr/bin/install -c'}
|
3
config.log
Executable file
3
config.log
Executable file
|
@ -0,0 +1,3 @@
|
|||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
142
config.status
Executable file
142
config.status
Executable file
|
@ -0,0 +1,142 @@
|
|||
#! /bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host gluttony:
|
||||
#
|
||||
# ./configure
|
||||
#
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in ./config.log if it exists.
|
||||
|
||||
ac_cs_usage="Usage: ./config.status [--recheck] [--version] [--help]"
|
||||
for ac_option
|
||||
do
|
||||
case "$ac_option" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
echo "running ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion"
|
||||
exec ${CONFIG_SHELL-/bin/sh} ./configure --no-create --no-recursion ;;
|
||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||
echo "./config.status generated by autoconf version 2.9"
|
||||
exit 0 ;;
|
||||
-help | --help | --hel | --he | --h)
|
||||
echo "$ac_cs_usage"; exit 0 ;;
|
||||
*) echo "$ac_cs_usage"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ac_given_srcdir=.
|
||||
ac_given_INSTALL="/usr/bin/install -c"
|
||||
|
||||
trap 'rm -fr Makefile libs/Makefile conftest*; exit 1' 1 2 15
|
||||
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\&%]/\\&/g;
|
||||
s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
|
||||
/^[ ]*VPATH[ ]*=[^:]*$/d
|
||||
|
||||
s%@CFLAGS@%%g
|
||||
s%@CPPFLAGS@%%g
|
||||
s%@CXXFLAGS@%%g
|
||||
s%@DEFS@% %g
|
||||
s%@LDFLAGS@%%g
|
||||
s%@LIBS@%%g
|
||||
s%@exec_prefix@%${prefix}%g
|
||||
s%@prefix@%/usr%g
|
||||
s%@program_transform_name@%s,x,x,%g
|
||||
s%@bindir@%${exec_prefix}/bin%g
|
||||
s%@sbindir@%${exec_prefix}/sbin%g
|
||||
s%@libexecdir@%${exec_prefix}/libexec%g
|
||||
s%@datadir@%${prefix}/share%g
|
||||
s%@sysconfdir@%${prefix}/etc%g
|
||||
s%@sharedstatedir@%${prefix}/com%g
|
||||
s%@localstatedir@%${prefix}/var%g
|
||||
s%@libdir@%${exec_prefix}/lib%g
|
||||
s%@includedir@%${prefix}/include%g
|
||||
s%@oldincludedir@%/usr/include%g
|
||||
s%@infodir@%${prefix}/info%g
|
||||
s%@mandir@%${prefix}/man%g
|
||||
s%@TCLSH@%/usr/bin/tclsh8.0%g
|
||||
s%@WISH@%/usr/bin/wish8.0%g
|
||||
s%@INSTALL_PROGRAM@%${INSTALL}%g
|
||||
s%@INSTALL_DATA@%${INSTALL} -m 644%g
|
||||
s%@INSTALL@%/usr/bin/install -c%g
|
||||
s%@VERSION@%8.0%g
|
||||
s%@TKG_LIBRARY@%%g
|
||||
s%@TKG_LANGUAGE@%english%g
|
||||
s%@TCL_CC@%gcc%g
|
||||
s%@TCL_DEFS@% -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DNEED_MATHERR=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1 %g
|
||||
s%@TCL_PREFIX@%/usr%g
|
||||
s%@TCL_LD_FLAGS@%-rdynamic%g
|
||||
s%@TCL_LD_SEARCH_FLAGS@%%g
|
||||
s%@TCL_LIBS@%-ldl -lm%g
|
||||
s%@TCL_LIB_SPEC@%-L/usr/lib -ltcl8.0%g
|
||||
s%@TK_PREFIX@%/usr%g
|
||||
s%@TK_EXEC_PREFIX@%/usr%g
|
||||
s%@TK_DEFS@% -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 %g
|
||||
s%@TK_LIB_SPEC@%-L/usr/lib -ltk8.0%g
|
||||
s%@TK_BUILD_LIB_SPEC@%-L/usr/src/bs/BUILD/tcltk-8.0.2/tk8.0/unix -ltk8.0%g
|
||||
s%@TK_LIBS@%-L/usr/X11R6/lib -lX11 -ldl -lm%g
|
||||
s%@TK_XINCLUDES@%-I/usr/X11R6/include%g
|
||||
s%@TK_XLIBSW@%-L/usr/X11R6/lib -lX11%g
|
||||
s%@EXECSHELL@%%g
|
||||
|
||||
CEOF
|
||||
|
||||
CONFIG_FILES=${CONFIG_FILES-"Makefile libs/Makefile"}
|
||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
# Adjust relative srcdir, etc. for subdirectories.
|
||||
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
|
||||
else
|
||||
ac_dir_suffix= ac_dots=
|
||||
fi
|
||||
|
||||
case "$ac_given_srcdir" in
|
||||
.) srcdir=.
|
||||
if test -z "$ac_dots"; then top_srcdir=.
|
||||
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
|
||||
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
|
||||
*) # Relative path.
|
||||
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
case "$ac_given_INSTALL" in
|
||||
[/$]*) INSTALL="$ac_given_INSTALL" ;;
|
||||
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
||||
esac
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
|
||||
case "$ac_file" in
|
||||
*Makefile*) ac_comsub="1i\\
|
||||
# $configure_input" ;;
|
||||
*) ac_comsub= ;;
|
||||
esac
|
||||
sed -e "$ac_comsub
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.subs
|
||||
|
||||
|
||||
|
||||
exit 0
|
970
configure
vendored
Executable file
970
configure
vendored
Executable file
|
@ -0,0 +1,970 @@
|
|||
#! /bin/sh
|
||||
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated automatically using autoconf version 2.9
|
||||
# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
|
||||
#
|
||||
# This configure script is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy, distribute and modify it.
|
||||
|
||||
# Defaults:
|
||||
ac_help=
|
||||
ac_default_prefix=/usr/local
|
||||
# Any additions from configure.in:
|
||||
ac_help="$ac_help
|
||||
"""
|
||||
|
||||
# Initialize some variables set by options.
|
||||
# The variables have the same names as the options, with
|
||||
# dashes changed to underlines.
|
||||
build=NONE
|
||||
cache_file=./config.cache
|
||||
exec_prefix=NONE
|
||||
host=NONE
|
||||
no_create=
|
||||
nonopt=NONE
|
||||
no_recursion=
|
||||
prefix=NONE
|
||||
program_prefix=NONE
|
||||
program_suffix=NONE
|
||||
program_transform_name=s,x,x,
|
||||
silent=
|
||||
site=
|
||||
srcdir=
|
||||
target=NONE
|
||||
verbose=
|
||||
x_includes=NONE
|
||||
x_libraries=NONE
|
||||
bindir='${exec_prefix}/bin'
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
datadir='${prefix}/share'
|
||||
sysconfdir='${prefix}/etc'
|
||||
sharedstatedir='${prefix}/com'
|
||||
localstatedir='${prefix}/var'
|
||||
libdir='${exec_prefix}/lib'
|
||||
includedir='${prefix}/include'
|
||||
oldincludedir='/usr/include'
|
||||
infodir='${prefix}/info'
|
||||
mandir='${prefix}/man'
|
||||
|
||||
# Initialize some other variables.
|
||||
subdirs=
|
||||
MFLAGS= MAKEFLAGS=
|
||||
|
||||
ac_prev=
|
||||
for ac_option
|
||||
do
|
||||
|
||||
# If the previous option needs an argument, assign it.
|
||||
if test -n "$ac_prev"; then
|
||||
eval "$ac_prev=\$ac_option"
|
||||
ac_prev=
|
||||
continue
|
||||
fi
|
||||
|
||||
case "$ac_option" in
|
||||
-*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
|
||||
*) ac_optarg= ;;
|
||||
esac
|
||||
|
||||
# Accept the important Cygnus configure options, so we can diagnose typos.
|
||||
|
||||
case "$ac_option" in
|
||||
|
||||
-bindir | --bindir | --bindi | --bind | --bin | --bi)
|
||||
ac_prev=bindir ;;
|
||||
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
|
||||
bindir="$ac_optarg" ;;
|
||||
|
||||
-build | --build | --buil | --bui | --bu)
|
||||
ac_prev=build ;;
|
||||
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
|
||||
build="$ac_optarg" ;;
|
||||
|
||||
-cache-file | --cache-file | --cache-fil | --cache-fi \
|
||||
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
|
||||
ac_prev=cache_file ;;
|
||||
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
|
||||
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
|
||||
cache_file="$ac_optarg" ;;
|
||||
|
||||
-datadir | --datadir | --datadi | --datad | --data | --dat | --da)
|
||||
ac_prev=datadir ;;
|
||||
-datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
|
||||
| --da=*)
|
||||
datadir="$ac_optarg" ;;
|
||||
|
||||
-disable-* | --disable-*)
|
||||
ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
|
||||
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
|
||||
eval "enable_${ac_feature}=no" ;;
|
||||
|
||||
-enable-* | --enable-*)
|
||||
ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
|
||||
{ echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_feature=`echo $ac_feature| sed 's/-/_/g'`
|
||||
case "$ac_option" in
|
||||
*=*) ;;
|
||||
*) ac_optarg=yes ;;
|
||||
esac
|
||||
eval "enable_${ac_feature}='$ac_optarg'" ;;
|
||||
|
||||
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
|
||||
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
|
||||
| --exec | --exe | --ex)
|
||||
ac_prev=exec_prefix ;;
|
||||
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
|
||||
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
|
||||
| --exec=* | --exe=* | --ex=*)
|
||||
exec_prefix="$ac_optarg" ;;
|
||||
|
||||
-gas | --gas | --ga | --g)
|
||||
# Obsolete; use --with-gas.
|
||||
with_gas=yes ;;
|
||||
|
||||
-help | --help | --hel | --he)
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat << EOF
|
||||
Usage: configure [options] [host]
|
||||
Options: [defaults in brackets after descriptions]
|
||||
Configuration:
|
||||
--cache-file=FILE cache test results in FILE
|
||||
--help print this message
|
||||
--no-create do not create output files
|
||||
--quiet, --silent do not print \`checking...' messages
|
||||
--version print the version of autoconf that created configure
|
||||
Directory and file names:
|
||||
--prefix=PREFIX install architecture-independent files in PREFIX
|
||||
[$ac_default_prefix]
|
||||
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
|
||||
[same as prefix]
|
||||
--bindir=DIR user executables in DIR [EPREFIX/bin]
|
||||
--sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
|
||||
--libexecdir=DIR program executables in DIR [EPREFIX/libexec]
|
||||
--datadir=DIR read-only architecture-independent data in DIR
|
||||
[PREFIX/share]
|
||||
--sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data in DIR
|
||||
[PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
|
||||
--libdir=DIR object code libraries in DIR [EPREFIX/lib]
|
||||
--includedir=DIR C header files in DIR [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
|
||||
--infodir=DIR info documentation in DIR [PREFIX/info]
|
||||
--mandir=DIR man documentation in DIR [PREFIX/man]
|
||||
--srcdir=DIR find the sources in DIR [configure dir or ..]
|
||||
--program-prefix=PREFIX prepend PREFIX to installed program names
|
||||
--program-suffix=SUFFIX append SUFFIX to installed program names
|
||||
--program-transform-name=PROGRAM
|
||||
run sed PROGRAM on installed program names
|
||||
EOF
|
||||
cat << EOF
|
||||
Host type:
|
||||
--build=BUILD configure for building on BUILD [BUILD=HOST]
|
||||
--host=HOST configure for HOST [guessed]
|
||||
--target=TARGET configure for TARGET [TARGET=HOST]
|
||||
Features and packages:
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--x-includes=DIR X include files are in DIR
|
||||
--x-libraries=DIR X library files are in DIR
|
||||
EOF
|
||||
if test -n "$ac_help"; then
|
||||
echo "--enable and --with options recognized:$ac_help"
|
||||
fi
|
||||
exit 0 ;;
|
||||
|
||||
-host | --host | --hos | --ho)
|
||||
ac_prev=host ;;
|
||||
-host=* | --host=* | --hos=* | --ho=*)
|
||||
host="$ac_optarg" ;;
|
||||
|
||||
-includedir | --includedir | --includedi | --included | --include \
|
||||
| --includ | --inclu | --incl | --inc)
|
||||
ac_prev=includedir ;;
|
||||
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
|
||||
| --includ=* | --inclu=* | --incl=* | --inc=*)
|
||||
includedir="$ac_optarg" ;;
|
||||
|
||||
-infodir | --infodir | --infodi | --infod | --info | --inf)
|
||||
ac_prev=infodir ;;
|
||||
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
|
||||
infodir="$ac_optarg" ;;
|
||||
|
||||
-libdir | --libdir | --libdi | --libd)
|
||||
ac_prev=libdir ;;
|
||||
-libdir=* | --libdir=* | --libdi=* | --libd=*)
|
||||
libdir="$ac_optarg" ;;
|
||||
|
||||
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
|
||||
| --libexe | --libex | --libe)
|
||||
ac_prev=libexecdir ;;
|
||||
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
|
||||
| --libexe=* | --libex=* | --libe=*)
|
||||
libexecdir="$ac_optarg" ;;
|
||||
|
||||
-localstatedir | --localstatedir | --localstatedi | --localstated \
|
||||
| --localstate | --localstat | --localsta | --localst \
|
||||
| --locals | --local | --loca | --loc | --lo)
|
||||
ac_prev=localstatedir ;;
|
||||
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
|
||||
| --localstate=* | --localstat=* | --localsta=* | --localst=* \
|
||||
| --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
|
||||
localstatedir="$ac_optarg" ;;
|
||||
|
||||
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
|
||||
ac_prev=mandir ;;
|
||||
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
|
||||
mandir="$ac_optarg" ;;
|
||||
|
||||
-nfp | --nfp | --nf)
|
||||
# Obsolete; use --without-fp.
|
||||
with_fp=no ;;
|
||||
|
||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
||||
| --no-cr | --no-c)
|
||||
no_create=yes ;;
|
||||
|
||||
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
||||
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
|
||||
no_recursion=yes ;;
|
||||
|
||||
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
|
||||
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
|
||||
| --oldin | --oldi | --old | --ol | --o)
|
||||
ac_prev=oldincludedir ;;
|
||||
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
|
||||
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
|
||||
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
|
||||
oldincludedir="$ac_optarg" ;;
|
||||
|
||||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
||||
ac_prev=prefix ;;
|
||||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
||||
prefix="$ac_optarg" ;;
|
||||
|
||||
-program-prefix | --program-prefix | --program-prefi | --program-pref \
|
||||
| --program-pre | --program-pr | --program-p)
|
||||
ac_prev=program_prefix ;;
|
||||
-program-prefix=* | --program-prefix=* | --program-prefi=* \
|
||||
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
|
||||
program_prefix="$ac_optarg" ;;
|
||||
|
||||
-program-suffix | --program-suffix | --program-suffi | --program-suff \
|
||||
| --program-suf | --program-su | --program-s)
|
||||
ac_prev=program_suffix ;;
|
||||
-program-suffix=* | --program-suffix=* | --program-suffi=* \
|
||||
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
|
||||
program_suffix="$ac_optarg" ;;
|
||||
|
||||
-program-transform-name | --program-transform-name \
|
||||
| --program-transform-nam | --program-transform-na \
|
||||
| --program-transform-n | --program-transform- \
|
||||
| --program-transform | --program-transfor \
|
||||
| --program-transfo | --program-transf \
|
||||
| --program-trans | --program-tran \
|
||||
| --progr-tra | --program-tr | --program-t)
|
||||
ac_prev=program_transform_name ;;
|
||||
-program-transform-name=* | --program-transform-name=* \
|
||||
| --program-transform-nam=* | --program-transform-na=* \
|
||||
| --program-transform-n=* | --program-transform-=* \
|
||||
| --program-transform=* | --program-transfor=* \
|
||||
| --program-transfo=* | --program-transf=* \
|
||||
| --program-trans=* | --program-tran=* \
|
||||
| --progr-tra=* | --program-tr=* | --program-t=*)
|
||||
program_transform_name="$ac_optarg" ;;
|
||||
|
||||
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
|
||||
| -silent | --silent | --silen | --sile | --sil)
|
||||
silent=yes ;;
|
||||
|
||||
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
|
||||
ac_prev=sbindir ;;
|
||||
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
|
||||
| --sbi=* | --sb=*)
|
||||
sbindir="$ac_optarg" ;;
|
||||
|
||||
-sharedstatedir | --sharedstatedir | --sharedstatedi \
|
||||
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
|
||||
| --sharedst | --shareds | --shared | --share | --shar \
|
||||
| --sha | --sh)
|
||||
ac_prev=sharedstatedir ;;
|
||||
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
|
||||
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
|
||||
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
|
||||
| --sha=* | --sh=*)
|
||||
sharedstatedir="$ac_optarg" ;;
|
||||
|
||||
-site | --site | --sit)
|
||||
ac_prev=site ;;
|
||||
-site=* | --site=* | --sit=*)
|
||||
site="$ac_optarg" ;;
|
||||
|
||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
|
||||
ac_prev=srcdir ;;
|
||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
|
||||
srcdir="$ac_optarg" ;;
|
||||
|
||||
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
|
||||
| --syscon | --sysco | --sysc | --sys | --sy)
|
||||
ac_prev=sysconfdir ;;
|
||||
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
|
||||
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
|
||||
sysconfdir="$ac_optarg" ;;
|
||||
|
||||
-target | --target | --targe | --targ | --tar | --ta | --t)
|
||||
ac_prev=target ;;
|
||||
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
|
||||
target="$ac_optarg" ;;
|
||||
|
||||
-v | -verbose | --verbose | --verbos | --verbo | --verb)
|
||||
verbose=yes ;;
|
||||
|
||||
-version | --version | --versio | --versi | --vers)
|
||||
echo "configure generated by autoconf version 2.9"
|
||||
exit 0 ;;
|
||||
|
||||
-with-* | --with-*)
|
||||
ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
|
||||
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_package=`echo $ac_package| sed 's/-/_/g'`
|
||||
case "$ac_option" in
|
||||
*=*) ;;
|
||||
*) ac_optarg=yes ;;
|
||||
esac
|
||||
eval "with_${ac_package}='$ac_optarg'" ;;
|
||||
|
||||
-without-* | --without-*)
|
||||
ac_package=`echo $ac_option|sed -e 's/-*without-//'`
|
||||
# Reject names that are not valid shell variable names.
|
||||
if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
|
||||
{ echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
|
||||
fi
|
||||
ac_package=`echo $ac_package| sed 's/-/_/g'`
|
||||
eval "with_${ac_package}=no" ;;
|
||||
|
||||
--x)
|
||||
# Obsolete; use --with-x.
|
||||
with_x=yes ;;
|
||||
|
||||
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
|
||||
| --x-incl | --x-inc | --x-in | --x-i)
|
||||
ac_prev=x_includes ;;
|
||||
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
|
||||
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
|
||||
x_includes="$ac_optarg" ;;
|
||||
|
||||
-x-libraries | --x-libraries | --x-librarie | --x-librari \
|
||||
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
|
||||
ac_prev=x_libraries ;;
|
||||
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
|
||||
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
|
||||
x_libraries="$ac_optarg" ;;
|
||||
|
||||
-*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
|
||||
echo "configure: warning: $ac_option: invalid host type" 1>&2
|
||||
fi
|
||||
if test "x$nonopt" != xNONE; then
|
||||
{ echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
|
||||
fi
|
||||
nonopt="$ac_option"
|
||||
;;
|
||||
|
||||
esac
|
||||
done
|
||||
|
||||
if test -n "$ac_prev"; then
|
||||
{ echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
|
||||
fi
|
||||
|
||||
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
|
||||
|
||||
# File descriptor usage:
|
||||
# 0 standard input
|
||||
# 1 file creation
|
||||
# 2 errors and warnings
|
||||
# 3 some systems may open it to /dev/tty
|
||||
# 4 used on the Kubota Titan
|
||||
# 6 checking for... messages and results
|
||||
# 5 compiler messages saved in config.log
|
||||
if test "$silent" = yes; then
|
||||
exec 6>/dev/null
|
||||
else
|
||||
exec 6>&1
|
||||
fi
|
||||
exec 5>./config.log
|
||||
|
||||
echo "\
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
" 1>&5
|
||||
|
||||
# Strip out --no-create and --no-recursion so they do not pile up.
|
||||
# Also quote any args containing shell metacharacters.
|
||||
ac_configure_args=
|
||||
for ac_arg
|
||||
do
|
||||
case "$ac_arg" in
|
||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
|
||||
| --no-cr | --no-c) ;;
|
||||
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
|
||||
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
|
||||
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
|
||||
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
|
||||
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# NLS nuisances.
|
||||
# Only set LANG and LC_ALL to C if already set.
|
||||
# These must not be set unconditionally because not all systems understand
|
||||
# e.g. LANG=C (notably SCO).
|
||||
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
|
||||
if test "${LANG+set}" = set; then LANG=C; export LANG; fi
|
||||
|
||||
# confdefs.h avoids OS command line length limits that DEFS can exceed.
|
||||
rm -rf conftest* confdefs.h
|
||||
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
|
||||
echo > confdefs.h
|
||||
|
||||
# A filename unique to this package, relative to the directory that
|
||||
# configure is in, which we can look for to find out if srcdir is correct.
|
||||
ac_unique_file=tcl/Biff.tcl
|
||||
|
||||
# Find the source files, if location was not specified.
|
||||
if test -z "$srcdir"; then
|
||||
ac_srcdir_defaulted=yes
|
||||
# Try the directory containing this script, then its parent.
|
||||
ac_prog=$0
|
||||
ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
|
||||
test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
|
||||
srcdir=$ac_confdir
|
||||
if test ! -r $srcdir/$ac_unique_file; then
|
||||
srcdir=..
|
||||
fi
|
||||
else
|
||||
ac_srcdir_defaulted=no
|
||||
fi
|
||||
if test ! -r $srcdir/$ac_unique_file; then
|
||||
if test "$ac_srcdir_defaulted" = yes; then
|
||||
{ echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
|
||||
else
|
||||
{ echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
|
||||
fi
|
||||
fi
|
||||
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
|
||||
|
||||
# Prefer explicitly selected file to automatically selected ones.
|
||||
if test -z "$CONFIG_SITE"; then
|
||||
if test "x$prefix" != xNONE; then
|
||||
CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
|
||||
else
|
||||
CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
|
||||
fi
|
||||
fi
|
||||
for ac_site_file in $CONFIG_SITE; do
|
||||
if test -r "$ac_site_file"; then
|
||||
echo "loading site script $ac_site_file"
|
||||
. "$ac_site_file"
|
||||
fi
|
||||
done
|
||||
|
||||
if test -r "$cache_file"; then
|
||||
echo "loading cache $cache_file"
|
||||
. $cache_file
|
||||
else
|
||||
echo "creating cache $cache_file"
|
||||
> $cache_file
|
||||
fi
|
||||
|
||||
ac_ext=c
|
||||
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
|
||||
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
|
||||
|
||||
if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
|
||||
# Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
|
||||
if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
|
||||
ac_n= ac_c='
|
||||
' ac_t=' '
|
||||
else
|
||||
ac_n=-n ac_c= ac_t=
|
||||
fi
|
||||
else
|
||||
ac_n= ac_c='\c' ac_t=
|
||||
fi
|
||||
|
||||
|
||||
|
||||
TCLTK_MAJORNEEDED=8
|
||||
TCLTK_MINORNEEDED=0
|
||||
|
||||
# NOTE: If configure can't find your tclConfig.sh, add its directory here:
|
||||
dirlist='/usr/local /usr'
|
||||
|
||||
if test -d $prefix
|
||||
then
|
||||
dirlist=$prefix
|
||||
else
|
||||
dirlist="$dirlist `echo $PATH | sed -e 's/:/ /g' | sed -e 's/\/bin\/* / /g'`"
|
||||
fi
|
||||
|
||||
abort () {
|
||||
echo
|
||||
echo "Aborting. $*"
|
||||
echo
|
||||
exit
|
||||
}
|
||||
|
||||
VERSION=${TCLTK_MAJORNEEDED}.${TCLTK_MINORNEEDED}
|
||||
|
||||
# Find appropriate tclConfig.sh and
|
||||
# recover information that Tcl computed with its configure script.
|
||||
|
||||
TCLCONFIGSH=""
|
||||
for prefix in $dirlist; do
|
||||
if test -f $prefix/lib/tclConfig.sh; then
|
||||
TCLCONFIGSH=$prefix/lib/tclConfig.sh
|
||||
. $TCLCONFIGSH
|
||||
if test `expr \( $TCL_MAJOR_VERSION \< $TCLTK_MAJORNEEDED \) \| \( $TCL_MINOR_VERSION \< $TCLTK_MINORNEEDED \)` = 0
|
||||
then
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
test -f "$TCLCONFIGSH" || abort "Can't find any tclConfig.sh"
|
||||
if test `expr \( $TCL_MAJOR_VERSION \< $TCLTK_MAJORNEEDED \) \| \( $TCL_MINOR_VERSION \< $TCLTK_MINORNEEDED \)` = 1
|
||||
then
|
||||
abort "Need but can't find tclConfig.sh for Tcl ${TCLTK_MAJORNEEDED}.${TCLTK_MINORNEEDED} or later."
|
||||
fi
|
||||
echo "using $TCLCONFIGSH"
|
||||
|
||||
TKCONFIGSH=${prefix}/lib/tkConfig.sh
|
||||
test -f "$TKCONFIGSH" || abort "Can't find any tkConfig.sh"
|
||||
. $TKCONFIGSH
|
||||
if test `expr \( $TK_MAJOR_VERSION \< $TCLTK_MAJORNEEDED \) \| \( $TK_MINOR_VERSION \< $TCLTK_MINORNEEDED \)` = 1
|
||||
then abort "Need but can't find tkConfig.sh for Tk ${TCLTK_MAJORNEEDED}.${TCLTK_MINORNEEDED} or later."
|
||||
fi
|
||||
echo "using $TKCONFIGSH"
|
||||
|
||||
# Extract the first word of "tclsh$TCL_VERSION", so it can be a program name with args.
|
||||
set dummy tclsh$TCL_VERSION; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
case "$TCLSH" in
|
||||
/*)
|
||||
ac_cv_path_TCLSH="$TCLSH" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_path_TCLSH="$ac_dir/$ac_word"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_TCLSH" && ac_cv_path_TCLSH=""""
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
TCLSH="$ac_cv_path_TCLSH"
|
||||
if test -n "$TCLSH"; then
|
||||
echo "$ac_t""$TCLSH" 1>&6
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
if test -z "$TCLSH"
|
||||
then abort "Is tcl${TCLTK_MAJORNEEDED}.$TCLTK_MINORNEEDED or later installed? (Cannot find appropriate tclsh.)"
|
||||
fi
|
||||
# Extract the first word of "wish$TK_VERSION", so it can be a program name with args.
|
||||
set dummy wish$TK_VERSION; ac_word=$2
|
||||
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
|
||||
if eval "test \"`echo '$''{'ac_cv_path_WISH'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
case "$WISH" in
|
||||
/*)
|
||||
ac_cv_path_WISH="$WISH" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
if test -f $ac_dir/$ac_word; then
|
||||
ac_cv_path_WISH="$ac_dir/$ac_word"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
test -z "$ac_cv_path_WISH" && ac_cv_path_WISH=""""
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
WISH="$ac_cv_path_WISH"
|
||||
if test -n "$WISH"; then
|
||||
echo "$ac_t""$WISH" 1>&6
|
||||
else
|
||||
echo "$ac_t""no" 1>&6
|
||||
fi
|
||||
|
||||
if test -z "$WISH"
|
||||
then abort "Is tk${TCLTK_MAJORNEEDED}.$TCLTK_MINORNEEDED or later installed? (Cannot find appropriate wish.)"
|
||||
fi
|
||||
|
||||
TKG_LANGUAGE=english
|
||||
# Check whether --enable-french or --disable-french was given.
|
||||
if test "${enable_french+set}" = set; then
|
||||
enableval="$enable_french"
|
||||
TKG_LANGUAGE=french
|
||||
fi
|
||||
|
||||
|
||||
ac_aux_dir=
|
||||
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
|
||||
if test -f $ac_dir/install-sh; then
|
||||
ac_aux_dir=$ac_dir
|
||||
ac_install_sh="$ac_aux_dir/install-sh -c"
|
||||
break
|
||||
elif test -f $ac_dir/install.sh; then
|
||||
ac_aux_dir=$ac_dir
|
||||
ac_install_sh="$ac_aux_dir/install.sh -c"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$ac_aux_dir"; then
|
||||
{ echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
|
||||
fi
|
||||
ac_config_guess=$ac_aux_dir/config.guess
|
||||
ac_config_sub=$ac_aux_dir/config.sub
|
||||
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
|
||||
|
||||
# Find a good install program. We prefer a C program (faster),
|
||||
# so one script is as good as another. But avoid the broken or
|
||||
# incompatible versions:
|
||||
# SysV /etc/install, /usr/sbin/install
|
||||
# SunOS /usr/etc/install
|
||||
# IRIX /sbin/install
|
||||
# AIX /bin/install
|
||||
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
|
||||
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
|
||||
# ./install, which can be erroneously created by make from ./install.sh.
|
||||
echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
|
||||
if test -z "$INSTALL"; then
|
||||
if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
|
||||
echo $ac_n "(cached) $ac_c" 1>&6
|
||||
else
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
|
||||
for ac_dir in $PATH; do
|
||||
# Account for people who put trailing slashes in PATH elements.
|
||||
case "$ac_dir/" in
|
||||
/|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
|
||||
*)
|
||||
# OSF1 and SCO ODT 3.0 have their own names for install.
|
||||
for ac_prog in ginstall installbsd scoinst install; do
|
||||
if test -f $ac_dir/$ac_prog; then
|
||||
if test $ac_prog = install &&
|
||||
grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
|
||||
# AIX install. It has an incompatible calling convention.
|
||||
# OSF/1 installbsd also uses dspmsg, but is usable.
|
||||
:
|
||||
else
|
||||
ac_cv_path_install="$ac_dir/$ac_prog -c"
|
||||
break 2
|
||||
fi
|
||||
fi
|
||||
done
|
||||
;;
|
||||
esac
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
|
||||
fi
|
||||
if test "${ac_cv_path_install+set}" = set; then
|
||||
INSTALL="$ac_cv_path_install"
|
||||
else
|
||||
# As a last resort, use the slow shell script. We don't cache a
|
||||
# path for INSTALL within a source directory, because that will
|
||||
# break other packages using the cache if that directory is
|
||||
# removed, or if the path is relative.
|
||||
INSTALL="$ac_install_sh"
|
||||
fi
|
||||
fi
|
||||
echo "$ac_t""$INSTALL" 1>&6
|
||||
|
||||
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
|
||||
# It thinks the first close brace ends the variable substitution.
|
||||
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
|
||||
|
||||
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
trap '' 1 2 15
|
||||
cat > confcache <<\EOF
|
||||
# This file is a shell script that caches the results of configure
|
||||
# tests run on this system so they can be shared between configure
|
||||
# scripts and configure runs. It is not useful on other systems.
|
||||
# If it contains results you don't want to keep, you may remove or edit it.
|
||||
#
|
||||
# By default, configure uses ./config.cache as the cache file,
|
||||
# creating it if it does not exist already. You can give configure
|
||||
# the --cache-file=FILE option to use a different cache file; that is
|
||||
# what configure does when it calls configure scripts in
|
||||
# subdirectories, so they share the cache.
|
||||
# Giving --cache-file=/dev/null disables caching, for debugging configure.
|
||||
# config.status only pays attention to the cache file if you give it the
|
||||
# --recheck option to rerun configure.
|
||||
#
|
||||
EOF
|
||||
# Ultrix sh set writes to stderr and can't be redirected directly,
|
||||
# and sets the high bit in the cache file unless we assign to the vars.
|
||||
(set) 2>&1 |
|
||||
sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
|
||||
>> confcache
|
||||
if cmp -s $cache_file confcache; then
|
||||
:
|
||||
else
|
||||
if test -w $cache_file; then
|
||||
echo "updating cache $cache_file"
|
||||
cat confcache > $cache_file
|
||||
else
|
||||
echo "not updating unwritable cache $cache_file"
|
||||
fi
|
||||
fi
|
||||
rm -f confcache
|
||||
|
||||
trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
|
||||
|
||||
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
||||
# Let make expand exec_prefix.
|
||||
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
||||
|
||||
# Any assignment to VPATH causes Sun make to only execute
|
||||
# the first set of double-colon rules, so remove it if not needed.
|
||||
# If there is a colon in the path, we need to keep it.
|
||||
if test "x$srcdir" = x.; then
|
||||
ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
|
||||
fi
|
||||
|
||||
trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
|
||||
|
||||
# Transform confdefs.h into DEFS.
|
||||
# Protect against shell expansion while executing Makefile rules.
|
||||
# Protect against Makefile macro expansion.
|
||||
cat > conftest.defs <<\EOF
|
||||
s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
|
||||
s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
|
||||
s%\[%\\&%g
|
||||
s%\]%\\&%g
|
||||
s%\$%$$%g
|
||||
EOF
|
||||
DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
|
||||
rm -f conftest.defs
|
||||
|
||||
|
||||
# Without the "./", some shells look in PATH for config.status.
|
||||
: ${CONFIG_STATUS=./config.status}
|
||||
|
||||
echo creating $CONFIG_STATUS
|
||||
rm -f $CONFIG_STATUS
|
||||
cat > $CONFIG_STATUS <<EOF
|
||||
#! /bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
|
||||
#
|
||||
# $0 $ac_configure_args
|
||||
#
|
||||
# Compiler output produced by configure, useful for debugging
|
||||
# configure, is in ./config.log if it exists.
|
||||
|
||||
ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
|
||||
for ac_option
|
||||
do
|
||||
case "\$ac_option" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
|
||||
exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
|
||||
-version | --version | --versio | --versi | --vers | --ver | --ve | --v)
|
||||
echo "$CONFIG_STATUS generated by autoconf version 2.9"
|
||||
exit 0 ;;
|
||||
-help | --help | --hel | --he | --h)
|
||||
echo "\$ac_cs_usage"; exit 0 ;;
|
||||
*) echo "\$ac_cs_usage"; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
ac_given_srcdir=$srcdir
|
||||
ac_given_INSTALL="$INSTALL"
|
||||
|
||||
trap 'rm -fr `echo "Makefile libs/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
# Protect against being on the right side of a sed subst in config.status.
|
||||
sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
|
||||
s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
|
||||
$ac_vpsub
|
||||
$extrasub
|
||||
s%@CFLAGS@%$CFLAGS%g
|
||||
s%@CPPFLAGS@%$CPPFLAGS%g
|
||||
s%@CXXFLAGS@%$CXXFLAGS%g
|
||||
s%@DEFS@%$DEFS%g
|
||||
s%@LDFLAGS@%$LDFLAGS%g
|
||||
s%@LIBS@%$LIBS%g
|
||||
s%@exec_prefix@%$exec_prefix%g
|
||||
s%@prefix@%$prefix%g
|
||||
s%@program_transform_name@%$program_transform_name%g
|
||||
s%@bindir@%$bindir%g
|
||||
s%@sbindir@%$sbindir%g
|
||||
s%@libexecdir@%$libexecdir%g
|
||||
s%@datadir@%$datadir%g
|
||||
s%@sysconfdir@%$sysconfdir%g
|
||||
s%@sharedstatedir@%$sharedstatedir%g
|
||||
s%@localstatedir@%$localstatedir%g
|
||||
s%@libdir@%$libdir%g
|
||||
s%@includedir@%$includedir%g
|
||||
s%@oldincludedir@%$oldincludedir%g
|
||||
s%@infodir@%$infodir%g
|
||||
s%@mandir@%$mandir%g
|
||||
s%@TCLSH@%$TCLSH%g
|
||||
s%@WISH@%$WISH%g
|
||||
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
|
||||
s%@INSTALL_DATA@%$INSTALL_DATA%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
s%@VERSION@%$VERSION%g
|
||||
s%@TKG_LIBRARY@%$TKG_LIBRARY%g
|
||||
s%@TKG_LANGUAGE@%$TKG_LANGUAGE%g
|
||||
s%@TCL_CC@%$TCL_CC%g
|
||||
s%@TCL_DEFS@%$TCL_DEFS%g
|
||||
s%@TCL_PREFIX@%$TCL_PREFIX%g
|
||||
s%@TCL_LD_FLAGS@%$TCL_LD_FLAGS%g
|
||||
s%@TCL_LD_SEARCH_FLAGS@%$TCL_LD_SEARCH_FLAGS%g
|
||||
s%@TCL_LIBS@%$TCL_LIBS%g
|
||||
s%@TCL_LIB_SPEC@%$TCL_LIB_SPEC%g
|
||||
s%@TK_PREFIX@%$TK_PREFIX%g
|
||||
s%@TK_EXEC_PREFIX@%$TK_EXEC_PREFIX%g
|
||||
s%@TK_DEFS@%$TK_DEFS%g
|
||||
s%@TK_LIB_SPEC@%$TK_LIB_SPEC%g
|
||||
s%@TK_BUILD_LIB_SPEC@%$TK_BUILD_LIB_SPEC%g
|
||||
s%@TK_LIBS@%$TK_LIBS%g
|
||||
s%@TK_XINCLUDES@%$TK_XINCLUDES%g
|
||||
s%@TK_XLIBSW@%$TK_XLIBSW%g
|
||||
s%@EXECSHELL@%$EXECSHELL%g
|
||||
|
||||
CEOF
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<EOF
|
||||
|
||||
CONFIG_FILES=\${CONFIG_FILES-"Makefile libs/Makefile"}
|
||||
EOF
|
||||
cat >> $CONFIG_STATUS <<\EOF
|
||||
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
|
||||
# Support "outfile[:infile]", defaulting infile="outfile.in".
|
||||
case "$ac_file" in
|
||||
*:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
|
||||
ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
|
||||
*) ac_file_in="${ac_file}.in" ;;
|
||||
esac
|
||||
|
||||
# Adjust relative srcdir, etc. for subdirectories.
|
||||
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
|
||||
# The file is in a subdirectory.
|
||||
test ! -d "$ac_dir" && mkdir "$ac_dir"
|
||||
ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
|
||||
# A "../" for each directory in $ac_dir_suffix.
|
||||
ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
|
||||
else
|
||||
ac_dir_suffix= ac_dots=
|
||||
fi
|
||||
|
||||
case "$ac_given_srcdir" in
|
||||
.) srcdir=.
|
||||
if test -z "$ac_dots"; then top_srcdir=.
|
||||
else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
|
||||
/*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
|
||||
*) # Relative path.
|
||||
srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
|
||||
top_srcdir="$ac_dots$ac_given_srcdir" ;;
|
||||
esac
|
||||
|
||||
case "$ac_given_INSTALL" in
|
||||
[/$]*) INSTALL="$ac_given_INSTALL" ;;
|
||||
*) INSTALL="$ac_dots$ac_given_INSTALL" ;;
|
||||
esac
|
||||
echo creating "$ac_file"
|
||||
rm -f "$ac_file"
|
||||
configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
|
||||
case "$ac_file" in
|
||||
*Makefile*) ac_comsub="1i\\
|
||||
# $configure_input" ;;
|
||||
*) ac_comsub= ;;
|
||||
esac
|
||||
sed -e "$ac_comsub
|
||||
s%@configure_input@%$configure_input%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@top_srcdir@%$top_srcdir%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
|
||||
fi; done
|
||||
rm -f conftest.subs
|
||||
|
||||
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x $CONFIG_STATUS
|
||||
rm -fr confdefs* $ac_clean_files
|
||||
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
|
||||
|
97
configure.in
Executable file
97
configure.in
Executable file
|
@ -0,0 +1,97 @@
|
|||
dnl This file is an input file used by the GNU "autoconf" program to
|
||||
dnl generate the file "configure", which is run to configure the
|
||||
dnl Makefile in this directory.
|
||||
|
||||
# Ensure we're in the correct directory
|
||||
AC_INIT(tcl/Biff.tcl)
|
||||
|
||||
TCLTK_MAJORNEEDED=8
|
||||
TCLTK_MINORNEEDED=0
|
||||
|
||||
# NOTE: If configure can't find your tclConfig.sh, add its directory here:
|
||||
dirlist='/usr/local /usr'
|
||||
|
||||
if test -d $prefix
|
||||
then
|
||||
dirlist=$prefix
|
||||
else
|
||||
dirlist="$dirlist `echo $PATH | sed -e 's/:/ /g' | sed -e 's/\/bin[\/]* / /g'`"
|
||||
fi
|
||||
|
||||
abort () {
|
||||
echo
|
||||
echo "Aborting. $*"
|
||||
echo
|
||||
exit
|
||||
}
|
||||
|
||||
VERSION=${TCLTK_MAJORNEEDED}.${TCLTK_MINORNEEDED}
|
||||
|
||||
# Find appropriate tclConfig.sh and
|
||||
# recover information that Tcl computed with its configure script.
|
||||
|
||||
TCLCONFIGSH=""
|
||||
for prefix in $dirlist; do
|
||||
if test -f $prefix/lib/tclConfig.sh; then
|
||||
TCLCONFIGSH=$prefix/lib/tclConfig.sh
|
||||
. $TCLCONFIGSH
|
||||
if test `expr \( $TCL_MAJOR_VERSION \< $TCLTK_MAJORNEEDED \) \| \( $TCL_MINOR_VERSION \< $TCLTK_MINORNEEDED \)` = 0
|
||||
then
|
||||
break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
test -f "$TCLCONFIGSH" || abort "Can't find any tclConfig.sh"
|
||||
if test `expr \( $TCL_MAJOR_VERSION \< $TCLTK_MAJORNEEDED \) \| \( $TCL_MINOR_VERSION \< $TCLTK_MINORNEEDED \)` = 1
|
||||
then
|
||||
abort "Need but can't find tclConfig.sh for Tcl ${TCLTK_MAJORNEEDED}.${TCLTK_MINORNEEDED} or later."
|
||||
fi
|
||||
echo "using $TCLCONFIGSH"
|
||||
|
||||
TKCONFIGSH=${prefix}/lib/tkConfig.sh
|
||||
test -f "$TKCONFIGSH" || abort "Can't find any tkConfig.sh"
|
||||
. $TKCONFIGSH
|
||||
if test `expr \( $TK_MAJOR_VERSION \< $TCLTK_MAJORNEEDED \) \| \( $TK_MINOR_VERSION \< $TCLTK_MINORNEEDED \)` = 1
|
||||
then abort "Need but can't find tkConfig.sh for Tk ${TCLTK_MAJORNEEDED}.${TCLTK_MINORNEEDED} or later."
|
||||
fi
|
||||
echo "using $TKCONFIGSH"
|
||||
|
||||
AC_PATH_PROG(TCLSH,tclsh$TCL_VERSION,"")
|
||||
if test -z "$TCLSH"
|
||||
then abort "Is tcl${TCLTK_MAJORNEEDED}.$TCLTK_MINORNEEDED or later installed? (Cannot find appropriate tclsh.)"
|
||||
fi
|
||||
AC_PATH_PROG(WISH,wish$TK_VERSION,"")
|
||||
if test -z "$WISH"
|
||||
then abort "Is tk${TCLTK_MAJORNEEDED}.$TCLTK_MINORNEEDED or later installed? (Cannot find appropriate wish.)"
|
||||
fi
|
||||
|
||||
TKG_LANGUAGE=english
|
||||
AC_ARG_ENABLE(french,"",TKG_LANGUAGE=french)
|
||||
|
||||
AC_PROG_INSTALL
|
||||
|
||||
AC_SUBST(INSTALL)
|
||||
AC_SUBST(INSTALL_PROGRAM)
|
||||
AC_SUBST(INSTALL_DATA)
|
||||
AC_SUBST(VERSION)
|
||||
AC_SUBST(TKG_LIBRARY)
|
||||
AC_SUBST(TKG_LANGUAGE)
|
||||
AC_SUBST(TCL_CC)
|
||||
AC_SUBST(TCL_DEFS)
|
||||
AC_SUBST(TCL_PREFIX)
|
||||
AC_SUBST(TCL_LD_FLAGS)
|
||||
AC_SUBST(TCL_LD_SEARCH_FLAGS)
|
||||
AC_SUBST(TCL_LIBS)
|
||||
AC_SUBST(TCL_LIB_SPEC)
|
||||
AC_SUBST(TK_PREFIX)
|
||||
AC_SUBST(TK_EXEC_PREFIX)
|
||||
AC_SUBST(TK_DEFS)
|
||||
AC_SUBST(TK_LIB_SPEC)
|
||||
AC_SUBST(TK_BUILD_LIB_SPEC)
|
||||
AC_SUBST(TK_LIBS)
|
||||
AC_SUBST(TK_XINCLUDES)
|
||||
AC_SUBST(TK_XLIBSW)
|
||||
AC_SUBST(TCLSH)
|
||||
AC_SUBST(EXECSHELL)
|
||||
|
||||
AC_OUTPUT(Makefile libs/Makefile)
|
470
doc/CHANGES
Executable file
470
doc/CHANGES
Executable file
|
@ -0,0 +1,470 @@
|
|||
8.0: Here I (MC) leave off development of tkgoodstuff. Anyone who
|
||||
would like to adopt it is most welcome.
|
||||
|
||||
8.0b2:
|
||||
|
||||
8.0b1:
|
||||
|
||||
- Hacked at some of the C stuff for compatibility with
|
||||
tcl/tk8.0b1. (5/28/97)
|
||||
|
||||
- Ken Hornstein's netscape-remote doesn't work with
|
||||
Netscape 4.0 until b5, and it won't compile with tcl8.0b1,
|
||||
so I'm just doing "netscape -remote" for now (this doesn't work
|
||||
with Netscape 4.0 before b5 either, but it works with
|
||||
tcl8.0b1). (5/30/97)
|
||||
|
||||
- Simplified some of the configure/install stuff. (6/11/97)
|
||||
|
||||
8.0a2:
|
||||
|
||||
- Fvwm2's geometry management had been a little broken, which
|
||||
explained the odd stuff tkgoodstuff panels had to do to span a
|
||||
screenedge. I've sent a patch to the fvwm2 maintainer (Chuck
|
||||
Hines) for fvwm2.0.45; the patch is included in this distribution.
|
||||
In keeping with No-Backward-Compatibility, now you need to upgrade
|
||||
to fvwm2.0.45 (and use the patch) to get screenedge mode to work.
|
||||
I'm sure you can figure out how to patch fvwm95 similarly. (Sorry
|
||||
about that, but it relieves one of my biggest headaches.) (1/27/97)
|
||||
|
||||
- Font preferences use a font selector. Relatedly, font handling
|
||||
is a bit saner. (2/3/97; more font stuff fiddling 2/6/97)
|
||||
|
||||
- The default relief for buttons (globally or individually) is flat
|
||||
(for a sleek look). A preferences item still allows raised
|
||||
buttons. (2/6/97)
|
||||
|
||||
- Bells are more distinctive: the alarm (and Ical) bells are a
|
||||
little louder and longer than your regular ^G beep, and in Biff
|
||||
and Watch, the pitch of the bell corresponds to the alert level.
|
||||
If you have several Watch'ed files and Biff'ed mailboxes, you can
|
||||
get a nice (?) little tune on tkgoodstuff startup. (2/10/97)
|
||||
|
||||
- Bug fix: in revising the tkgbutton.tcl code we lost a level
|
||||
of substitution on the unix command. Thanks C. Roth (2/12/97)
|
||||
|
||||
- Help "balloons" code simplified. Balloons no longer time out.
|
||||
(2/13/97)
|
||||
|
||||
- Hierarchical listbox widget improved. For example, you can drop
|
||||
items "within" items that permit children. (2/14/97)
|
||||
|
||||
- Bug fix: geometry handled improperly in restart caused
|
||||
panelbuttons not to work. (2/15/97)
|
||||
|
||||
- Bug fix: tkgbuttons could freeze on doubleclick. (2/15/97)
|
||||
|
||||
- Bug fix: switches like "-font" in a button's unix command would
|
||||
be modified. (2/16/97)
|
||||
|
||||
- New client "Watch". Like Erik Kahler's "WatchDog" except it
|
||||
allows multiple files to be watched, as in Biff. Includes a lister
|
||||
that functions like "tail -f", and which allows you to view in one
|
||||
window all (or a selected group of) the files being
|
||||
watched. (2/12/97)
|
||||
+ Added indications in multiple-file viewer of which files have
|
||||
changed and which one changed most recently. (2/15/97)
|
||||
|
||||
- WindowList:
|
||||
+ We use a "tkgframe" instead of a text widget. Somewhat
|
||||
zippier, and lets us put the panel tile image (if any) in the
|
||||
background (or another tile image of the user's preference).
|
||||
Looks a little bit different. (1/30/97)
|
||||
+ (bugfix) A panel containing only WindowList wouldn't size
|
||||
properly, and windows wouldn't show up. (4/3/97)
|
||||
|
||||
- Biff:
|
||||
+ For MH folders, if folder or .mh_sequence doesn't exist, make
|
||||
the message counter (in menu or on button) zero. (bugfix;
|
||||
2/6/97)
|
||||
+ Brushed up IMAP mailbox checker. We keep the IMAP socket up
|
||||
between checks; otherwise it's very hard to reliably check for
|
||||
new mail. (2/17/97)
|
||||
+ Added preference setting for IMAP port. (4/15/97)
|
||||
+ If you choose "exmh" as the "unix command to execute instead
|
||||
of using tkgoodstuff's lister" for an MH folder, then if exmh is
|
||||
already running we direct exmh to the folder.
|
||||
+ (bugfix) Standard atime method reset new-mail indicator at
|
||||
second check.
|
||||
|
||||
- TkMan:
|
||||
+ (bugfix) some button preferences were ignored (2/22/97).
|
||||
+ Raise tkman window when using button <3> to view a manpage (if
|
||||
fvwm is used).
|
||||
|
||||
- Webster:
|
||||
+ Webster servers have disappeared (copyright issues, I guess).
|
||||
So now the Webster button directs your browser to look up
|
||||
the definition of a word at the Merriam-Webster site (a better
|
||||
dictionary anyway, but sometimes slow response). You can change
|
||||
the URL if you know a better one.
|
||||
+ A. Burt contributes bugfixes and an entry dialog (which Webster
|
||||
should have had from the start).
|
||||
|
||||
- Pager: (bug fix) really ignore the tkgoodstuff main panel (in
|
||||
tk8.0 this has the id [wm wrapper .main-panel]. (4/9/97)
|
||||
|
||||
|
||||
8.0a1:
|
||||
|
||||
- Ok, forget 4.2, we may as well work with 8.0. Get tcl/tk8.0a2 or
|
||||
later (a1 has relevant bugs). As always, we don't do backward
|
||||
compatibility (too much work). There probably are quite a few
|
||||
bugs. I'd appreciate your testing this, but beware.
|
||||
|
||||
- Buttons and panels now can have tiled background images.
|
||||
|
||||
- Rewrote the tkgbutton extension code around the tkButton.c and
|
||||
tkUnixButton.c in tk8.0. This code allows buttons, labels, etc.,
|
||||
to have images as well as text. Added "-textweight" and
|
||||
"-imageweight" options (like the option to "grid
|
||||
row/columnconfigure). Also wrote code for "tkgframe" widgets (like
|
||||
frames/toplevels, but allow background tiles).
|
||||
|
||||
- Color preference items use the new tk color selector.
|
||||
|
||||
- Killed (or at least maimed) some bugs:
|
||||
+ an old one that caused us to lose some preferences changes.
|
||||
+ one that made "Fill" items cause errors.
|
||||
+ one that abandoned your specified icon-side when the panel is
|
||||
dragged to another screen-edge.
|
||||
+ one that made gcc choke when compiling on Solaris 2.4.
|
||||
+ Text now gravitates to the bottom of button when below
|
||||
image.
|
||||
+ A preferences label implied that leaving the button text field
|
||||
blank would give you text anyway (which would be silly).
|
||||
|
||||
- Main Menu button can have icon on it and/or text. By default, it
|
||||
now has a pale blue "TKG" icon in the background (I'd welcome a
|
||||
nifty logo-ish thing if anyone out there is less art-challenged
|
||||
than me).
|
||||
|
||||
- Now when you insert an item in the hierarchical list widget, the
|
||||
new item is always visible and highlighted.
|
||||
|
||||
- Biff:
|
||||
+ Menu indicating which mailboxes have new mail now can be a
|
||||
tear-off menu.
|
||||
+ That same menu can now replace the Biff button on the
|
||||
tkgoodstuff panel. (For some reason this breaks the ability to
|
||||
drag windows from WindowList into Pager. Tk bug?)
|
||||
+ When you click with button 3 in single-mailbox mode, or select
|
||||
a mailbox from the menu in multiple-mailbox mode, we allow
|
||||
an arbitrary unix command instead of calling up tkgoodstuff's
|
||||
new-mail lister (so you can start a mailer directed at a
|
||||
particular mailbox instead of using our lister).
|
||||
|
||||
4.2b1:
|
||||
|
||||
- New versions are for use with tcl7.6/tk4.2.
|
||||
|
||||
- Got rid of BLT fuctionality. This saves many configuration
|
||||
headaches. However, this means that drag&drop no longer is
|
||||
supported (you can't drag files onto tkgoodstuff buttons). Also,
|
||||
certain programs can fool tkgoodstuff buttons into rising before
|
||||
the programs actually exit (namely, programs that freopen()
|
||||
stdout). You can get around this by calling instead a shell
|
||||
script that simply runs the offending program:
|
||||
|
||||
#!/bin/sh
|
||||
knews
|
||||
|
||||
|
||||
4.1:
|
||||
|
||||
- Auto-configuration now is more standard GNU: we assume you want
|
||||
to install in /usr/local/... unless you specify otherwise (with
|
||||
"./configure --prefix=/some/directory"), rather than assuming that
|
||||
you want to install wherever tcl and tk are installed. Also, we
|
||||
look for tcl/tk headers in more places.
|
||||
|
||||
- Default is now to make tkgwish (to cut down on compilation
|
||||
gripes), but if you configure with "--enable-libs", then you get
|
||||
loadable libraries instead: libtkg (with image+text button code),
|
||||
libpixmap, libtkfvwm, libtkSteal, libblt, libtkNetscape.
|
||||
|
||||
- Used "unprotoize" on tkNetscape.c so that SunOS's non-ANSI
|
||||
compiler doesn't choke on the function prototypes.
|
||||
|
||||
- The preferences manager now uses tabbed notebooks to give you
|
||||
that warm'n'cozy GUI feeling, at no cost in added functionality!
|
||||
(The tabbed notebook widget, like the hierarchical list widget, is
|
||||
core tcl/tk only.)
|
||||
|
||||
- New button option: "Fvwm button behavior". If set (and using the
|
||||
fvwm2 or fvwm95 window manager!), then the relief of the button
|
||||
(raised/sunken) is sensitive only to the existence of a window of
|
||||
the given name. This way, your unix command button will be sunken
|
||||
even if you start your application without pressing the button
|
||||
(e.g., with a window manager menu or on a command line), and even
|
||||
if you restart tkgoodstuff.
|
||||
|
||||
- Incoporated the "netscape-remote" tk extension by Ken Hornstein,
|
||||
which makes for quicker visits to selected URL's with the WWW
|
||||
client.
|
||||
|
||||
- Now you can use fvwm modules as swallow and menu items (just make
|
||||
the unix command, e.g., "FvwmPager 0 1").
|
||||
|
||||
- NOTE: Various code uniformization that (a) is certain to
|
||||
introduce a bug or two, and (b) unfortunately meant renaming some
|
||||
preferences variables, which means that some of your preferences
|
||||
will have to be redone. Sorry about that.
|
||||
|
||||
- Biff:
|
||||
+ New mailbox method "IMAP": check and read new mail at a remote
|
||||
IMAP server. Consider this feature ALPHA, since I'm the only one
|
||||
who has tested it (reports welcome). It should work on any
|
||||
IMAP-2bis or IMAP4 server.
|
||||
+ Biff mailboxes are now individually configurable with an hlist
|
||||
widget gizmo. They can have different checking intervals, etc.
|
||||
+ Mailboxes now are assigned "alert levels" of white, green,
|
||||
yellow, or red, which determines what icon is shown for new mail.
|
||||
|
||||
+ Fvwm: When going to a window we give it focus or not depending on
|
||||
whether the window has style flags set for ClickToFocus or
|
||||
SloppyFocus. This way we give a window focus whenever we can do so
|
||||
without warping the pointer.
|
||||
|
||||
- Pager:
|
||||
+ Clicking on the current page cycles through the open
|
||||
windows on the page.
|
||||
+ Clicking on another page always goes to the window last
|
||||
selected on that page, if any.
|
||||
+ Find some way of reminding people (everybody forgets this) that
|
||||
you can move windows between pages and desktops by dragging with
|
||||
mouse button 2 from the WindowList to the Pager.
|
||||
|
||||
- Dialer: Oops: we had been sending the dial command twice, which
|
||||
could produce inexplicable "NO CARRIER" messages.
|
||||
|
||||
4.1b8: 6/9/96
|
||||
|
||||
- Incoporated bgexec and drag&drop from BLT, which means that the
|
||||
handling of executed programs is less kludgy, and that you can drag
|
||||
files from tkdesk to tkgoodstuff buttons.
|
||||
|
||||
- Incorporated TkSteal, and added the element type "Swallow", which
|
||||
lets you put an external X application window in the tkgoodstuff
|
||||
bar.
|
||||
|
||||
- Main panel is now just another panel. This helped kill a bug
|
||||
(which is tk's, I think) that was tweaked in the screen-edge
|
||||
dragging and resulted in segmentation faults.
|
||||
|
||||
- Added a balloon help feature (annoyance? it's defeasible).
|
||||
|
||||
- Added a commented example client "Example.tcl", which may take
|
||||
a lot of the mystery out of writing a simple client.
|
||||
|
||||
- Added a preferences item for a list of tcl code directories to
|
||||
prepend to auto_path (so that you can use your own tcl code without
|
||||
writing a client).
|
||||
|
||||
- Buttons now can have images as backgrounds (the text is written
|
||||
over the image): set the "side" of the icon to "background".
|
||||
|
||||
- WWW and Fvwm handling much improved thanks to A. Burt (who
|
||||
contributed lots of bug fixes elsewhere too).
|
||||
|
||||
- WindowList:
|
||||
+ keep usual icon when iconified (foreground color still grayed
|
||||
out). Easier to tell what program is iconified this way.
|
||||
+ Added default icons for file managers (xfm and tkdesk) and man
|
||||
page readers (xman and tkman).
|
||||
|
||||
- PopImap: Keep track of fetch process and don't overlap (thanks
|
||||
T. Fries).
|
||||
|
||||
4.1b7: 5/22/96
|
||||
|
||||
There have been quite a few changes that are sure to introduce new
|
||||
bugs. Please inform me of any troubles, providing as much
|
||||
information as you can about your platform, your .tkgrc, etc.
|
||||
|
||||
- The latest tkgoodstuff and the latest CHANGES file is now
|
||||
available at the web site.
|
||||
|
||||
- The GUI installation tool has been replaced by a GNU autoconf
|
||||
thing ("./configure" then "make", then "make install"). Probably
|
||||
there are still importabilities, so please let me know how it goes.
|
||||
|
||||
- The xpm and fvwm extensions are now wrapped into "libtkg", which
|
||||
is compiled and installed automatically at tkgoodstuff installation
|
||||
(this way you don't have to install, and I don't have to maintain,
|
||||
as many packages). If someone wants to pull them apart and
|
||||
maintain them individually, be my guest.
|
||||
|
||||
- If the Tcl installation doesn't support loadable libraries, we
|
||||
make and use tkgwish. You can force this with
|
||||
"configure --enable-tkgwish". (Worth a try if the C compilation
|
||||
fails.)
|
||||
|
||||
- The panel (including main panel) and menu configurations are now
|
||||
done with a point-and-click, drag-and-drop hierarchical list widget
|
||||
with little icons to make you feel safe-and-secure. It's harder to
|
||||
screw up your configuration or menu now (or it should be when the
|
||||
bugs get ironed out).
|
||||
|
||||
- The image+text tkgbutton code is now done in C (and is part of
|
||||
libtkg). This simplifies and speeds up various things.
|
||||
|
||||
- Dragging a (screenedge mode) main panel (by its border) to other
|
||||
edges of the screen now works without restarting tkgoodstuff. If
|
||||
you have used the defaults, the arrangement of icons, labels, etc,
|
||||
changes to suit the new orientation.
|
||||
|
||||
- No more "Dismiss" buttons in panels produced by PanelButtons,
|
||||
since they can be dismissed by clicking on the PanelButton.
|
||||
|
||||
- Clock now shows time only by default, and toggles to show the
|
||||
date temporarily when the mouse pointer enters the clock window.
|
||||
|
||||
- The tkgoodstuff menu now can be used anywhere in the Menu client
|
||||
menu as a cascade (before it would pop up oddly). Also, for now
|
||||
there is only one Menu client menu (anyone sorely miss having 3?).
|
||||
|
||||
- We take advantage of the /proc filesystem (e.g., on Linux):
|
||||
+ Load now reads /proc/loadavg if it exists (and otherwise exec's
|
||||
uptime).
|
||||
+ Net now by default reads /proc/net/route if it exists (and
|
||||
otherwise exec's ifconfig).
|
||||
|
||||
4.1b6: 4/30/96
|
||||
|
||||
- There is a new on-line preferences manager (so you don't have to
|
||||
edit the rc file by hand). Start up tkgoodstuff. You will get a
|
||||
default configuration. Select Preferences from the tkgoodstuff
|
||||
menu, and choose the "Configuration" section. Here, add, delete or
|
||||
move Client, AddButton, AddLabelBox, stacking, and panel-creating
|
||||
commands. Then, save the preferences and restart. Now you can set
|
||||
using the preferences manager the things you used to have to adjust
|
||||
with variables.
|
||||
|
||||
- tkgoodstuff:
|
||||
|
||||
+ New options for icon scale and font scale (small or large).
|
||||
Also, where an iconfile is called for, you can specify
|
||||
"%biffnew" and tkgoodstuff will look, depending on whether the
|
||||
scale is small or large, for biffnew.xpm or biffnew-sm.xpm.
|
||||
|
||||
+ New option for standard padding inside buttons, etc. Adjust
|
||||
to 0 for very busy but compact look, to 2 or 3 for more roomy
|
||||
look.
|
||||
|
||||
+ Now you can specify a pathlist of icon directories
|
||||
in the preferences manager. You also can specify an icon that
|
||||
is somewhere in that path with just its name (full filenames
|
||||
work too).
|
||||
|
||||
+ In fullscreen mode, now you can "drag" the main border to
|
||||
move the panel to another edge of the screen. It's a quick
|
||||
hack (if we go from horizontal to vertical or vice versa we
|
||||
save a changed fullscreen-side preference and restart
|
||||
tkgoodstuff), but nothing wouldn't be better. We should really
|
||||
be able to do this on the fly (which means regridding, and
|
||||
resizing the auto-sized clients (Clock, Pager, Load).
|
||||
|
||||
+ Also there is a new option Auto-minimize which in fullscreen
|
||||
mode reduces tkgoodstuff to a line along the edge of the screen
|
||||
when the mouse leaves the tkgoodstuff panel.
|
||||
|
||||
+ Killed (I hope) bug without understanding why: sometimes in
|
||||
auto-minimize mode clicking on a panelbutton would cause an
|
||||
error whose entire stack trace is ("after" script). Since
|
||||
removing an "update" command from TKGPanelButtonInvoke, I no
|
||||
longer see this problem. Any speculations as to why would be
|
||||
welcome!
|
||||
|
||||
- New Client: TkMan, by G. Dezern, interfaces with the tkman man
|
||||
page viewer the way our WWW client interfaces with web browsers.
|
||||
|
||||
- WindowList: Shorten windownames before using scrollbar (patch
|
||||
from E. Kahler).
|
||||
|
||||
- Biff:
|
||||
+ Mail-checking methods now work as advertised (thanks R. Angiel
|
||||
and G. Dezern). I hope.
|
||||
+ Optional on-button display of number of new messages (except
|
||||
for users of the mh method). (Thanks R. Angiel.)
|
||||
+ Display of new messages was too fancy, or not fancy enough, to
|
||||
work right; now we just display the entire header with the message.
|
||||
+ MH method much, much improved thanks to G. Dezern.
|
||||
+ Multiple mailbox support thanks to G. Dezern.
|
||||
|
||||
- Net:
|
||||
+ Added elapsed-time-of-connection counter.
|
||||
+ Deleted net-type from label.
|
||||
|
||||
- Jots and Calc: respond sensibly to window manager DELETEs.
|
||||
|
||||
- Icons: ruthless color-pruning. Now the icons use colors from a
|
||||
palette of 19 colors, and tkgoodstuff's default widget colors are
|
||||
among them.
|
||||
|
||||
- tkxpm and tkfvwm: much tidier configure scripts (not using
|
||||
autoconf), relying on tclConfig.sh and tkConfig.sh. Also, fvwm
|
||||
source is no longer needed to compile tkfvwm (libfvwm2.a is now
|
||||
installed at fvwm installation). M. Beynon contributed bug fixes.
|
||||
|
||||
4.1b5: 2/27/96
|
||||
|
||||
Now tkgoodstuff assumes tk4.1b1 or later (we're aiming at supporting
|
||||
the ultimate 4.1 release, and backward compatibility is too much
|
||||
work).
|
||||
|
||||
- tkgoodstuff:
|
||||
|
||||
+ We use the grid geometry manager rather than pack for almost
|
||||
everything. TKGPack is superseded by TKGGrid. Had hoped that
|
||||
this would make fullscreen mode easier, but no.
|
||||
|
||||
+ Added subpanels which are formed with StartPanel and
|
||||
EndPanel, can be linked to a button with PanelButton, or placed
|
||||
on the screen at startup with PutPanel. See the tkgoodstuffrc
|
||||
html docs for more.
|
||||
|
||||
+ Now xpm capability is mandatory. I hope Ioi Lam's xpm image
|
||||
type will get in the core before our main 4.1 release.
|
||||
|
||||
+ "create-label-box" renamed to "TKGLabelBox". NOTE!!!
|
||||
|
||||
+ AddButton and AddLabelBox no longer take a name as first
|
||||
argument. NOTE!!!
|
||||
|
||||
+ Clock_zerotrim moved to tkgoodstuff and called TKGZeroTrim.
|
||||
|
||||
+ Use "ps -p [pid]" if "ps [pid]" gives an error, and don't
|
||||
assume there's a STAT column in the ps output (thanks
|
||||
J. Robinson).
|
||||
|
||||
+ Implement TKGAddToHook and TKGDoHook (general hook
|
||||
utilities). Several hooks are defined (for client use) in
|
||||
tkgoodstuff, Fvwm.tcl, etc.
|
||||
|
||||
+ Change default fonts to non-italic, non-bold.
|
||||
|
||||
- Biff: avoid tcl7.5b1's gets bugs by not doing "gets $f var".
|
||||
|
||||
- New client "Pager" by Eric Kahler. Check out the current
|
||||
version in this distribution. Needs tkgoodstuff to be run as an
|
||||
fvwm module (from the fvwm window manager).
|
||||
|
||||
- New client "Chooser" by Eric Kahler. Pops up a window at
|
||||
startup to let you choose among different tkgoodstuff
|
||||
configuration files.
|
||||
|
||||
- New client in "alpha" stage: Calc (dec/hex/oct calculator).
|
||||
Has paper-tape-like scrollable history. Some features not
|
||||
implemented, but it's fairly usable. I'm not inclined to develop
|
||||
this further right now, so I'd be very happy if someone were to
|
||||
adopt it.
|
||||
|
||||
- New client in "beta" stage: Webster (net dictionary client).
|
||||
Pops up a definition of the word you highlight (the current X
|
||||
selection). Can use unix "webster" command, but also has its own
|
||||
internal webster client code (using the new Tcl socket stuff,
|
||||
with a kludge required because Tcl strings can't yet contain
|
||||
NULLs).
|
||||
|
||||
- The tkfvwm source is now included in the tkgoodstuf
|
55
doc/Example
Executable file
55
doc/Example
Executable file
|
@ -0,0 +1,55 @@
|
|||
# "Example" client code for tkgoodstuff
|
||||
# (replace "Example" throughtout with your own client name)
|
||||
|
||||
|
||||
# This gets called when the panel is being formed
|
||||
|
||||
proc ExampleCreateWindow {} {
|
||||
|
||||
# The following is for redrawing the button when the panel is
|
||||
# redrawn, e.g., following a screen-edge move.
|
||||
if [TKGReGrid Example] return
|
||||
|
||||
global Example-params ;# The array of button parameters
|
||||
|
||||
# This creates a tkgbutton and places it in the appropriate place
|
||||
# in the panel.
|
||||
TKGMakeButton Example \
|
||||
-imagefile xlogo.xpm \
|
||||
-text "Example" \
|
||||
-balloon "This is the\nballoon help text." \
|
||||
-command "ExampleButton1Command"
|
||||
|
||||
# Bind mouse button 3 to another command
|
||||
bind [set Example-params(pathname)] <3> ExampleButton3Command
|
||||
}
|
||||
|
||||
proc ExampleButton1Command {} {
|
||||
TKGNotice "This is the button 1 command"
|
||||
}
|
||||
|
||||
proc ExampleButton3Command {} {
|
||||
TKGNotice "This is one part of the button 3 command"
|
||||
|
||||
# This is how to do unix commands. Note the trailing "&",
|
||||
# which puts the command in the background, so as not to
|
||||
# freeze up tkgoodstuff!
|
||||
exec xmessage "and this is the other part" &
|
||||
}
|
||||
|
||||
# Procedures with special functions:
|
||||
#
|
||||
# ExampleDoOnLoad: called when client is first loaded.
|
||||
#
|
||||
# ExampleDeclare: called just after all the DoOnLoads, and when the
|
||||
# client is added in the preferences manager. Meant for calls to
|
||||
# TKGDeclare. See any client for examples
|
||||
#
|
||||
# ExampleStart: called when all panels have been created (including
|
||||
# after moving to another screen edge.
|
||||
#
|
||||
# ExampleSuspend: called when panel is about to be moved to
|
||||
# another screen edge.
|
||||
|
||||
DEBUG "Loaded Example.tcl"
|
||||
|
91
doc/FAQ
Executable file
91
doc/FAQ
Executable file
|
@ -0,0 +1,91 @@
|
|||
TKGOODSTUFF FAQ
|
||||
---------------
|
||||
|
||||
-- It won't configure because:
|
||||
|
||||
a. It can't find tclConfig.sh (and neither can I)!
|
||||
|
||||
ANSWER: Your installation of tcl/tk is improper. Get the latest
|
||||
from ftp://ftp.smli.com/pub/tcl. The files tclConfig.sh and
|
||||
tkConfig.sh should automatically end up in the same directory as
|
||||
the tcl and tk libraries (such as libtcl8.0.so).
|
||||
|
||||
b. It can't find tclConfig.sh, but it's right there in
|
||||
/smurf/glep/lib!
|
||||
|
||||
ANSWER: Start from scratch with a CLEAN, freshly unpacked
|
||||
distribution, and do:
|
||||
./configure --prefix=/smurf/glep
|
||||
|
||||
c. It can't find tclsh8.0 or (wish8.0), but it's right there in
|
||||
/smurf/glep/bin!
|
||||
|
||||
ANSWER: Be sure your $PATH contains the directory containing
|
||||
wish8.0.
|
||||
|
||||
-- I have difficulty compiling it.
|
||||
ANSWER: The most common problem is that a too-old version of tcl/tk
|
||||
is getting in the way. Be sure there are no tclConfig.sh,
|
||||
tkConfig.sh, tcl.h, and tk.h hanging around from earlier versions
|
||||
of tcl/tk (earlier than the versions that tkgoodstuff needs). You
|
||||
should certainly suspect this if you get such things as:
|
||||
|
||||
undefined reference to `Tk_FontId'
|
||||
|
||||
-- It configures and compiles fine, but it won't run.
|
||||
|
||||
ANSWER:
|
||||
1. Did you install it? Do "make install".
|
||||
2. Are you sure you are executing the installed tkgoodstuff?
|
||||
|
||||
-- When I run it, it dies with "wish8.0: can't load library
|
||||
'libtk8.0.so'".
|
||||
|
||||
ANSWER: Your tcl/tk setup isn't properly installed. Be sure:
|
||||
a. libtk8.0.so exists in a place where your system usually can
|
||||
find libraries (e.g., /usr/local/lib). Perhaps you need to
|
||||
add that directory to /etc/ld.so.conf.
|
||||
b. the permissions on the file are right: the file is readable.
|
||||
c. (if applicable) you have run "ldconfig" (as root).
|
||||
|
||||
-- I have fvwm2 running, but it still says WindowList (or Pager) can't
|
||||
run without fvwm2.
|
||||
|
||||
ANSWER: Read the html docs more carefully. You have to make fvwm
|
||||
run tkgoodstuff AS A MODULE.
|
||||
|
||||
-- I launch tkgoodstuff as an fvwm module, and sometimes after
|
||||
restarting tkgoodstuff several times fvwm eats up all of my CPU.
|
||||
|
||||
ANSWER: This is fvwm's fault. My fix for it is incorporated in
|
||||
fvwm2 versions 2.0.43 and later. So upgrade fvwm2 to 2.1
|
||||
(ftp://ftp.hpc.uh.edu/pub/fvwm).
|
||||
|
||||
-- In screen-edge mode, sometimes (or always) my panel seems to try to
|
||||
grow to the full size of the screen-edge, and then suddenly
|
||||
collapses to a smaller size. I use fvwm or a derivative.
|
||||
|
||||
ANSWER: This too is fvwm's fault. My (single-line) patch for fvwm2
|
||||
is included in the main directory of the tkgoodstuff distribution.
|
||||
I think it will be incorporated in the next fvwm2 version after
|
||||
2.0.45.
|
||||
|
||||
-- Tkgoodstuff (and my window manager, come to think of it) can't find
|
||||
programs that I know are in my $PATH.
|
||||
|
||||
ANSWER: They may be in your PATH when you run your shell in an
|
||||
xterm, but they are not in the path of the program that launched
|
||||
your window manager. Try setting (and using "export" or "setenv",
|
||||
depending on the shell) PATH in your .xsession or .xinitrc, or in
|
||||
whatever script starts your window manager.
|
||||
|
||||
-- I get this annoying error/behavior/whatever...
|
||||
|
||||
ANSWER: We'd love to know more about it. Write to the tkgoodstuff
|
||||
mailing list tkgoodstuff@merv.philosophy.lsa.umich.edu WITH LOTS OF
|
||||
DETAILS, including the exact versions of tkgoodstuff and tcl/tk and
|
||||
(fvwm2 if you're using tkgoodstuff as an fvwm2 module), your
|
||||
platform and OS, the entire stack trace from the error message (you
|
||||
can copy it by selecting it with the mouse), your .tkgrc, and/or
|
||||
whatever details you think might be relevant. Members of the list
|
||||
might be able to help.
|
19
doc/NOTICE
Executable file
19
doc/NOTICE
Executable file
|
@ -0,0 +1,19 @@
|
|||
# tkgoodstuff by Mark Crimmins (markcrim@umich.edu)
|
||||
# copyright (C) 1995-96, all rights reserved.
|
||||
# Void where prohibited. Your mileage may vary.
|
||||
|
||||
# Seriously, enjoy my handiwork, but don't sue me if it causes troubles.
|
||||
# Also, the University of Michigan has NOTHING WHATEVER to do with this
|
||||
# software.
|
||||
|
||||
# This program (the tkgoodstuff package) is free software; you can
|
||||
# redistribute it and/or modify it under the terms of the GNU
|
||||
# General Public License as published by the Free Software
|
||||
# Foundation (version 2 of the License). This program is
|
||||
# distributed in the hope that it will be useful, but WITHOUT ANY
|
||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
||||
# License for more details. For a copy of the GNU General Public
|
||||
# License, write to the Free Software Foundation, Inc., 675 Mass
|
||||
# Ave, Cambridge, MA 02139, USA.
|
||||
|
93
doc/biff.html
Executable file
93
doc/biff.html
Executable file
|
@ -0,0 +1,93 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>TkGoodStuff Biff</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.26 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>TkGoodStuff Biff</H1>
|
||||
|
||||
<H2>Description </H2>
|
||||
|
||||
<P>The Biff client is a new-mail notifier. It provides a button on your
|
||||
tkgoodstuff panel that can display an icon indicating the presence of new
|
||||
mail, a text message indicating "No Mail"/"New Mail",
|
||||
or both (optionally, "New Mail" is replaced by a counter of new
|
||||
messages). A more detailed display is available in multiple-mailbox mode
|
||||
(below).</P>
|
||||
|
||||
<P>Biff watches one or more "mailboxes": mail files, MH folders,
|
||||
or mailboxes on remote IMAP servers. For each mailbox, at a set interval
|
||||
Biff looks for unread messages in the mailbox and flags the presence of
|
||||
new mail by beeping and changing the icon and/or label of the Biff button.
|
||||
Each mailbox is assigned an "alert level", and the new-mail icon
|
||||
indicates the maximum alert-level of all mailboxes with new mail. </P>
|
||||
|
||||
<P>If you configure Biff to watch just one mailbox, it will display on
|
||||
the Biff button the number of new messages in it, if any, and mouse button
|
||||
3 fetches a list of the messages. If you use multiple mailboxes, then mouse
|
||||
button 3 produces a menu that indicates how many new messages are in each
|
||||
mailbox, and which allows you to fetch a list of the messages in any of
|
||||
them. You can click on a message in the message list to view the message
|
||||
in full. If you like, Biff can also post a list of new messages in a mailbox
|
||||
when they arrive. Also, if you use multiple mailboxes, you can replace
|
||||
the normal Biff button in the tkgoodstuff panel with the menu of mailboxes,
|
||||
allowing you to see at a glance how much new mail you have in all of your
|
||||
mailboxes. You can also "tear off" the mailboxes menu to position
|
||||
elsewhere on the screen.</P>
|
||||
|
||||
<P>Clicking mouse button 1 on the Biff button launches your mailer program
|
||||
(the button stays depressed and inoperative until you exit the mailer program).
|
||||
Button 2 instructs Biff to regard as old mail any current new mail (displaying
|
||||
a no-mail icon and/or the label "No Mail"), and to wait until
|
||||
you get yet more mail before notifying you. </P>
|
||||
|
||||
<P>For each mailbox, you can choose (in the preferences manager) between
|
||||
several "methods" of testing for new mail: there are special
|
||||
methods for mailboxes on IMAP servers and for MH mailboxes (you don't know
|
||||
if your mailbox is MH-style? then it's almost certainly not), and three
|
||||
methods for detecting new mail in standard mail files (including spool
|
||||
files, such as the default mailbox /usr/spool/mail/<B>username</B>): "atime",
|
||||
"filesize", and "internal". With the method "atime"
|
||||
(the default), Biff decides that there's new mail when the file has been
|
||||
modified when or after it has last been accessed (its mtime is no less
|
||||
than its atime). With the method "filesize", Biff decides that
|
||||
there's new mail when the file is nonempty. The "internal" method
|
||||
scans the message headers for "Status:" lines, and treats messages
|
||||
with a status of "N" or with no "Status:" line as new.
|
||||
The "atime" or "internal" method is probably best for
|
||||
those who keep old mail in their spool file. The "filesize" method
|
||||
is better for those who normally regard all mail in the spool file as new
|
||||
mail. </P>
|
||||
|
||||
<P>The MH method is only for those using MH mailboxes AND automatic incorporation
|
||||
of new mail (e.g., by slocal or procmail), and is automatically used if
|
||||
the folder to be checked starts with a "+". With the mh method,
|
||||
we assume a message is new if it is in the "u" sequence in the
|
||||
.mh_sequences file in the folder or if its atime isn't after its mtime.
|
||||
NOTE: for automatic incorporation of new mail into MH folders, you must
|
||||
pipe messages (using slocal or procmail or deliver) into the MH program
|
||||
rcvstore, so that the MH unseen sequence is correctly updated. An example
|
||||
from my .procmailrc: </P>
|
||||
|
||||
<PRE>MHLIB=/usr/lib/mh
|
||||
:0
|
||||
* ^(To|Cc|Subject):.*tkgoodstuff.*
|
||||
|$MHLIB/rcvstore +tkg</PRE>
|
||||
|
||||
<P>The IMAP method is for mailboxes on remote IMAP servers. You need to
|
||||
supply the mailbox name and your user name (at the server). Note: if you
|
||||
are unsure about the mailbox name, very likely your mailbox at the server
|
||||
is called "INBOX". You can supply your password (at the server)
|
||||
in the preferences manager, <B>in which case it will be stored in your
|
||||
.tkgrc file (which it's up to you to protect!!)</B>, or you can leave your
|
||||
password blank in the preferences manager, in which case tkgoodstuff will
|
||||
ask you for it when the mailbox is first accessed. </P>
|
||||
|
||||
<P>All parameters are adjustable in the preferences manager. </P>
|
||||
|
||||
<ADDRESS>Thanks to G. Dezern. </ADDRESS>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
41
doc/chooser.html
Executable file
41
doc/chooser.html
Executable file
|
@ -0,0 +1,41 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>tkgoodstuff Watchdog</TITLE>
|
||||
<!-- Changed by: Eric Kahler, Feb-3-1996 -->
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>tkgoodstuff Chooser</H1>
|
||||
|
||||
by Eric Kahler (ekahler@mars.superlink.net)
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
Chooser is a simple client which allows the user to restart
|
||||
tkgoodstuff with a different configuration file, without having to
|
||||
exit tkgoodstuff. Choosing a different configuration can be done by
|
||||
pressing one of a series of buttons which correspond to configuration
|
||||
files, and/or by selecting a configuration file choice from the
|
||||
tkgoodstuff menu.
|
||||
|
||||
<H2>Invocation and Variables</H2>
|
||||
|
||||
While the Chooser client can be added from the preferences manager,
|
||||
quite possibly you will want to use it in a panel that contains only
|
||||
the Chooser client, and so doesn't contain the Clock or the Menu
|
||||
client, and so offers no way to reach the preferences manager. Thus,
|
||||
you might want to configure a configuration file by hand. Here is an
|
||||
example (of an entire tkgoodstuff configuration file) that should show
|
||||
you how to explicitly specify configuration files:
|
||||
|
||||
<PRE>-------Configuration-------
|
||||
TKGSet ChooserList {/usr/local/lib/tkgconfigs/config1 /usr/local/lib/tkgconfigs/config2}
|
||||
Client Chooser</PRE>
|
||||
|
||||
Here is how to select every file in a given directory:
|
||||
|
||||
<PRE>-------Configuration-------
|
||||
TKGSet ChooserList /usr/local/lib/tkgconfigs
|
||||
Client Chooser</PRE>
|
||||
|
||||
It is crucial that the first line of the configuration file is as in these
|
||||
examples (the word "Configuration" with seven dashes on either side).
|
38
doc/clock.html
Executable file
38
doc/clock.html
Executable file
|
@ -0,0 +1,38 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Clock</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Clock</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The Clock client is an analog and digital alarm clock and date
|
||||
display. It can display any combination of an analog clock, the
|
||||
(digital) time, and the date. In combinations, you can choose a
|
||||
horizontal or a vertical orientation.
|
||||
|
||||
<P>
|
||||
|
||||
The alarm utility is used by selecting <B>ALARM</B> from the
|
||||
tkgoodstuff menu and following the simple instructions. When set, a
|
||||
little "A" appears in the top left corner of the analog clock frame,
|
||||
if you are using the analog clock; the color of the font changes if
|
||||
you are using only the digital clock. The alarm itself is a beep and
|
||||
a dialog box containing the message, if any, that you typed in when
|
||||
setting the alarm.
|
||||
|
||||
<P>
|
||||
|
||||
If only the time (or only the date) is displayed, you can see the date
|
||||
(or the time) by entering the clock display briefuly with the mouse pointer.
|
||||
|
||||
<P>
|
||||
|
||||
The Clock also serves as a clicking-point for the tkgoodstuff popup
|
||||
menu (mouse button 1).
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
||||
|
55
doc/dialer.html
Executable file
55
doc/dialer.html
Executable file
|
@ -0,0 +1,55 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>Dialer</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Dialer</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
Dialer is a stand-alone program that is included in the tkgoodstuff
|
||||
distibution. It dials your modem, executes a login script, and
|
||||
(optionally) issues a command to set up the network (such as a pppd
|
||||
command).
|
||||
|
||||
<P> It USED TO BE that to run Dialer you needed the expectk program,
|
||||
but no longer (now Dialer runs on basic tcl/tk). </B>
|
||||
|
||||
<P>
|
||||
Dialer expects a Hayes-compatible modem (like nearly all modems sold
|
||||
these days).
|
||||
</P>
|
||||
|
||||
<P>
|
||||
|
||||
The status of the connection-attempt is presented in a dialog box on
|
||||
the screen. You see what number is being dialed, what speed you
|
||||
connect at, and the reason for any failure to connect.
|
||||
|
||||
<P>
|
||||
|
||||
All settings are configurable in the Settings window (click the
|
||||
"Settings" button). You need to set your modem port and port speed,
|
||||
and the phone number (or list of numbers, or a repeat-dialing script)
|
||||
you want to dial. Optionally, you can set one or two modem init
|
||||
strings and a unix command to execute when successfully connected
|
||||
(like pppd). You also can construct a login script. This is all done
|
||||
on-line and is self-documenting (use the "Help" menu in the Settings
|
||||
window). You save your settings information in a file in the usual
|
||||
way (with "Save" in the pull-down "File" menu), and you can have
|
||||
different settings stored in different files.
|
||||
|
||||
<P>
|
||||
|
||||
At startup you can indicate your settings file and also a command to
|
||||
run right away (the command "Dial" starts the dialing just like
|
||||
hitting the "Dial" button. So, to start dialing right away, you issue
|
||||
a unix command like this:
|
||||
<PRE>
|
||||
Dialer /home/markcrim/.DialSettings Dial
|
||||
</PRE>
|
||||
|
||||
<P> I use Dialer on my Linux home computer, and I do not have access
|
||||
to any other unix platforms with dial-out modems, so I cannot be sure
|
||||
this will work on other platforms. But I have heard good things from
|
||||
people on various Unix platforms, so it's worth a try.
|
116
doc/fvwm.html
Executable file
116
doc/fvwm.html
Executable file
|
@ -0,0 +1,116 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>TkGoodStuff Fvwm Client</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.29 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>TkGoodStuff Fvwm2 Interface</H1>
|
||||
|
||||
<H2>Description </H2>
|
||||
|
||||
<P>Tkgoodstuff can interact with the <A HREF="http://www.hpc.uh.edu/fvwm/">fvwm2
|
||||
window manager</A> (or the <A HREF="http://ltiwww.epfl.ch/~barth/fvwm95.html">fvwm95</A>
|
||||
window manager; but see below).</P>
|
||||
|
||||
<P>The main reason for the Fvwm2 interface is to enable some of tkgoodstuff's
|
||||
cool clients: <A HREF="windowlist.html">WindowList </A>and <A HREF="pager.html">Pager</A>.
|
||||
The Fvwm2 interface also makes the default behavior of a depressed unix
|
||||
command button to move to and raise the (next) window in which the command
|
||||
is running. Also, for each button you can choose "fvwm button
|
||||
behavior", which means that the button's relief will depend on
|
||||
whether there is any open window whose name matches a specified
|
||||
pattern (whether you started the app with the tkgoodstuff button
|
||||
or not). </P>
|
||||
|
||||
<P>It also allows you to: </P>
|
||||
|
||||
<UL>
|
||||
<LI>Use the tcl commands of the tkfvwm extension in your buttons and clients.
|
||||
To give a hint of the sort of thing you can do by sending commands to fvwm,
|
||||
here is a Tcl command (contributed by Eric Kahler), that tells fvwm to
|
||||
post its "Utilities" menu (you can make a button run this command):
|
||||
</LI>
|
||||
|
||||
<PRE>fvwm send 0 {Menu Utilities Nop ""}
|
||||
</PRE>
|
||||
|
||||
<LI>Use the tcl command "FvwmNextOrExec" (say, with a button),
|
||||
which raises the (next) window of the application you specify if it's already
|
||||
running, or starts the application if not. </LI>
|
||||
|
||||
<LI>Use the tcl command "FvwmNext", which moves to and raises
|
||||
the next instance of the application you specify. </LI>
|
||||
</UL>
|
||||
|
||||
<H2>Invocation and Use</H2>
|
||||
|
||||
<P><B>You do not do anything in your tkgoodstuff preferences to use the
|
||||
fvwm2 interface. It loads automatically if tkgoodstuff is started as an
|
||||
fvwm module.</B> </P>
|
||||
|
||||
<P><B>The fvwm2 interface REQUIRES that you run fvwm2</B>. It has usually
|
||||
worked with fvwm95 just fine; however, I don't keep up with fvwm95, so
|
||||
there's no guarantee that it will work with the latest version. Note that
|
||||
fvwm2 allows "mini-icons" in the title bar, and otherwise lets
|
||||
you set the appearance of windows to look much like fvwm95. Fvwm2 is also
|
||||
very well supported. I recommend it highly. </P>
|
||||
|
||||
<P><B><FONT SIZE=+1>You must start tkgoodstuff as an fvwm2 module</FONT></B>.
|
||||
To do this, in your .fvwm2rc set ModulePath to a directory path which includes
|
||||
your tkgoodstuff library directory. For example: </P>
|
||||
|
||||
<PRE>ModulePath /usr/lib/X11/fvwm2:/usr/local/lib/tkgoodstuff</PRE>
|
||||
|
||||
<P>You now have an fvwm2 module called "tkgoodstuff", which you
|
||||
invoke like any other fvwm2 module, e.g., in fvwm2's InitFunction. Here's
|
||||
how: </P>
|
||||
|
||||
<PRE>AddToFunc InitFunction "I" Module tkgoodstuff</PRE>
|
||||
|
||||
<P>You also can make "Module tkgoodstuff" an item on your fvwm
|
||||
menus. To specify a configuration file, use "Module tkgoodstuff -f
|
||||
filename". </P>
|
||||
|
||||
<P>Also, if you use tkgoodstuff as a module, the fvwm2 window style pararmeters
|
||||
for the tkgoodstuff panel will be set automatically (though you can defeat
|
||||
this in the preferences manager). </P>
|
||||
|
||||
<H3>FvvwmNextOrExec </H3>
|
||||
|
||||
<P>You can use FvwmNextOrExec wherever a tcl command is called for---e.g.,
|
||||
in a Button or Menu item, as follows: </P>
|
||||
|
||||
<PRE>FvwmNextOrExec emacs</PRE>
|
||||
|
||||
<P>This will zap you to a running emacs window, or start emacs if there
|
||||
is no such window. (What it actually does it to tell fvwm to move to and
|
||||
raise the next window called "emacs" (either its window name
|
||||
or its resource class) in tkgoodstuff's list of windows if there is one,
|
||||
and to run the unix command "emacs" otherwise. An optional second
|
||||
argument is for a different window name to look for (in case the window
|
||||
is not called by the program name. This example, however, is probably not
|
||||
something you would need to do, because a Button with the unix command
|
||||
"emacs" (when tkgoodstuff is a module) does better automatically:
|
||||
it makes the raised button run emacs and stay down until the emacs session
|
||||
is over, AND clicking on the sunken button now focuses on an emacs window
|
||||
(if there are several, we cycle through them). But FvwmNextOrExec
|
||||
might be useful, for instance, if you prefer not to have a sunken button.</P>
|
||||
|
||||
<P>Also, there is a button option 'Fvwm button behavior', available in
|
||||
the preferences manager, that makes the button's relief depend on whether
|
||||
there are any windows of a given name (thus the button will be sunken even
|
||||
if you started emacs before starting tkgoodstuff). </P>
|
||||
|
||||
<H3>FvwmNext and FvwmPrev</H3>
|
||||
|
||||
<PRE>FvwmNext cmd ?name?</PRE>
|
||||
|
||||
<P>(Primarily for "advanced" users and client writers.) These
|
||||
commands enable you to go to the next (or previous) window with a given
|
||||
name. Repeated calls will cycle through all windows with the given name.
|
||||
</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
30
doc/ical.html
Executable file
30
doc/ical.html
Executable file
|
@ -0,0 +1,30 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Ical</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Ical</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The Ical client is an alarm/calendar utility. It relies on the
|
||||
calendar generated by the very nice program <A
|
||||
HREF="http://clef.lcs.mit.edu/~sanjay/ical.html"> ical</A> for its
|
||||
information. The Ical client by default creates its own button
|
||||
(though it also puts entries in the popup menu and lights up the clock
|
||||
border to show that it's there, so you can configure it not to
|
||||
produce its own button). The Ical client reads your calendar at
|
||||
user-definable intervals (if it has changed), and posts alarms when
|
||||
ical would have done so, had you left it running (the point of this
|
||||
client is to free you from having to do that). The alarm dialogs have
|
||||
buttons for launching ical (to read and modify the calendar) and for
|
||||
selectively or globally stopping alarms.
|
||||
|
||||
<P> One of the items the Ical client adds to the popup menu is a
|
||||
command to list the items for the day (including appointments,
|
||||
notices, and to-do items). This command can automatically be run at
|
||||
startup.
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
31
doc/icons.html
Executable file
31
doc/icons.html
Executable file
|
@ -0,0 +1,31 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE> TkGoodStuff Images </TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1> Using Icons in TkGoodStuff </H1>
|
||||
|
||||
The standard buttons (as used by Biff and Net, and the user-defined
|
||||
Buttons) may contain icons and/or text. Icons are read in from
|
||||
files. To specify an icon, you can give the full path name:
|
||||
<PRE>
|
||||
/usr/include/X11/bitmaps/stopsign.xbm
|
||||
</PRE>
|
||||
or just the filename (stopsign.xbm), so long as the file is in a directory in the
|
||||
icon path (set in the preference manager, by default to a path
|
||||
containing just the "icons" subdirectory of the tkgoodstuff librarary
|
||||
directory and the directory /usr/include/X11/pixmaps).
|
||||
|
||||
<P>
|
||||
|
||||
What sorts of images can tkgoodstuff handle? You can use images that
|
||||
are bitmaps, xpm's, ppm's, and gif's. More image formats likely will
|
||||
become "standard" in the future.
|
||||
|
||||
<P>
|
||||
|
||||
Formerly, you had to compile an additional package to get xpm image
|
||||
support. Now, this functionality is compiled and installed
|
||||
automatically at tkgoodstuff installation.
|
||||
|
||||
</BODY></HTML>
|
18
doc/index-orig.html
Executable file
18
doc/index-orig.html
Executable file
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>tkgoodstuff</title>
|
||||
</head>
|
||||
<frameset cols="170,*">
|
||||
<frame src="toc.html" marginwidth="1">
|
||||
<frame src="tkgoodstuff.html" name=contents>
|
||||
</frameset>
|
||||
<noframe>
|
||||
<BODY>
|
||||
<br><b>Oops! This document requires a browser with
|
||||
<a href="http://home.netscape.com/comprod/products/navigator/version_2.0/frames/">FRAMES</a> support, such as <a href="http://home.netscape.com/comprod/mirror/index.html">Netscape 2.0</a>.
|
||||
<p></b>
|
||||
<br>-- Others browsers can see <a href="toc.html">the same pages</a> <i>without</i> the FRAMES interface.
|
||||
</BODY>
|
||||
</NOFRAME>
|
||||
</html>
|
18
doc/index.html
Executable file
18
doc/index.html
Executable file
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>tkgoodstuff</title>
|
||||
</head>
|
||||
<BODY>
|
||||
<br>
|
||||
I have stopped all work on tkgoodstuff as of October 1, 1997. Anyone
|
||||
who would like to take over, please email
|
||||
<a href="mailto:markcrim@umich.edu">me</a>. I can supply sources and
|
||||
some useful extra stuff.
|
||||
|
||||
<P>
|
||||
The tkgoodstuff home page as I left it is <a href="index-orig.html">here</a>.
|
||||
|
||||
</BODY>
|
||||
</NOFRAME>
|
||||
</html>
|
93
doc/install.html
Executable file
93
doc/install.html
Executable file
|
@ -0,0 +1,93 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>tkgoodstuff</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.29 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>tkgoodstuff: Availability and Installation</H1>
|
||||
|
||||
<P>Get the source for the current version here: <A HREF="dists/tkgoodstuff8.0-final.tar.gz">tkgoodstuff8.0-final.tar.gz</A>
|
||||
Older, and sometimes more stable, versions are available <A href="dists">here</A>. </P>
|
||||
|
||||
<P>To run this utility, you need tcl8.0 and tk8.0 (get the source at
|
||||
<A HREF="ftp://ftp.smli.com/pub/tcl">ftp://ftp.smli.com/pub/tcl
|
||||
</A>). </P>
|
||||
|
||||
<P> (I used to maintain an ftp archive and a binary distribution for
|
||||
Linux, but I don't have the time to deal with the requests for
|
||||
assistance that that has generated.)</P>
|
||||
|
||||
<P>Once you have the tkgoodstuff distribution</P>
|
||||
|
||||
<OL>
|
||||
<LI>Unpack it in a directory somewhere (say, /tmp). One way (suppose you
|
||||
have the distribution in /tmp/): </LI>
|
||||
|
||||
<PRE> cd /tmp
|
||||
cat tkgoodstuff8.0-final.tgz | gunzip | tar xpf -
|
||||
</PRE>
|
||||
|
||||
<LI>cd to the source directory: </LI>
|
||||
|
||||
<PRE> cd /tmp/tkgoodstuff8.0-final
|
||||
</PRE>
|
||||
|
||||
<P>Then type </P>
|
||||
|
||||
<PRE> ./configure</PRE>
|
||||
|
||||
(If your relevant version of Tcl/Tk is in an odd place, such as
|
||||
/smurf/gleb/lib/tclConfig.sh, you can specify --prefix=/smurf/glep.)
|
||||
|
||||
<P>If all goes well, you can type </P>
|
||||
|
||||
<PRE> make
|
||||
</PRE>
|
||||
|
||||
<P>and if all is still well, type </P>
|
||||
|
||||
<PRE> make install
|
||||
</PRE>
|
||||
|
||||
<P>This process will compile C code needed by tkgoodstuff, and install
|
||||
tkgoodstuff's files in the appropriate places. Look in the <A href="FAQ">FAQ</A> for
|
||||
hints if you encounter problems.
|
||||
|
||||
</P>
|
||||
|
||||
<P>Once you are finished, you can remove the source directory if you like
|
||||
(all the needed files will have been copied to a library directory). </P>
|
||||
|
||||
<LI>If you have a standard unix spool setup, simply running tkgoodstuff
|
||||
should give you a working setup. Enter the Preferences manager via the
|
||||
tkgoodstuff menu to customize your setup. </LI>
|
||||
|
||||
<LI>If you have problems, check the <A HREF="FAQ">FAQ</A> before
|
||||
emailing the <a href="mailto:tkgoodstuff@merv.philosophy.lsa.umich.edu">tkgoodstuff
|
||||
mailing list</a></li>.
|
||||
|
||||
<LI>You probably will want to tell your window manager not to put a border,
|
||||
handles, or a title on tkgoodstuff, and perhaps to leave it always on top
|
||||
of other windows, and perhaps to make it "stick" in the same
|
||||
spot on the screen when you move about a virtual desktop. You may also
|
||||
want it not to be in the circulate list (the list of windows you go to
|
||||
by hitting alt-TAB or some key sequence). To do all of this in fvwm2 add
|
||||
the following lines to your .fvwm2rc: </LI>
|
||||
|
||||
<PRE>Style "tkgoodstuff" NoTitle, NoHandles, Sticky, WindowListSkip, StaysOnTop
|
||||
Style "tkgoodstuff" BorderWidth 0,CirculateSkipIcon,CirculateSkip
|
||||
</PRE>
|
||||
|
||||
<P>HOWEVER, if you use <A HREF="fvwm.html">tkgoodstuff as an fvwm module
|
||||
</A>(which I recommend), you needn't do this, as tkgoodstuff will do it
|
||||
automatically. If you use some other window manager, read its documentation---almost
|
||||
certainly you can achieve most of the same effects.</P>
|
||||
</OL>
|
||||
|
||||
<P><IMG SRC="http://wwwcgi.itd.umich.edu/cgi-bin/counter?link=http://www-personal.umich.edu/~markcrim/tkgoodstuff/install.html">
|
||||
</P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
31
doc/jots.html
Executable file
31
doc/jots.html
Executable file
|
@ -0,0 +1,31 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Jots</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Jots</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The Jots client is a note keeper, intended as a handy tool for keeping
|
||||
track of scraps of information (e.g., a diary, ftp/URL addresses,
|
||||
ideas, etc.). There are much more sophisticated data-base tools,
|
||||
but Jots is easy enough to invoke and use that you may actually use
|
||||
it. The user has any number of "folders" of notes, each of which is
|
||||
automatically tagged by the date and time it was created. There is a
|
||||
"find" utility to find text within a folder, and a "hotlist" mechanism
|
||||
to quickly maneuver among different folders.
|
||||
|
||||
<P>
|
||||
|
||||
Jots by default has its own button on the tkgoodstuff panel, but
|
||||
you can configure it instead to be invoked by pressing mouse button
|
||||
3 over the Clock.
|
||||
|
||||
<p>
|
||||
|
||||
More help for Jots is available in the "Help" menu of the Jots window.
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
35
doc/load.html
Executable file
35
doc/load.html
Executable file
|
@ -0,0 +1,35 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Load</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Load</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
<P> The Load client is a system load indicator, which displays a graph of
|
||||
the current and recent system load and/or a digital display of the
|
||||
current load.
|
||||
|
||||
<P> The graphical display is a histogram drawn to an automatically
|
||||
adjusting scale. A "Scale" preference parameter (by default 1) sets
|
||||
the initial and <b> smallest </b> maximum of the graph. If the load
|
||||
exceeds the current maximum, the scale automatically doubles, and a
|
||||
red "tick" line is drawn to mark the old maximum. Thus, by default
|
||||
the tick lines represent loads of 1, 2, 4, 8, and so on (this is less
|
||||
cluttered than evenly spaced tick lines). When possible, the graph is
|
||||
scaled back up.
|
||||
|
||||
<P> Clicking mouse button 1 on the Load button (by default) launches
|
||||
an xterm running "top" (so you can see what's causing the load).
|
||||
|
||||
<P>The system load information is obtained from the /proc filesystem
|
||||
if possible, and otherwise from the "uptime" command. Load will work
|
||||
only if the output of the uptime command includes the current system
|
||||
load as the third from last field on the line (as is standard). (If
|
||||
you would prefer to obtain the load some other way, you need to change
|
||||
the procedure "GetLoad" in the file Load.tcl.)
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
12
doc/mailinglists.html
Executable file
12
doc/mailinglists.html
Executable file
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>Mailing Lists</title>
|
||||
</head>
|
||||
|
||||
<body TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
<h1>Mailing Lists</h1>
|
||||
|
||||
<B> Tkgoodstuff mailing lists have been disabled as of October 1, 1997. </B>
|
||||
|
||||
</html>
|
48
doc/menu.html
Executable file
48
doc/menu.html
Executable file
|
@ -0,0 +1,48 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Menu</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Menu</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
<P> The Menu client produces a button that produces a menu. The menu
|
||||
is configured within the preferences manager.
|
||||
|
||||
<P> Alternatively, the Menu client will not make a button, but will
|
||||
replace the main tkgoodstuff popup menu as the menu produced by mouse
|
||||
button 1 on the clock face.
|
||||
|
||||
<H2>Configuration</H2>
|
||||
|
||||
<P> In the preferences manager, there is a GUI menu-editing tool, which
|
||||
(hopefully) is self-explanatory.
|
||||
|
||||
<P> The following items can be added to the menu:
|
||||
|
||||
<P> <B>Menu</b> <BR>
|
||||
This creates a new sub-menu within whatever menu you are currently
|
||||
defining.
|
||||
|
||||
<P> <B>Execute</b> <BR> This creates a menu item to which you give a
|
||||
label and assign a unix command line to be executed when this item is
|
||||
selected.
|
||||
|
||||
<P> <B>Tcl Command</b> <BR> This creates a menu item to which you give a
|
||||
label and assign a Tcl command line to be executed when this item is
|
||||
selected.
|
||||
|
||||
<P> <B>tkgoodstuff Menu</b> <BR> This creates a menu item within whatever menu
|
||||
you are currently defining, which is labelled "TkGoodStuff Menu", and
|
||||
which produces the tkgoodstuff popup menu when selected. This is so
|
||||
that you can get the tkgoodstuff menu even if you replace it with the
|
||||
Menu client menu on the clock face (by telling the Menu client not to
|
||||
produce a button).
|
||||
|
||||
<P> <B>Separator</b> <BR>
|
||||
This inserts a horizontal separator line in the menu.
|
||||
|
||||
<P><B>Run . . .</B>
|
||||
This inserts an item in the menu which, when selected, calls up a
|
||||
dialog window allowing you to enter a unix command to execute.
|
52
doc/net.html
Executable file
52
doc/net.html
Executable file
|
@ -0,0 +1,52 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Net</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Net</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The Net client is a dialup (PPP/SLIP/TERM) link status indicator and
|
||||
up/down toggler.
|
||||
|
||||
<P>
|
||||
Clicking on the Net button instructs the Net client to toggle (open or
|
||||
close) the network link.
|
||||
|
||||
<P>One possible way to have Net open a dial-in link (e.g., ppp or term)
|
||||
is to use the GUI program <a href="dialer.html">Dialer</a>, which is
|
||||
included in the tkgoodstuff distribution, to dial your modem and set
|
||||
up the link.</P>
|
||||
|
||||
<P>The client periodically checks whether the link is up or down, and
|
||||
displays a "lit" up-arrow and/or "Net up", or an "unlit" down-arrow
|
||||
and/or "Net down" accordingly. The client checks the line status more
|
||||
frequently for a while after it executes a command to open or close
|
||||
the link.
|
||||
|
||||
<P> By default, the label on the Net button, when connected, shows the
|
||||
elapsed time of the connection (up to 24 hours).
|
||||
|
||||
<P>
|
||||
The Net client also can periodically issue a "ping" command, which may
|
||||
be useful for keeping active a link that the remote host would
|
||||
disconnect if idle for too long.
|
||||
<P>
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
||||
|
||||
<P> If the default doesn't work (give it a try), you need to specify a
|
||||
unix command to test whether the net is up (the command should return
|
||||
successfully (exit status zero) if the net is up, and otherwise. The
|
||||
default is
|
||||
|
||||
<PRE> ifconfig | grep ppp <\PRE>
|
||||
|
||||
You also may need to specify a command to get your IP address if you
|
||||
want to use the auto-ping feature. The command should return an
|
||||
address like "141.211.43.12". The default is:
|
||||
<PRE> ifconfig | grep inet.*P-t-P | sed s/inet.*r:// | sed s/P-t-P.*//
|
||||
<\PRE>
|
39
doc/pager.html
Executable file
39
doc/pager.html
Executable file
|
@ -0,0 +1,39 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>TkGoodStuff Pager</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.26 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>TkGoodStuff Pager</H1>
|
||||
|
||||
<H2>Description </H2>
|
||||
|
||||
<P>Pager is a client for TkGoodstuff which provides an interface to the
|
||||
multiple desktops of the <A HREF="http://www.hpc.uh.edu/fvwm/">Fvwm2 window
|
||||
manager</A>. Pager monitors for the switching of desktops and pages, and
|
||||
allows one to switch desktops and pages by pressing mouse button 1 on the
|
||||
panel corresponding to the desired page. The present page appears as a
|
||||
sunken panel, and all pages with active applications on them appear colored.
|
||||
</P>
|
||||
|
||||
<P><B>Pager works only when tkgoodstuff is invoked as an fvwm2 module.
|
||||
</B></P>
|
||||
|
||||
<P>The WindowList client interacts with Pager, so that clicking on an icon
|
||||
in TkGoodstuff's WindowList with mouse button 2 and draging the cursor
|
||||
to the desired page (releasing the button on the desired page) will move
|
||||
the application to that page. </P>
|
||||
|
||||
<P>Clicking repeatedly on page cycles through the open windows on the page.
|
||||
</P>
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
<P>All parameters are adjustable in the preferences manager. </P>
|
||||
|
||||
<P><I> Thanks to Eric Kahler </I></P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
88
doc/popimap.html
Executable file
88
doc/popimap.html
Executable file
|
@ -0,0 +1,88 @@
|
|||
<html>
|
||||
<head>
|
||||
<title> TkGoodStuff PopImap </title>
|
||||
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple"
|
||||
alink="red">
|
||||
<bodytext>
|
||||
|
||||
<h1> TkGoodStuff PopImap Utility </h1>
|
||||
|
||||
<a name="function"><h2>Function</h2></a>
|
||||
|
||||
<p> The PopImap client automates the fetching of your mail from remote POP
|
||||
or IMAP servers to your local machine. Once the mail is on your local
|
||||
machine, you can use any mail reader you like (rather than having to
|
||||
make do with one you don't really like that supports the needed client
|
||||
protocol). </p>
|
||||
|
||||
<p> The client really is little more than a scheduler for a unix
|
||||
mail-fetching command that you provide (it is not itself a POP or IMAP
|
||||
client; you need to get a mail-fetching client, on which see below).
|
||||
You configure the client by telling it what unix command will get your
|
||||
new mail from your remote server, and (optionally) what remote command
|
||||
will fetch an entire remote mailbox (including old messages), and
|
||||
replace a local mailbox with it.</p>
|
||||
|
||||
<h3>Interaction with other tkgoodstuff Clients</h3>
|
||||
|
||||
<p> One convenient feature is that the Net client knows about PopImap
|
||||
and vice versa, so that if both clients are used, PopImap doesn't try
|
||||
to check for mail when the Net line is down, and when the Net line
|
||||
goes up, Net schedules the periodic PopImap new mail checking to start
|
||||
right away (so that your new mail gets to you quickly). </p>
|
||||
|
||||
<a name="use"><h2>Use</h2></a>
|
||||
|
||||
<p> In the preferences manager you will need to set preferences that
|
||||
indicate how frequently to look for new mail on the remote server, as
|
||||
well as the unix command that does the looking, and (optionally) the
|
||||
unix command that copies the entire remote mailbox over the local one
|
||||
(replacing it). The real work comes in setting up these unix
|
||||
commands, which may require finding some programs you don't
|
||||
yet have. </p>
|
||||
|
||||
<p><b>See also <a href="biff.html">Biff's</a> IMAP method, which doesn't
|
||||
require any external IMAP program.</b> </p>
|
||||
|
||||
<a name="popclients"><h2>Where to Find POP and IMAP Fetching
|
||||
Utilities</h2></a>
|
||||
|
||||
<p> Here I have a decided lack of expertise. I would very much appreciate
|
||||
pointers to stuff I don't know about. </p>
|
||||
<ul>
|
||||
<li> POP </li></ul>
|
||||
<ul>
|
||||
<li> "fetchpop". The author claims it is very stable and
|
||||
feature-rich. Get it at
|
||||
ftp://sunsite.unc.edu in pub/Linux/system/Mail/pop (it's not just
|
||||
for linux). </li>
|
||||
<li> "popclient". Also at sunsite. </li>
|
||||
<li> "pop-perl". Also at sunsite. </li>
|
||||
</ul>
|
||||
<li> IMAP </li>
|
||||
<ul>
|
||||
<li> <a
|
||||
href="ftp://ftp.cac.washington.edu/mail/imap-utils.tar.Z">
|
||||
imapcopy</a>, which requires
|
||||
<a href="ftp://ftp.cac.washington.edu/mail/imap.tar.Z">
|
||||
imap.tar.Z</a> to compile. This utility nondestructively
|
||||
copies all of the remote mailbox, appending all of its
|
||||
messages to your local spool file or other local mailbox
|
||||
(including mh folders!).
|
||||
</li>
|
||||
<li> imapmove (simply a unix link to imapcopy), which deletes
|
||||
all of the remote mailbox after copying as in imapcopy.
|
||||
</li>
|
||||
<li> I encourage anyone with a little knowledge of C to look
|
||||
at the imapcopy utility to get a sense of what's possible with
|
||||
a little hacking. </li>
|
||||
</ul>
|
||||
</UL>
|
||||
|
||||
<h2>Invocation</h2>
|
||||
|
||||
<p> All parameters are adjustable in the preferences manager. </p>
|
||||
|
||||
</bodytext></body></html>
|
233
doc/preferences.html
Executable file
233
doc/preferences.html
Executable file
|
@ -0,0 +1,233 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE> tkgoodstuff Preferences Manager</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.29 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>Configuring TkGoodStuff with the Preferences Manager</H1>
|
||||
|
||||
<P>The preferences manager lets you view and set all preferences and configuration
|
||||
parameters for tkgoodstuff. You enter it from the tkgoodstuff menu (which,
|
||||
by default, is available by clicking on the clock and also within a menu
|
||||
on the Menu client button).</P>
|
||||
|
||||
<P>In addition to selecting and arranging the elements of your panels,
|
||||
you can adjust fonts, colors, icons, "tiled" backgounds, the
|
||||
default screen-edge or orientation, and a zillion other things, including
|
||||
the setup for each client (e.g., the Menu client's menu, the Biff client's
|
||||
mailboxes, etc.).</P>
|
||||
|
||||
<P>Changes do not take effect until they are saved and tkgoodstuff is restarted.
|
||||
All configuration information is saved to the configuration file (by default,
|
||||
".tkgrc" in the user's home directory---which you can edit
|
||||
by hand if things go so wrong that the preferences manager won't
|
||||
work). </P>
|
||||
|
||||
<P><A NAME="variables"></A></P>
|
||||
|
||||
<H2>Setting Preferences </H2>
|
||||
|
||||
<P>It should be fairly obvious how to set various preferences: you find
|
||||
them through the notebook pages and menus in the preference manager and
|
||||
set them, e.g., by clicking on an indicator or by entering text.</P>
|
||||
|
||||
<P>You might want to set a preference based on an environment variable.
|
||||
You can do this by using "$env" as follows. To set a certain
|
||||
preference to a value based on the user's home directory, you can enter
|
||||
this: </P>
|
||||
|
||||
<PRE>$env(HOME)/whatever
|
||||
</PRE>
|
||||
|
||||
<P><A NAME="client"></A></P>
|
||||
|
||||
<H2>Including and Configuring a Client </H2>
|
||||
|
||||
<P>To include a client (for example, Clock), you enter the preferences
|
||||
manager and use mouse button 3 at the desired point in the configuration
|
||||
(which is presented as a hierarchical list) to choose "Insert",
|
||||
at which point you enter the name of the client.</P>
|
||||
|
||||
<P>You configure a client in the preferences manager (double click on its
|
||||
entry in the configuration).</P>
|
||||
|
||||
<P><A NAME="addbutton"></A></P>
|
||||
|
||||
<H2>Adding a Button</H2>
|
||||
|
||||
<P>You can easily add a button to display an icon and/or a bit of text,
|
||||
which runs a command when pressed. You need to decide:</P>
|
||||
|
||||
<UL>
|
||||
<LI>If you want an icon on your button, then the icon filename. <B>The
|
||||
file can contain an image of any of several formats (see <A HREF="icons.html">Icons
|
||||
</A>for more).</B> </LI>
|
||||
|
||||
<LI>If you want a bit of text on the button (either under the icon or by
|
||||
itself), then the text string (a "\n" in the string makes a line
|
||||
break for multi-line text). E.g., "Telnet to/nwork". </LI>
|
||||
|
||||
<LI>The (unix) command to run. E.g.: </LI>
|
||||
|
||||
<PRE> xdir "xless /var/adm/syslog"
|
||||
rxvt -T Syslog -sl 400 -e {"tail -400 -f /var/adm/syslog"}
|
||||
rxvt -T Syslog -sl 400 -e \"tail -400 -f /var/adm/syslog\" </PRE>
|
||||
|
||||
<P>(The last two are equivalent.)</P>
|
||||
</UL>
|
||||
|
||||
<P>You add the button in the Prefernces manager by choosing "Insert"
|
||||
with mouse button 3 at the desired place in your configuration, and entering
|
||||
the desired information. Double-click on the Button's entry in the configuration
|
||||
to configure it. </P>
|
||||
|
||||
<P>Notes: </P>
|
||||
|
||||
<UL>
|
||||
<LI>The expression "@selection@" in a unix or tcl command will
|
||||
be replaced by the current X selection. </LI>
|
||||
|
||||
<LI>By default, a unix command button stays down and inoperative after
|
||||
you press it until the launched unix command terminates. This is so you
|
||||
can see that you're already running that command. You can configure the
|
||||
button to pop back up after launching the command, ready to launch the
|
||||
command again. </LI>
|
||||
|
||||
<LI>When you press an already-depressed unix command button, <B>if</B>
|
||||
you are running tkgoodstuff as an fvwm module, by default you move to the
|
||||
next window that is named by the name of the unix command of the button.
|
||||
But you can configure the button to look for an alternative window name
|
||||
(for instance, the program tkman names its window "TkMan", netscape
|
||||
"Netscape" and so on). </LI>
|
||||
</UL>
|
||||
|
||||
<P><A NAME="addpanelbutton"></A></P>
|
||||
|
||||
<H2>PanelButtons</H2>
|
||||
|
||||
<P>A PanelButton is like a standard tkgoodstuff button, except that what
|
||||
it does is to produce an additional tkgoodstuff panel adjacent to the panel
|
||||
containing the PanelButton (this allows you to group a of buttons together
|
||||
and have them appear when you press a single button in your main panel).
|
||||
To add such a button use the "Insert" mouse-3 menu item, and
|
||||
double-click to configure. </P>
|
||||
|
||||
<P>See below on how to create Panels. <A NAME="putpanel"></A></P>
|
||||
|
||||
<H2>PutPanel</H2>
|
||||
|
||||
<P>Instead of having a Panel produced by a PanelButton, you might want
|
||||
an additional Panel to be placed on the screen at startup. To do this,
|
||||
(as always) use the "Insert" mouse-3 menu item, and double-click
|
||||
to configure. </P>
|
||||
|
||||
<P>See below for how to create Panels. <A NAME="addlabelbox"></A></P>
|
||||
|
||||
<H2>Adding a Label Box </H2>
|
||||
|
||||
<P>To add a box containing a bit of text (which differs from a button in
|
||||
look, in color, and in that it doesn't run any command), use the good old
|
||||
"Insert" trick. <A NAME="swallow"></A></P>
|
||||
|
||||
<H2>Swallowing an Application </H2>
|
||||
|
||||
<P>If you want to include a utility that tkgoodstuff doesn't provide, you
|
||||
can incorporate it in your tkgoodstuff panel as a "Swallow" item.
|
||||
Use the preferences manager to do this. </P>
|
||||
|
||||
<P>WARNING: this can be tricky. Some hints: </P>
|
||||
|
||||
<UL>
|
||||
<LI>Before starting, be sure you know the windowname of the window that
|
||||
you want to swallow. By default we look for the name of the application,
|
||||
but many applications produce windows with different names. If you don't
|
||||
specify the correct name, tkgoodstuff will wait forever for the window
|
||||
to show up. </LI>
|
||||
|
||||
<LI>It sometimes helps to specify in the application command line a geometry
|
||||
for the application that is larger than the window you want to produce.
|
||||
</LI>
|
||||
|
||||
<LI>If the application has a set size, you can find out what it is with
|
||||
fvwm's Identify module (if you use fvwm). </LI>
|
||||
|
||||
<LI>In your application command line, you can specify the tkg background
|
||||
color (for your application to use) as <B>\$background</B> (same for foreground
|
||||
and some other resources). Also, use <B>\$width</B> to specify the Swallow
|
||||
window width (same for height). </LI>
|
||||
|
||||
<LI>If you are running tkgoodstuff as an fvwm module, you can swallow other
|
||||
fvwm modules (like FvwmPager) simply by using the module name in place
|
||||
of a unix command. </LI>
|
||||
</UL>
|
||||
|
||||
<P><A NAME="fill"></A></P>
|
||||
|
||||
<H2>Filling Space </H2>
|
||||
|
||||
<P>If you are using screen-edge mode (for a bar covering one edge of the
|
||||
screen), then by default all the buttons, clients, etc., are stacked together
|
||||
in the middle of the bar. But you can indicate where the buttons, clients,
|
||||
etc., are to be broken apart by the item "Fill" (which you insert
|
||||
into your configuration like anything else). For example, suppose you have
|
||||
screen-edge mode set to "bottom", you have four buttons in your
|
||||
bar, and you include "Fill" items between the first and second,
|
||||
and between the third and fourth Button items. Then, your bar will contain
|
||||
the first button at the far left, the second and third buttons together
|
||||
in the middle, and the fourth button at the far right. (The WindowList
|
||||
client behaves like a "Fill" region; in particular, in the absence
|
||||
of Fill commands, it uses all available space.) <A NAME="stacks"></A></P>
|
||||
|
||||
<H2>Stacks</H2>
|
||||
|
||||
<P>The Screen Geometry screen-edge and orientaton preferences govern the
|
||||
main orientation of your panel; it may be either horizontal or vertical.
|
||||
If you simply add elements (Clients, Buttons, etc.), these elements will
|
||||
be stacked all in a row left-to-right (if horizontal) or top-to-bottom
|
||||
(if vertical). This probably is what you want in an always-on-top desktop
|
||||
button bar. However you may want to stack two or three small buttons together,
|
||||
or to generate a fancier panel, with several rows or with several bundles
|
||||
of related buttons and label-boxes of different sizes, as in this <A HREF="http://www-personal.umich.edu/~markcrim/tkgoodstuff/stacks.jpg">screenshot
|
||||
</A>(available only on the tkgoodstuff web page; to see it otherwise, just
|
||||
run "tkgoodstuff -f stacks" in the sample-rc directory). </P>
|
||||
|
||||
<P>A Stack is itself an item, which is placed in your panel just like a
|
||||
Button. The difference is that a Stack can have items placed within it.
|
||||
These items are stacked together in the orientation you choose (you can
|
||||
also configure other features of a Stack). To explain the stacking commands
|
||||
it is easiest just to explain how the fancy example was created. We start
|
||||
horizontally (the Orientation preference is set to horizontal). We will
|
||||
put together two things horizontally, both of them vertical Stacks. These
|
||||
are the only items that are in the main stack itself. The first vertical
|
||||
Stack starts with the Clock client and a labelbox ("Utilities").
|
||||
Then we want three buttons side-by-side, so we start a new horizontal Stack.
|
||||
In this Stack we insert three Buttons. This puts us back in the construction
|
||||
of our first (vertical) Stack, which so far contains the Clock, the "Utilities"
|
||||
label, and the Stack we have just finished. The last thing in this vertical
|
||||
Stack will be another horizontal Stack, this one with a colored border
|
||||
four pixels wide. Two Buttons are inserted in this bordered Stack. Now
|
||||
we're done with the first main vertical Stack. </P>
|
||||
|
||||
<P>This puts us back in the orignal (horizontal) orientation, outside of
|
||||
all Stacks. So the next item we define will go to the right of the big
|
||||
vertical Stack we have just defined. This item will be an even bigger vertical
|
||||
Stack, which contains a label box, a horizontal Stack (which contains the
|
||||
Net Client, the Load Client, and a vertical Stack of three Buttons) and
|
||||
a (gold-bordered) vertical Stack, which contains a label box and a horizontal
|
||||
Stack (which contains three Buttons and a vertical Stack containing three
|
||||
Buttons). </P>
|
||||
|
||||
<P>I hope that makes the working of the stacking apparatus clear. If not,
|
||||
play around with it and you will figure it out. <A NAME="panels"></A></P>
|
||||
|
||||
<H2>Panels</H2>
|
||||
|
||||
<P>You create a Panel by "Inserting" it anywhere in your configuration.
|
||||
It doesn't matter where you insert it, since it is not an item that is
|
||||
placed inside the main panel, but rather is placed by a PutPanel item or
|
||||
a PanelButton. Various features of the Panel can be configured. </P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
89
doc/running.html
Executable file
89
doc/running.html
Executable file
|
@ -0,0 +1,89 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>Running TkGoodStuff</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1> Running TkGoodStuff </H1>
|
||||
|
||||
<H2> Table of Contents (this document) </H2>
|
||||
|
||||
<UL>
|
||||
<a href="#invocation"><LI> Invocation </LI></a>
|
||||
<a href="#geometry"><LI> Geometry </LI></a>
|
||||
<a href="#configfile"><LI> Determination of Configuration File </LI></a>
|
||||
</UL>
|
||||
|
||||
<a name="invocation"><H2> Invocation </H2></a>
|
||||
|
||||
You invoke tkgoodstuff by issuing a command of the following form:
|
||||
<PRE>
|
||||
tkgoodstuff [-geometry -3+0] [-f configfilename ]
|
||||
</PRE>
|
||||
Here, the brackets indicate optional arguments, which are discussed below.
|
||||
<P>
|
||||
|
||||
<a name="geometry"><H2> Geometry </H2></a>
|
||||
|
||||
There are two geometry modes: screen-edge and normal:
|
||||
|
||||
<h3> Screen-edge mode </h3>
|
||||
|
||||
If you set screen-edge mode ("no" by default) to "left", "right", "top",
|
||||
or "bottom", tkgoodstuff will span that edge of the screen.
|
||||
|
||||
<h3> Normal mode </h3>
|
||||
|
||||
If fullscreen mode is "no" (as by default), tkgoodstuff looks in two
|
||||
places for geometry (screen location) information. A geometry
|
||||
specification is a string that identifies a point on the screen by its
|
||||
x and y distances in pixels from the top (or bottom) and left (or
|
||||
right) edges of your screen:
|
||||
<TABLE>
|
||||
<TR>
|
||||
<TH> Specification </TH> <TH> Puts the tkgoodstuff Panel . . . </TH>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD> +1-123 </TD> <TD> 1 pixel from the left and
|
||||
123 pixels from the bottom of the screen </TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD> -1+123 </TD> <TD> 1 pixel from the right and
|
||||
123 pixels from the bottom of the screen </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
|
||||
<P>
|
||||
tkgoodstuff chooses the first geometry specification it finds in the
|
||||
following ways:
|
||||
<OL>
|
||||
<LI> In the command line, as follows:
|
||||
<PRE>
|
||||
tkgoodstuff -geometry +34-88
|
||||
</PRE>
|
||||
</LI>
|
||||
<LI> In the current preferences.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<a name="configfile"><H2>Determination of Configuration File </H2></a>
|
||||
|
||||
tkgoodstuff needs a configuration file to run. It uses the first
|
||||
file it finds in the following ways:
|
||||
<OL>
|
||||
<LI> Named on the command line, as follows (where "configfilename" is the name
|
||||
of your file):
|
||||
<PRE>
|
||||
tkgoodstuff -f configfilename
|
||||
</PRE>
|
||||
</LI>
|
||||
<LI> In your home directory (as set in the environment variable
|
||||
HOME) under the name .tkgrc.</LI>
|
||||
<LI> In the tkgoodstuff directory (by default,
|
||||
/usr/local/lib/tkgoodstuff), under the name <B>system-tkgrc</B>.
|
||||
</OL>
|
||||
|
||||
Using the "-f configfilename" form allows you to have many different
|
||||
panels defined for different purposes.
|
||||
|
||||
|
||||
</BODY></HTML>
|
16
doc/screenshots.html
Executable file
16
doc/screenshots.html
Executable file
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>tkgoodstuff</title>
|
||||
</head>
|
||||
<frameset rows="50,*">
|
||||
<frame src="shots.html" SCROLLING=NO BORDER=NO MARGINHEIGHT="10">
|
||||
<frame src="win95.jpg" name=shots BORDER=no>
|
||||
</frameset>
|
||||
<noframe>
|
||||
<BODY>
|
||||
<br><b>Oops! This document requires a browser with frames support.<p></b>
|
||||
<br>-- Others browsers can see <a href="toc.html">the same pages</a> <i>without</i> the FRAMES interface.
|
||||
</BODY>
|
||||
</NOFRAME>
|
||||
</html>
|
20
doc/shots.html
Executable file
20
doc/shots.html
Executable file
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>tkgoodstuff</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.29 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<BASE TARGET="shots">
|
||||
<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>
|
||||
<tr>
|
||||
<td><h3><A HREF="win95.jpg">Task Bar</a></h3></td>
|
||||
<td><h3><A HREF="vert.jpg">Vertical Task Bar</a></h3></td>
|
||||
<td><h3><A HREF="home.jpg">Home System</a></h3></td>
|
||||
<td><h3><A HREF="minimal.jpg">Minimal</a></h3></td>
|
||||
<td><h3><A HREF="stacks.jpg">Big Mess</a></h3></td>
|
||||
</tr>
|
||||
</table>
|
||||
</BODY>
|
||||
</HTML>
|
151
doc/tkgoodstuff.html
Executable file
151
doc/tkgoodstuff.html
Executable file
|
@ -0,0 +1,151 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>tkgoodstuff</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.29 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<BR>
|
||||
<BR>
|
||||
<H1>tkgoodstuff</H1>
|
||||
|
||||
Screenshots:
|
||||
<blockquote>
|
||||
<A HREF="screenshots.html">A few sample configurations</A><BR>
|
||||
<A HREF="http://mars.superlink.net/ekahler/fvwm2.desktop.html">
|
||||
Eric Kahler's desktop</A><BR>
|
||||
<A HREF="http://www.coffeenet.net/help/index.html">
|
||||
CoffeeNet Help Page</A>
|
||||
</blockquote>
|
||||
|
||||
<P>Tkgoodstuff for the X Window System is a utility panel---normally,
|
||||
a button bar. It is easily configured and modified using a GUI
|
||||
preferences manager. Some "clients" are included:
|
||||
analog/digital alarm clock, new-mail indicator, log file watcher, WWW
|
||||
browser launcher, dialup network dialer and status indicator, note
|
||||
taker/manager, calendar program alarm daemon, POP/IMAP mail fetching
|
||||
scheduler, system load display, system menu, and fvwm (window manager)
|
||||
support, including a window list (buttons for all running
|
||||
applications) and virtual desktop pager. See below for details about
|
||||
the clients. In addition to the clients, you can configure buttons to
|
||||
run commands, and you can embed any X program window in your bar (such
|
||||
as xosview, FvwmPager, etc.).</P>
|
||||
|
||||
<P>Tkgoodstuff, especially 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.). But it is not a taskbar
|
||||
"clone" and is considerably more customizable. </P>
|
||||
|
||||
<H2>Included Clients </H2>
|
||||
|
||||
<UL>
|
||||
<LI><B><A HREF="clock.html">Clock: </A></B>analog and/or digital time and/or
|
||||
date alarm clock. </LI>
|
||||
|
||||
<LI><B><A HREF="biff.html">Biff: </A></B>a feature-rich mail checker.</LI>
|
||||
|
||||
<LI><B><A HREF="net.html">Net: </A></B>indicates the status of a PPP or
|
||||
SLIP connection and allows you to bring the connection up or down with
|
||||
a click. Also can display net uptime, and can periodically "ping"
|
||||
so that the remote host won't close an inactive connection. Included is
|
||||
a GUI <A HREF="dialer.html">Dialer</A> program, which you can call from
|
||||
Net to dial your modem (with nice repeat-dial features), log you in, and
|
||||
start your network software while you watch. </LI>
|
||||
|
||||
<LI><B><A HREF="jots.html">Jots: </A></B>A tool for writing, editing, and
|
||||
searching for notes: diary entries, addresses, ftp sources, ideas, etc.
|
||||
Support for easy shuffling between multiple "folders" of entries.
|
||||
</LI>
|
||||
|
||||
<LI><B><A HREF="www.html">WWW: </A></B>Launch your web browser or instruct
|
||||
the browser to visit the URL in the current X selection. </LI>
|
||||
|
||||
<LI><B><A HREF="watch.html">Watch: </A></B>This client watches one or more
|
||||
files (e.g., log files) for changes with configurable alerts (and can display
|
||||
the files). </LI>
|
||||
|
||||
<LI><B><A HREF="load.html">Load: </A></B>An xload-like system load-average
|
||||
display (auto-scaling graphical, digital, or both). Button 1 launches an
|
||||
xterm running (for example) "top". </LI>
|
||||
|
||||
<LI><B><A HREF="menu.html">Menu: </A></B>A button that produces a menu,
|
||||
which is easily configured in the GUI preferences manager. </LI>
|
||||
|
||||
<LI><B><A HREF="webster.html">Webster: </A></B>Retrieve (over the net)
|
||||
the dictionary definition of a word (the current X selection). </LI>
|
||||
|
||||
<LI><B><A HREF="ical.html">Ical: </A></B>The program <A HREF="http://www.research.digital.com/SRC/personal/Sanjay_Ghemawat/ical/home.html">ical</A>
|
||||
(as opposed to this client) is a nice calendar program. The client reads
|
||||
your ical calendar and serves as an alarm daemon, posting alarm notices
|
||||
to your screen when ical would if you had it running.</LI>
|
||||
|
||||
<LI><B><A HREF="popimap.html">PopImap: </A></B>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., <A HREF="http://locke.ccil.org:80/~esr/esr-freeware.html">fetchmail</A>).
|
||||
No button is produced by this client (though it produces some stuff in
|
||||
the tkgoodstuff popup menu). </LI>
|
||||
|
||||
<LI><B><A HREF="windowlist.html">WindowList: </A></B>For use with Fvwm,
|
||||
produces buttons for open/iconified windows (like the Win95 taskbar).</LI>
|
||||
|
||||
<LI><B><A HREF="pager.html">Pager:</A></B> For negotiating desktops with
|
||||
Fvwm. </LI>
|
||||
|
||||
<LI><B><A HREF="chooser.html">Chooser:</A></B> (by Eric Kahler) This client,
|
||||
at tkgoodstuff start-up, posts a list of tkgoodstuff configuration files
|
||||
to choose from. </LI>
|
||||
|
||||
<LI><B><A HREF="tkman.html">TkMan:</A></B> (by Gary Dezern) The program
|
||||
<A HREF="http://http.cs.berkeley.edu/~phelps/tcltk/tkman-help.html">tkman</A>
|
||||
is a very nice man-page browser. Start tkman, or tell tkman to look up
|
||||
the man page for the word in the current X selection. </LI>
|
||||
</UL>
|
||||
|
||||
<H2>Customizing Features</H2>
|
||||
|
||||
<H3>User-defined buttons </H3>
|
||||
|
||||
<P>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, execution of unix and/or Tcl commands, and
|
||||
more. See the documentation on configuration for more. </P>
|
||||
|
||||
<H3>"Swallow" Windows </H3>
|
||||
|
||||
<P>If you really like xosview or xdaliclock or whatever, you can embed
|
||||
it within your panel as a Swallow item (tkgoodstuff "swallows"
|
||||
the application window). </P>
|
||||
|
||||
<H3>Label boxes </H3>
|
||||
|
||||
<P>A label box contains text, e.g., to label a group of related buttons.
|
||||
</P>
|
||||
|
||||
<H3>Stacks </H3>
|
||||
|
||||
<P>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).
|
||||
</P>
|
||||
|
||||
<H3>Panels </H3>
|
||||
|
||||
<P>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".
|
||||
|
||||
<H2>Documentation </H2>
|
||||
|
||||
<P>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). </P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
32
doc/tkman.html
Executable file
32
doc/tkman.html
Executable file
|
@ -0,0 +1,32 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff TkMan</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff TkMan</H1>
|
||||
|
||||
by Gary Dezern (gdezern@uniquecr.sundial.net)
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The TkMan client is launcher for the tkman man-page reader.
|
||||
|
||||
<P>
|
||||
|
||||
The TkMan button behaves as follows. Clicking mouse button 1 on the
|
||||
TkMan button launches tkman (the button stays depressed and
|
||||
inoperative until you exit tkman). Button 3 is used to direct tkman
|
||||
to look up the man page for the word that is the current X selection
|
||||
(e.g., highlighted with the mouse in some application). We start
|
||||
tkman browser unless it's already running; if it's running, we simply
|
||||
send tkman instructions.
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
To include the TkMan button in your panel, include in your Configuration:
|
||||
|
||||
<PRE>
|
||||
Client TkMan
|
||||
</PRE>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
69
doc/toc.html
Executable file
69
doc/toc.html
Executable file
|
@ -0,0 +1,69 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>tkgoodstuff</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.29 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<BASE TARGET="contents">
|
||||
|
||||
<CENTER>
|
||||
<A HREF="tkgoodstuff.html" BORDER=no>
|
||||
<Img SRC="tkgshadow.jpg" HEIGHT=50 WIDTH=150 BORDER=0></A>
|
||||
|
||||
|
||||
<BR>
|
||||
<A HREF="install.html">Getting</A><BR>
|
||||
|
||||
<A HREF="running.html">Running</A><BR>
|
||||
|
||||
<A HREF="preferences.html">Configuring </A><BR>
|
||||
|
||||
<A HREF="fvwm.html">Fvwm2 stuff</A><BR>
|
||||
|
||||
<A HREF="writingclients.html">Writing a client</A><BR>
|
||||
|
||||
<A HREF="FAQ">FAQ</A><BR>
|
||||
|
||||
<A HREF="CHANGES">Recent changes</A><BR>
|
||||
|
||||
<A HREF="mailinglists.html">Mailing Lists</A><BR>
|
||||
|
||||
<H3>Clients:</H3>
|
||||
|
||||
<A HREF="clock.html">Clock</A><BR>
|
||||
|
||||
<A HREF="biff.html">Biff</A><BR>
|
||||
|
||||
<A HREF="menu.html">Menu</A><BR>
|
||||
|
||||
<A HREF="net.html">Net</A><BR>
|
||||
|
||||
<A HREF="jots.html">Jots</A><BR>
|
||||
|
||||
<A HREF="watch.html">Watch</A><BR>
|
||||
|
||||
<A HREF="load.html">Load</A><BR>
|
||||
|
||||
<A HREF="www.html">WWW</A><BR>
|
||||
|
||||
<A HREF="ical.html">Ical</A><BR>
|
||||
|
||||
<A HREF="webster.html">Webster</A><BR>
|
||||
|
||||
<A HREF="popimap.html">PopImap</A><BR>
|
||||
|
||||
<A HREF="windowlist.html">WindowList</A><BR>
|
||||
|
||||
<A HREF="pager.html">Pager</A><BR>
|
||||
|
||||
<A HREF="chooser.html">Chooser</A><BR>
|
||||
|
||||
<A HREF="tkman.html">TkMan</A>
|
||||
</CENTER>
|
||||
<BR> <BR>
|
||||
Latest version: 8.0-final<BR>1 Oct, 1997
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
44
doc/watch.html
Executable file
44
doc/watch.html
Executable file
|
@ -0,0 +1,44 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>TkGoodStuff Watch</TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.26 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>TkGoodStuff Watch</H1>
|
||||
|
||||
<H2>Description </H2>
|
||||
|
||||
<P>The Watch client is a file-change notifier. It provides a button on
|
||||
your tkgoodstuff panel that can display an icon indicating the status
|
||||
of a file, a text message indicating
|
||||
"Unchanged"/"Changed", or both. A more detailed
|
||||
display is available in multiple-file mode (below).</P>
|
||||
|
||||
<P>Watch watches one or more files. For each file, at a configurable
|
||||
interval Watch looks for a change to the file and flags the change by
|
||||
beeping and changing the icon and/or label of the Watch button. Each
|
||||
file is assigned an "alert level", and the icon indicates
|
||||
the maximum alert-level of all changed files. </P>
|
||||
|
||||
<P>If you configure Watch to watch just one file, mouse button 1
|
||||
produces a file-viewer (which updates each time the file is found to
|
||||
have changed). If you use multiple files, then mouse button 3
|
||||
produces a menu that indicates which files have changed, and which
|
||||
allows you to view any of them individually, and button 1 produces a
|
||||
viewer of all the files simultaneously. If you like, Watch can also
|
||||
pop-up the viewer for a file when it is changed. Also, if you use
|
||||
multiple files, you can replace the normal Watch button in the
|
||||
tkgoodstuff panel with the menu of files, allowing you to see at a
|
||||
glance which files are changed. You can also "tear off" the
|
||||
files menu to position elsewhere on the screen.</P>
|
||||
|
||||
<P> Button 2 instructs Watch to regard files as unchanged. </P>
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
<P>All parameters are adjustable in the preferences manager. </P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
32
doc/webster.html
Executable file
32
doc/webster.html
Executable file
|
@ -0,0 +1,32 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff Webster</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff Webster</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The Webster client directs your web browswer to retrieve
|
||||
dictionary-definitions over the net.
|
||||
|
||||
<P> To use it, highlight a word as the X selection, and click on the
|
||||
Webster button; if all goes well, you will soon see a popup containing
|
||||
the definition of the word.
|
||||
|
||||
<P> By default, this client produces a button on your tkgoodstuff
|
||||
panel. But you can set preferences so that it will not, in which case
|
||||
you can use the (Tcl) command "WebsterDefine" as a Menu client item.
|
||||
|
||||
<P> You can customize the URL if you have access to a
|
||||
better dictionary server. If you know of a web page that has a "form" to fill
|
||||
out to get a definition, to determine the needed URL you may have to look
|
||||
at the html source of the page. Typically, you will want something like:
|
||||
<PRE>
|
||||
http://www2.hti.umich.edu/bin/oed/oed-idx.pl?q1=@word@
|
||||
</PRE>
|
||||
That's what I use, but I think only University of Michigan people can access
|
||||
that server. The Webster default is Merriam-Webster's server:
|
||||
<PRE>
|
||||
http://www.m-w.com/cgi-bin/mweb?book=Dictionary&va=@word@
|
||||
</PRE>
|
43
doc/windowlist.html
Executable file
43
doc/windowlist.html
Executable file
|
@ -0,0 +1,43 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff WindowList Client</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff WindowList Client</H1>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
<P>This is for use with the <a href="http://www.hpc.uh.edu/fvwm/">fvwm2
|
||||
window manager</a>, when tkgoodstuff is started as an fvwm2 module (see
|
||||
the documentation for tkgoodstuff's <a href="fvwm.html">Fvwm2</a>
|
||||
functionality for how to do this). WindowList produces a window
|
||||
containing buttons for each open or iconified window on your display
|
||||
(here's a <a
|
||||
href="http://www-personal.umich.edu/~markcrim/tkgoodstuff/win95.jpg">
|
||||
screenshot</a>).
|
||||
|
||||
<P> The sunken button corresponds to the current (focused) window, and
|
||||
when a window is iconified, its button is grayed-out. Clicking mouse
|
||||
button 1 on a window's button brings the window into focus (even if
|
||||
it's iconified). Clicking button 3 iconifies the window. If the
|
||||
Pager client is being used, button <2> allows you to "drag" a window
|
||||
(from its WindowList button) to any page on the display. If the
|
||||
buttons fill up the window so that some are out of view, the window
|
||||
names are abbreviated, and if necessary a scrollbar is created. If
|
||||
screen-edge mode is "no", you can adjust the height and width of the
|
||||
window manually in the preferences manager.
|
||||
|
||||
<P> Since this functions as an icon manager, you probably don't want
|
||||
fvwm2 to post icons. By default, tkgoodstuff will tell fvwm2 not to
|
||||
post icons. But this will affect only windows created after
|
||||
tkgoodstuff starts up. So if you normally start other apps (that you
|
||||
might iconify) before tkgoodstuff, you may want to tell fvwm2 yourself
|
||||
not to post icons. In fvwm2.0, the command (in your .fvwm2rc) is:
|
||||
<pre>Style "*" NoIcon</pre> Be sure to put that AFTER any other Style
|
||||
lines that define Icon in your .fvwm2rc (except for windows for which
|
||||
you do want icons).
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
||||
|
405
doc/writingclients.html
Executable file
405
doc/writingclients.html
Executable file
|
@ -0,0 +1,405 @@
|
|||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE> Writing TkGoodStuff Clients </TITLE>
|
||||
<META NAME="GENERATOR" CONTENT="Mozilla/3.01Gold (X11; I; Linux 2.0.26 i586) [Netscape]">
|
||||
</HEAD>
|
||||
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000">
|
||||
|
||||
<H1>Writing TkGoodStuff Clients </H1>
|
||||
|
||||
<H2>Table of Contents (this document) </H2>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#general">General Information </A></LI>
|
||||
|
||||
<LI><A HREF="#interface">Basic Client Interface </A></LI>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#combowindow">TKGButton</A> </LI>
|
||||
|
||||
<LI><A HREF="#tkgmakebutton">TKGMakeButton</A> </LI>
|
||||
|
||||
<LI><A HREF="#labelbox">TKGLabelBox </A></LI>
|
||||
|
||||
<LI><A HREF="#tkggrid">TKGGrid</A> </LI>
|
||||
|
||||
<LI><A HREF="#popup">Adding to the Popup Menu </A></LI>
|
||||
|
||||
<LI><A HREF="#periodic">TKGPeriodic </A></LI>
|
||||
</UL>
|
||||
|
||||
<LI><A HREF="#other">Other Utilities </A></LI>
|
||||
|
||||
<UL>
|
||||
<LI><A HREF="#tkgdialog">TKGDialog</A></LI>
|
||||
|
||||
<LI><A HREF="#tkgdeclare">TKGDeclare </A></LI>
|
||||
|
||||
<LI><A HREF="#setimage">SetImage </A></LI>
|
||||
|
||||
<LI><A HREF="#debug">DEBUG </A></LI>
|
||||
</UL>
|
||||
</UL>
|
||||
|
||||
<P><A NAME="general"></A></P>
|
||||
|
||||
<H2>General Information</H2>
|
||||
|
||||
<P>Clients are housed in files with the extension ".tcl". They
|
||||
might do anything at all, though what they in fact mainly do is to produce
|
||||
buttons or displays and to run and to schedule tasks. Clients can be very
|
||||
complex (like the Jots client, which is a notecard manager), or very simple.
|
||||
</P>
|
||||
|
||||
<P>There is a commented example of a very simple button-producing client
|
||||
called <A HREF="Example">"Example"</A> in the file tcl/Example.tcl
|
||||
in the tkgoodstuff library directory. You might start with it. </P>
|
||||
|
||||
<P>This document is not as complete as it should be, but I think it's at
|
||||
least mostly correct, and hopefully it's better than nothing. Still,
|
||||
your best bet may be to look at the actual code for various clients.
|
||||
|
||||
<A NAME="interface"></A></P>
|
||||
|
||||
<H2>Basic Client Interface</H2>
|
||||
|
||||
<P>Let's assume you are writing a client named "Foo". Your Foo.tcl
|
||||
file is "sourced" by tkgoodstuff when it reads the configuration
|
||||
file (or when Foo is added in the preferences manager). If you have defined
|
||||
a procedure "FooDoOnLoad", it is called then, as is "FooDeclare",
|
||||
if it exists ("FooDeclare" is called also when Foo is added in
|
||||
the preferences manager). "FooDeclare" should contain all your
|
||||
calls to TKGDeclare (for declaring preferences items). TKGDeclare is described
|
||||
below. </P>
|
||||
|
||||
<P>When the panel is being drawn (or redrawn following, e.g., a screen-edge
|
||||
move), the procedure "FooCreateWindow" is called if it exists.
|
||||
Ordinarily "FooCreateWindow" will make a call to TKGMakeButton
|
||||
or TKGLabelBox to produce a button or display window in the panel at the
|
||||
appropriate place. After all panels have been drawn, the procedure "FooStart",
|
||||
if it exists, will be called. During a screenedge move, the procedure "FooSuspend"
|
||||
will be called, if it exists, the client window will be ungridded, and
|
||||
then when the panel is redrawn "FooCreateWindow" and "FooStart"
|
||||
will be called. <A NAME="combowindow"></A></P>
|
||||
|
||||
<H3>TKGButton</H3>
|
||||
|
||||
<P>A "tkgbutton" is a button with either text, an icon, or both
|
||||
on its face. This command can be used either to create a button (but see
|
||||
TKGMakeButton) or to configure an existing button. If TKGButton is used
|
||||
to create a button, the button is not placed in the tkgoodstuff panel until
|
||||
TKGGrid is invoked. The syntax is as follows: </P>
|
||||
|
||||
<PRE>TKGButton name arguments
|
||||
</PRE>
|
||||
|
||||
<P>The <B>name</B> is an arbitrary name for the window (containing only
|
||||
characters suitable for variables). The other arguments are all optional
|
||||
(most also take "modified" forms; see the "-mode" switch
|
||||
for more about this): </P>
|
||||
|
||||
<LI><B>-pathname </B>pathname <BR>
|
||||
This switch is used when creating the button (but see also TKGMakeButton,
|
||||
which is the easier way to make a TKGButton for inclusion in the tkgoodstuff
|
||||
panel). The value must be a tk pathname. </LI>
|
||||
|
||||
<LI><B>-image </B>tkimage <BR>
|
||||
The value must be an already-created tk image. The button will display
|
||||
the image. </LI>
|
||||
|
||||
<LI><B>-text </B>textstring <BR>
|
||||
The button will display the text indicated. </LI>
|
||||
|
||||
<LI><B>-font </B>(standard font specifier) <BR>
|
||||
The button will display text (if any) using this font. </LI>
|
||||
|
||||
<LI><B>-exec </B>command <BR>
|
||||
The button, when pressed, will lauch the indicated unix command. Regular
|
||||
Tcl substitution is performed on the command string at execution. </LI>
|
||||
|
||||
<LI><B>-command </B>command <BR>
|
||||
The button, when pressed, will perform the indicated tcl command. Regular
|
||||
Tcl substitution is performed on the command string at execution. </LI>
|
||||
|
||||
<LI><B>-menu </B>menu <BR>
|
||||
The button will be a tkgmenubutton, and produce the indicated menu. No
|
||||
"exec" or "command" will be performed. </LI>
|
||||
|
||||
<LI><B>-iconside </B>left, right, top, bottom, or background <BR>
|
||||
This sets the side of the button taken by the icon, when your button has
|
||||
both an icon and text ("top" by default). If "background",
|
||||
then the text is written over the icon. </LI>
|
||||
|
||||
<LI><B>-staydown</B> 1 or 0 <BR>
|
||||
If 1 (which is the default), the button will stay down and inoperative
|
||||
after you press it until the launched unix command terminates. This is
|
||||
so you can see that you're already running that command. If 0, the button
|
||||
pops back up after launching the command, ready to launch the command again.
|
||||
</LI>
|
||||
|
||||
<LI><B>-usebutton2</B> 1 or 0 <BR>
|
||||
If 1 (which is the default), mouse button 2 will execute the button's unix
|
||||
command, if any, whether the button is up or down, and whether or not the
|
||||
unix command is already running. </LI>
|
||||
|
||||
<LI><B>-windowname</B> name <BR>
|
||||
This affects what happens when you press an already-depressed unix command
|
||||
button <B>if</B> you are running tkgoodstuff as an fvwm module. By default
|
||||
you move to the next window that is named by the name of the unix command
|
||||
of the button. But this switch allows you to look for an alternative window
|
||||
name (for instance, the program tkman names its window "TkMan",
|
||||
netscape "Netscape" and so on). </LI>
|
||||
|
||||
<LI><B>-font</B> font <BR>
|
||||
The font to use for text on the button </LI>
|
||||
|
||||
<LI><B>-ignore</B> 1 or 0 <BR>
|
||||
If 1 (0 is the default), we will ignore the global iconsonly and labelsonly
|
||||
variables. </LI>
|
||||
|
||||
<LI><B>-state </B>active or normal <BR>
|
||||
The button goes into the active state automatically when the mouse pointer
|
||||
enters, and into the normal state when it leaves. The state affects the
|
||||
button's colors (see also the "mode" switch). This is useful
|
||||
to call manually primarily when you pack a child window in a button (as
|
||||
in the Load client) and want to set its colors. </LI>
|
||||
|
||||
<LI><B>-foreground</B> color <BR>
|
||||
<B>-background</B> color <BR>
|
||||
<B>-activeforeground</B> color <BR>
|
||||
<B>-activebackground</B> color <BR>
|
||||
These set the colors for the button. </LI>
|
||||
|
||||
<LI><B>-padding </B>(any number) <BR>
|
||||
The number of pixels of empty space to put around icons and labels in buttons.
|
||||
</LI>
|
||||
|
||||
<LI><B>-mode </B>mode <BR>
|
||||
Switches the button to the indicated mode. Each mode for a button is associated
|
||||
with values for text, image, exec, command, font, staydown, windowname,
|
||||
and four colors: foreground, background, activeforeground, and activebackground.
|
||||
Switching modes is the way to change a button's appearance and/or function
|
||||
dramatically with a simple command. By default a button is in the "normal"
|
||||
mode. For instance, Biff defines "nomail" and "newmail"
|
||||
modes, and Net defines "netup", "netdn", and "netwt"
|
||||
modes. </LI>
|
||||
|
||||
<P>To set values for a mode, use modified switches like the following:
|
||||
</P>
|
||||
|
||||
<PRE> TKGButton Talk -foreground(notalk) red \
|
||||
-exec(notalk) {mesg y}
|
||||
</PRE>
|
||||
|
||||
<P>(Unmodified switches set the values for the current mode.) The parameters
|
||||
of the button are stored in a global array. If the <B>name</B> is "BarBar",
|
||||
the pathname of the created window will be stored in the global variable
|
||||
<B>BarBar-params(window)</B>, the current mode in <B>BarBar-params(mode)</B>.
|
||||
Mode-sensitive parameters are stored as follows: e.g., the text is stored
|
||||
in <B>BarBar-params(text,normal)</B> (supposing the button is in the normal
|
||||
mode, as it is by default). (In fact this is the "textvariable"
|
||||
for the button; setting it changes the button text directly.) There are
|
||||
no "unmodified" parameters for mode-sensitive parameters. For
|
||||
instance <B>BarBar-params(text)</B> does not exist. </P>
|
||||
|
||||
<P>TKGButton is a wrapper around the widget commands "tkgbutton"
|
||||
and "tkgmenubutton"(part of libtkg). <A NAME="tkgmakebutton"></A></P>
|
||||
|
||||
<H3>TKGMakeButton</H3>
|
||||
|
||||
<PRE>TKGMakeButton name . . .
|
||||
</PRE>
|
||||
|
||||
<P>Creates the indicated button, assigns it an approriate pathname, and
|
||||
packs it into the tkgoodstuff panel (at the position appropriate to the
|
||||
current stacking context). If the name is "Foo", the pathname
|
||||
is stored in the variable Foo-params(pathname). Takes the same arguments
|
||||
as TKGButton (which it calls, in fact), except that it is silly to give
|
||||
a "-pathname" switch to TKGMakeButton. <A NAME="labelbox"></A></P>
|
||||
|
||||
<H3>TKGLabelBox</H3>
|
||||
|
||||
<P>Creates a "label box" is a window with text on its face. The
|
||||
arguments are as follows: </P>
|
||||
|
||||
<PRE>TKGLabelBox name [-label "label text"]
|
||||
</PRE>
|
||||
|
||||
<P>(The square braces indicate that the argument is optional. If no label
|
||||
text is supplied, you get an empty frame, which is what Clock and Load
|
||||
use.) </P>
|
||||
|
||||
<P>The <B>name</B> is an arbitrary name for the window (containing only
|
||||
characters suitable for variables). If the <B>name</B> is "BarBar",
|
||||
the pathname of the created window will be stored in the global variable
|
||||
<B>BarBar_window</B>. </P>
|
||||
|
||||
<P>The <B>text</B> is a text string that will be displayed in the window.
|
||||
The window containing (just) this text has the pathname <B>BarBar_window.label.msg</B>.
|
||||
The textvariable for the label is <B>BarBar-lbparams(text)</B> <A NAME="tkggrid"></A></P>
|
||||
|
||||
<H3>TKGGrid</H3>
|
||||
|
||||
<PRE>TKGGrid pathname
|
||||
</PRE>
|
||||
|
||||
<P>Packs the indicated window into the current tkgoodstuff panel (at the
|
||||
position appropriate to the current stacking context). <A NAME="popup"></A></P>
|
||||
|
||||
<H3>Adding to the Popup Menu</H3>
|
||||
|
||||
<P>Two commands are provided for adding to the popup menu: </P>
|
||||
|
||||
<H4>TKGPopupAddClient</H4>
|
||||
|
||||
<P>adds a cascade menu entry in the main popup menu. It is invoked as follows:
|
||||
</P>
|
||||
|
||||
<PRE>TKGPopupAddClient clientname</PRE>
|
||||
|
||||
<P>Suppose your <B>clientname</B> is FooBar. Then, this command generates
|
||||
a cascade menu entry labelled "FOOBAR:", and a corresponding
|
||||
(empty) menu with the pathname .tkgpopup.foobar, which is the menu to which
|
||||
you should add items in your client code. </P>
|
||||
|
||||
<H4>TKGPopupAdd</H4>
|
||||
|
||||
<P>adds an item to the main popup menu at the end of the client-added section.
|
||||
The arguments are any arguments that would come after ".menuname add"
|
||||
in a normal addition of an item to a menu.
|
||||
|
||||
<A NAME="periodic"></A></P>
|
||||
<H3>TKGPeriodic</H3>
|
||||
|
||||
<P>You can schedule a Tcl command for periodic execution as follows: </P>
|
||||
|
||||
<PRE>TKGPeriodic name period offset command</PRE>
|
||||
|
||||
<UL>
|
||||
<LI>The name is an arbitrary name. </LI>
|
||||
|
||||
<LI>The period is the interval (in seconds) between executions of the periodic
|
||||
command. </LI>
|
||||
|
||||
<LI>The offset is the delay (in seconds) between invocation of the TKGPeriodic_command
|
||||
and the first execution of this periodic command. </LI>
|
||||
|
||||
<LI>The command is the command to execute at theat interval after that
|
||||
offset.</LI>
|
||||
</UL>
|
||||
|
||||
<P>You should try not to do anything periodically in this way that will
|
||||
take a lot of time to finish processing (e.g., don't have a periodically-called
|
||||
procedure wait for something before returning), since this will screw up
|
||||
the user interface responsiveness and other periodic processes. If you
|
||||
have to do something time-consuming, you should exec a shell script in
|
||||
the background with bgexec (see the BLT documentation) and trace the bgexec
|
||||
variable to get its output (for an example see Ical_fetch in Ical.tcl).
|
||||
</P>
|
||||
|
||||
<P>To cancel a scheduled periodic command, use: </P>
|
||||
|
||||
<PRE>TKGPeriodicCancel name</PRE>
|
||||
|
||||
<P>This will cancel any command that was scheduled by the same name with
|
||||
TKGPeriodic. <A NAME="other"></A></P>
|
||||
|
||||
<H2>Other Utilities </H2>
|
||||
|
||||
<P><A NAME="tkgdialog"></A></P>
|
||||
|
||||
<H3>TKGDialog </H3>
|
||||
|
||||
<PRE>TKGDialog name [ -wmtitle string ] [ -title string ] \
|
||||
[-image imagefilename] [-message string] [-text string] \
|
||||
[-titlebg color] [-titlefg color] [-bitmapfg color] \
|
||||
[-buttons buttonlist] [-nodismiss]</PRE>
|
||||
|
||||
<P>All the options in brackets are optional. This command pops up a dialog
|
||||
box with pathname ".<B>name</B>". The <B>-wmtitle</B> string
|
||||
is what will be put in the window manager title bar. The <B>-title</B>
|
||||
string is put in the dialog box title frame (up top, in a large font).
|
||||
The icon from the file named by the <B>-imagefilename</B> identifier is
|
||||
also put in the title frame. The <B>-message</B> string is put in a framed
|
||||
message widget under the title frame, if any. The <B>-text</B> widget is
|
||||
put in a scrollable text widget under the title frame, if any (and message
|
||||
frame, if any). The color options are as follows: <B>-titlebg</B> is the
|
||||
background of the title frame; <B>-titlefg</B> is the foreground of the
|
||||
title string; and <B>-bitmapfg</B> is the foreground color of the icon
|
||||
(if it is a bitmap; otherwise this switch does nothing). The button list
|
||||
is a list of button items, where a button item is a list of three items:
|
||||
a (lowercase) name for the button (the button's pathname will be ".<B>name</B>.buttons.<B>buttonname</B>"),
|
||||
a string of text to put on the button, and the command that the button
|
||||
will execute when pressed (usually this should include "destroy .<B>name</B>").
|
||||
Unless you include the argument "<B>-nodismiss</B>", there will
|
||||
also be a button labelled "Dismiss" which destroys the dialog.
|
||||
The buttons are placed at the bottom of the dialog, left to right in the
|
||||
order of your list, with the default "Dismiss" button at the
|
||||
right. <A NAME="tkgnotice"></A></P>
|
||||
|
||||
<H3>TKGNotice </H3>
|
||||
|
||||
<PRE>TKGNotice "Notice text."</PRE>
|
||||
|
||||
<P>Posts a simple notice dialog with a dismiss button. <A NAME="tkgerror"></A></P>
|
||||
|
||||
<H3>TKGError </H3>
|
||||
|
||||
<PRE>TKGError "Error text." ?exit?</PRE>
|
||||
|
||||
<P>Posts an error dialog with a dismiss button, a stack-trace button, and
|
||||
a preferences manager button. If "exit" is present, tkgoodstuff
|
||||
will be suspended and will exit when dismissed. <A NAME="colorconfig"></A></P>
|
||||
|
||||
<H3>ColorConfig </H3>
|
||||
|
||||
<PRE>ColorConfig pathname foregroundcolor backgroundcolor</PRE>
|
||||
|
||||
<P>This command sets the foreground and background colors of the window
|
||||
whose pathname you indicate, as well as the colors of its descendants,
|
||||
to the colors you name. Using "-" in place of the name of a color
|
||||
leaves that feature unchanged. <A NAME="recursivebind"></A></P>
|
||||
|
||||
<H3>RecursiveBind </H3>
|
||||
|
||||
<PRE>RecursiveBind pathname sequence command</PRE>
|
||||
|
||||
<P>This command binds the sequence to the indicated command in the window
|
||||
whose pathname you indicate as well as in all of its descendants. <A NAME="tkgdeclare"></A></P>
|
||||
|
||||
<H3>TKGDeclare </H3>
|
||||
|
||||
<PRE>TKGDeclare variable value [-typelist {type1 type2 ...}] \
|
||||
[-vartype boolean/radio/optionMenu/text/entry] \
|
||||
[-textsize WxH] \
|
||||
[-radiolist {{"Label 1" value1} {"Label 2" value2} ...}\
|
||||
[-optionlist {value1 value2 ...}]\
|
||||
[-label "Preferences Manager Label text"] \
|
||||
[-help "Preferences Manager Help text"]
|
||||
</PRE>
|
||||
|
||||
<P>This command sets the indicated variable to <B>value</B> unless the
|
||||
variable already has a value (due, e.g., to the user's preferences settings),
|
||||
in which case that value is retained. (This is how a client should set
|
||||
those of its global variable that you want users to be able to set in the
|
||||
preferences manager.) The other switches govern how the variable is treated
|
||||
in the preferences manager. <A NAME="setimage"></A></P>
|
||||
|
||||
<H3>SetImage </H3>
|
||||
|
||||
<PRE>SetImage name filname</PRE>
|
||||
|
||||
<P>This command creates an image named <B>name</B>, reading it from the
|
||||
file <B>filename</B>, and returns the image type (e.g., "bitmap",
|
||||
"photo"). <A NAME="debug"></A></P>
|
||||
|
||||
<H3>DEBUG </H3>
|
||||
|
||||
<PRE>DEBUG string</PRE>
|
||||
|
||||
<P>This command writes the string to the internal log, and, if TKGLogging
|
||||
is 1, also to the log file. </P>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
57
doc/www.html
Executable file
57
doc/www.html
Executable file
|
@ -0,0 +1,57 @@
|
|||
<HTML><HEAD>
|
||||
<TITLE>TkGoodStuff WWW</TITLE>
|
||||
|
||||
</HEAD><BODY bgcolor="#FFFFFF" text="#000000" link="blue" vlink="purple" alink="red">
|
||||
|
||||
<H1>TkGoodStuff WWW</H1>
|
||||
|
||||
<b> NOTE: Netscape's remote-control functionality is disabled in
|
||||
Netscape Communicator beta versions (at least up to beta 3). We'll
|
||||
become compatible when it works.</b>
|
||||
|
||||
<H2> Description </H2>
|
||||
|
||||
The WWW client is a web browser launcher.
|
||||
|
||||
<P> The WWW client can manage just one browser or more than one
|
||||
browser. In the preferences manager, you can specify a
|
||||
space-separated list of browsers (by default, a single browser, namely
|
||||
your main default tkgoodstuff browser, which by default is netscape).
|
||||
|
||||
<UL>
|
||||
<LI><B>Single-browser mode:</b> If (as by default) the WWW client
|
||||
knows about only one browser (e.g., netscape), the WWW button
|
||||
behaves as follows. Clicking mouse button 1 on the WWW button
|
||||
launches your browser program (the button stays depressed and
|
||||
inoperative until you exit the mailer program). Button 3 is used to
|
||||
visit the URL that is the current X selection (e.g., highlighted
|
||||
with the mouse in some application). If your browser is supported
|
||||
(Netscape and lynx), then WWW starts the browser unless it's already
|
||||
running; if it's running, WWW sends the browser instructions to go
|
||||
to the selected URL. This is useful, e.g., for visiting web pages
|
||||
that are mentioned in news articles, email, etc. </LI>
|
||||
|
||||
<LI><B>Multi-browser mode:</b></LI> If in the preferences manager
|
||||
you give the WWW client a list of browsers such as "netscape lynx
|
||||
mosaic chimera hippo tkwww", then you still use buttons 1 and 3 as
|
||||
above, except now you'll get a popup menu to choose your browser.
|
||||
(For instance, I like lynx for its startup speed and resource usage
|
||||
for most things, but I use netscape when I need to see graphics or a
|
||||
netscape-specific page.) </li> </ul>
|
||||
|
||||
<p> The WWW client automatically knows what to do for the browsers
|
||||
lynx (using an xterm) and netscape. It
|
||||
launches others fine if they can be started by their name.
|
||||
|
||||
<P> Thanks to Seth Golub for the idea of using the X selection in this
|
||||
way.
|
||||
|
||||
<H2>Invocation</H2>
|
||||
|
||||
To include the WWW button in your panel, include in your Configuration:
|
||||
|
||||
<PRE>
|
||||
Client WWW
|
||||
</PRE>
|
||||
|
||||
All parameters are adjustable in the preferences manager.
|
14
fvwm-patch-2.0.45
Executable file
14
fvwm-patch-2.0.45
Executable file
|
@ -0,0 +1,14 @@
|
|||
This patches fvwm2.0.45 to let tkgoodstuff screenedge mode
|
||||
work. I think screenedge mode now won't work with earlier versions
|
||||
of fvwm2 now.
|
||||
|
||||
--- events.c~ Wed Jan 22 08:37:39 1997
|
||||
+++ events.c Mon Jan 27 14:26:57 1997
|
||||
@@ -1294,6 +1295,7 @@
|
||||
* requested client window width; the inner height is the same as the
|
||||
* requested client window height plus any title bar slop.
|
||||
*/
|
||||
+ ConstrainSize(Tmp_win, &width, &height);
|
||||
SetupFrame (Tmp_win, x, y, width, height,sendEvent);
|
||||
KeepOnTop();
|
||||
|
32
icons/biffgreen-sm.xpm
Executable file
32
icons/biffgreen-sm.xpm
Executable file
|
@ -0,0 +1,32 @@
|
|||
/* XPM */
|
||||
static char * biffnew_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 8 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #7fff00",
|
||||
"+ c #c0c0c0",
|
||||
"@ c black",
|
||||
"# c white",
|
||||
/* pixels */
|
||||
" ...XXXXX.ooooooXX",
|
||||
" .....OOOO.ooooooOO",
|
||||
" .X.....OO+.ooooooOO",
|
||||
" @XXX.....O+.oooo.OOO",
|
||||
" .XXXX.....+.oo.+++OO",
|
||||
" .XXXX.....O.o++OOOOO",
|
||||
" .XXXX.....O.oOOOOOOO",
|
||||
" .XXXX#####O.oOOOOOOO",
|
||||
" .XX#######O.oOOOOOOO",
|
||||
" .##########O.oOOOOOOO",
|
||||
" ###########+.oOOOOOOO",
|
||||
" .#########OoooOOOOOO",
|
||||
" ..########O.ooOOOOOO",
|
||||
" .O..#######OOOOOOOOX ",
|
||||
" .OOOO.######OOOOOX ",
|
||||
"..OOOOOOO#####OOX..X ",
|
||||
"OOOOOOOOOO##OOX....X ",
|
||||
"OOOOOOOOOOOO....XXXX "};
|
51
icons/biffgreen.xpm
Executable file
51
icons/biffgreen.xpm
Executable file
|
@ -0,0 +1,51 @@
|
|||
/* XPM */
|
||||
static char * biffnew_xpm[] = {
|
||||
"46 38 10 1",
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #3c3c3c",
|
||||
"+ c #7fff00",
|
||||
"@ c #c0c0c0",
|
||||
"# c #3c3c3c",
|
||||
"$ c #ffffff",
|
||||
"% c #808080",
|
||||
" .......XXXXXXXXX.ooooooooooooXXXXX",
|
||||
" ..OOOOO..++++++++.oooooooooooo+++++",
|
||||
" ..OOOOOOO..+++++++.oooooooooooo+++++",
|
||||
" .OOOOOOOOOOO.++++++.oooooooooooo+++++",
|
||||
" .XXXOOOOOOOOO.++@@@.oooooooooooo+++++",
|
||||
" .XXXXXOOOOOOOOO++@@@.ooooooooooo.+++++",
|
||||
" .XXXXXXOOOOOOOO.++@@.ooooooooo..++++++",
|
||||
" .XXXXXXXOOOOOOOOO++@@.ooooooo..@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooooo..@@@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooo..@@@@++++++++",
|
||||
" .XXXXXXXXOOOOOOOO.++@.oo.@@@@++++++++++",
|
||||
" .XXXXXXXXXOOOOOOO.++@.oo@@@++++++++++++",
|
||||
" .XXXXXXXXXOOOOOO##.+@.oo@++++++++++++++",
|
||||
" .XXXXXXXXOOO####$$.+@.oo+++++++++++++++",
|
||||
" .XXXXXXX####$$$$$$.+@.oo+++++++++++++++",
|
||||
" .XXX####$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$#######$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$$$$$$$#######$$$$.@..ooo++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$####.@.ooooo+++++++++++++",
|
||||
" #$$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .#$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .O#$$$$$$$$$$$$$$$.+..oooo+++++++++++++",
|
||||
" ...O#$$$$$$$$$$$$$$.++..oo+++++++++++XXX",
|
||||
" .++...#$$$$$$$$$$$$$.+++++++++++++++XXX ",
|
||||
" ..++++++#$$$$$$$$$$$$.++++++++++++XXX ",
|
||||
" ..++++++++#$$$$$$$$$$$.+++++++++XXX ",
|
||||
" .+++++++++++##$$$$$$$$$.++++++XXX.X ",
|
||||
"...+++++++++++++#$$$$$$$#.+++XXX....X ",
|
||||
".++++++++++++++++#$$$$##X.XXXX......X ",
|
||||
"++++++++++++++++++#$##+++.XOO.......X ",
|
||||
"+++++++++++++++++++#++++..OOO....%%%X ",
|
||||
"++++++++++++++++++++++...OOOO.%%%%%%X ",
|
||||
"+++++++++++++++++++++.. OOOOO%%%%%%%X ",
|
||||
"++++++++++++++++++++.. OOOOO%%%%%%%X "};
|
32
icons/biffnew-sm.xpm
Executable file
32
icons/biffnew-sm.xpm
Executable file
|
@ -0,0 +1,32 @@
|
|||
/* XPM */
|
||||
static char * biffnew_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 8 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #ffff00",
|
||||
"+ c #c0c0c0",
|
||||
"@ c black",
|
||||
"# c white",
|
||||
/* pixels */
|
||||
" ...XXXXX.ooooooXX",
|
||||
" .....OOOO.ooooooOO",
|
||||
" .X.....OO+.ooooooOO",
|
||||
" @XXX.....O+.oooo.OOO",
|
||||
" .XXXX.....+.oo.+++OO",
|
||||
" .XXXX.....O.o++OOOOO",
|
||||
" .XXXX.....O.oOOOOOOO",
|
||||
" .XXXX#####O.oOOOOOOO",
|
||||
" .XX#######O.oOOOOOOO",
|
||||
" .##########O.oOOOOOOO",
|
||||
" ###########+.oOOOOOOO",
|
||||
" .#########OoooOOOOOO",
|
||||
" ..########O.ooOOOOOO",
|
||||
" .O..#######OOOOOOOOX ",
|
||||
" .OOOO.######OOOOOX ",
|
||||
"..OOOOOOO#####OOX..X ",
|
||||
"OOOOOOOOOO##OOX....X ",
|
||||
"OOOOOOOOOOOO....XXXX "};
|
51
icons/biffnew.xpm
Executable file
51
icons/biffnew.xpm
Executable file
|
@ -0,0 +1,51 @@
|
|||
/* XPM */
|
||||
static char * biffnew_xpm[] = {
|
||||
"46 38 10 1",
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #3c3c3c",
|
||||
"+ c #ffff00",
|
||||
"@ c #c0c0c0",
|
||||
"# c #3c3c3c",
|
||||
"$ c #ffffff",
|
||||
"% c #808080",
|
||||
" .......XXXXXXXXX.ooooooooooooXXXXX",
|
||||
" ..OOOOO..++++++++.oooooooooooo+++++",
|
||||
" ..OOOOOOO..+++++++.oooooooooooo+++++",
|
||||
" .OOOOOOOOOOO.++++++.oooooooooooo+++++",
|
||||
" .XXXOOOOOOOOO.++@@@.oooooooooooo+++++",
|
||||
" .XXXXXOOOOOOOOO++@@@.ooooooooooo.+++++",
|
||||
" .XXXXXXOOOOOOOO.++@@.ooooooooo..++++++",
|
||||
" .XXXXXXXOOOOOOOOO++@@.ooooooo..@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooooo..@@@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooo..@@@@++++++++",
|
||||
" .XXXXXXXXOOOOOOOO.++@.oo.@@@@++++++++++",
|
||||
" .XXXXXXXXXOOOOOOO.++@.oo@@@++++++++++++",
|
||||
" .XXXXXXXXXOOOOOO##.+@.oo@++++++++++++++",
|
||||
" .XXXXXXXXOOO####$$.+@.oo+++++++++++++++",
|
||||
" .XXXXXXX####$$$$$$.+@.oo+++++++++++++++",
|
||||
" .XXX####$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$#######$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$$$$$$$#######$$$$.@..ooo++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$####.@.ooooo+++++++++++++",
|
||||
" #$$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .#$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .O#$$$$$$$$$$$$$$$.+..oooo+++++++++++++",
|
||||
" ...O#$$$$$$$$$$$$$$.++..oo+++++++++++XXX",
|
||||
" .++...#$$$$$$$$$$$$$.+++++++++++++++XXX ",
|
||||
" ..++++++#$$$$$$$$$$$$.++++++++++++XXX ",
|
||||
" ..++++++++#$$$$$$$$$$$.+++++++++XXX ",
|
||||
" .+++++++++++##$$$$$$$$$.++++++XXX.X ",
|
||||
"...+++++++++++++#$$$$$$$#.+++XXX....X ",
|
||||
".++++++++++++++++#$$$$##X.XXXX......X ",
|
||||
"++++++++++++++++++#$##+++.XOO.......X ",
|
||||
"+++++++++++++++++++#++++..OOO....%%%X ",
|
||||
"++++++++++++++++++++++...OOOO.%%%%%%X ",
|
||||
"+++++++++++++++++++++.. OOOOO%%%%%%%X ",
|
||||
"++++++++++++++++++++.. OOOOO%%%%%%%X "};
|
30
icons/biffno-sm.xpm
Executable file
30
icons/biffno-sm.xpm
Executable file
|
@ -0,0 +1,30 @@
|
|||
/* XPM */
|
||||
static char * biffno_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 6 1",
|
||||
/* colors */
|
||||
" s None c none",
|
||||
". c #808080",
|
||||
"X c #ffffe3",
|
||||
"o c black",
|
||||
"O c #f81440",
|
||||
"+ c #3c3c3c",
|
||||
/* pixels */
|
||||
" ................. ",
|
||||
" .XXXX.XXXXXXXXXXXXX. ",
|
||||
" XXXXXX.XXXXXXXXXXXXXX ",
|
||||
" .XXXXXXX.XXXXXXXXXXXXX.",
|
||||
".XXXXXXXX.XXXXXXXXXXXXXX",
|
||||
".XXXXXXXX.XXXXXXXXXXXXXX",
|
||||
".XXXXXXXX.XXXXXXXXXXXXXX",
|
||||
".XXXXXXXX.XXXXXXXXXXXooo",
|
||||
".XXXXXXXX.XX...oooooooOO",
|
||||
".XXXXXXXX.Xooooo.....OOO",
|
||||
".XXXXXXXX.XXXXXXXXXX.OOO",
|
||||
".XXXXXXXX.XXXXXXXXXX.OOO",
|
||||
".XXXXXXXX.XXXXXXXXXX.OOO",
|
||||
" .XXXXXX.XXXXXXXX.. OOO",
|
||||
" .XXX.XXXXX. Oo ",
|
||||
" ...X..+++ ",
|
||||
" .++++++ ",
|
||||
" +++.... "};
|
49
icons/biffno.xpm
Executable file
49
icons/biffno.xpm
Executable file
|
@ -0,0 +1,49 @@
|
|||
/* XPM */
|
||||
static char * biffno_xpm[] = {
|
||||
"46 38 8 1",
|
||||
" s None c None",
|
||||
". c #808080",
|
||||
"X c #ffffe3",
|
||||
"o c #000000",
|
||||
"O c #f81440",
|
||||
"+ c #3c3c3c",
|
||||
"@ c #3c3c3c",
|
||||
"# c #808080",
|
||||
" ................................. ",
|
||||
" ..XXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.. ",
|
||||
" .XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXX.. ",
|
||||
" ..XXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.. ",
|
||||
" .XXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
|
||||
" ..XXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.. ",
|
||||
" .XXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX. ",
|
||||
"..XXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX..",
|
||||
".XXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
".XXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
".XXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
".XXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXoooooo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXooooooooooOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXooooooooooooooOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXoooooooooooooooXXoOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXoooooooooooo......oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXoooooooo..........oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXoooX.......XXXX..oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXX....XXXXXXXXX..oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX..oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX..oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX..oOOOOOo",
|
||||
".XXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX..oOOOOOo",
|
||||
"..XXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXX..oOOOOOo",
|
||||
" ...XXXXXXXXXXXXX.XXXXXXXXXXXXXXX... oOOOOOo",
|
||||
" ...XXXXXXXXXX.XXXXXXXXXXX.... oOOOoo ",
|
||||
" ..XXXXXXXX.XXXXXXXX... oOOo ",
|
||||
" ...XXXXX.XXXXX...++. ooo ",
|
||||
" ...XX.X....+++++. o ",
|
||||
" ...@+++++++++. ",
|
||||
" .@@@@+++++++. ",
|
||||
" @@@@@++++###. ",
|
||||
" @@@@@+######. ",
|
||||
" @@@@@#######. ",
|
||||
" @@@@@#######. "};
|
32
icons/biffred-sm.xpm
Executable file
32
icons/biffred-sm.xpm
Executable file
|
@ -0,0 +1,32 @@
|
|||
/* XPM */
|
||||
static char * biffnew_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 8 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #f81440",
|
||||
"+ c #c0c0c0",
|
||||
"@ c black",
|
||||
"# c white",
|
||||
/* pixels */
|
||||
" ...XXXXX.ooooooXX",
|
||||
" .....OOOO.ooooooOO",
|
||||
" .X.....OO+.ooooooOO",
|
||||
" @XXX.....O+.oooo.OOO",
|
||||
" .XXXX.....+.oo.+++OO",
|
||||
" .XXXX.....O.o++OOOOO",
|
||||
" .XXXX.....O.oOOOOOOO",
|
||||
" .XXXX#####O.oOOOOOOO",
|
||||
" .XX#######O.oOOOOOOO",
|
||||
" .##########O.oOOOOOOO",
|
||||
" ###########+.oOOOOOOO",
|
||||
" .#########OoooOOOOOO",
|
||||
" ..########O.ooOOOOOO",
|
||||
" .O..#######OOOOOOOOX ",
|
||||
" .OOOO.######OOOOOX ",
|
||||
"..OOOOOOO#####OOX..X ",
|
||||
"OOOOOOOOOO##OOX....X ",
|
||||
"OOOOOOOOOOOO....XXXX "};
|
51
icons/biffred.xpm
Executable file
51
icons/biffred.xpm
Executable file
|
@ -0,0 +1,51 @@
|
|||
/* XPM */
|
||||
static char * biffnew_xpm[] = {
|
||||
"46 38 10 1",
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #3c3c3c",
|
||||
"+ c #f81440",
|
||||
"@ c #c0c0c0",
|
||||
"# c #3c3c3c",
|
||||
"$ c #ffffff",
|
||||
"% c #808080",
|
||||
" .......XXXXXXXXX.ooooooooooooXXXXX",
|
||||
" ..OOOOO..++++++++.oooooooooooo+++++",
|
||||
" ..OOOOOOO..+++++++.oooooooooooo+++++",
|
||||
" .OOOOOOOOOOO.++++++.oooooooooooo+++++",
|
||||
" .XXXOOOOOOOOO.++@@@.oooooooooooo+++++",
|
||||
" .XXXXXOOOOOOOOO++@@@.ooooooooooo.+++++",
|
||||
" .XXXXXXOOOOOOOO.++@@.ooooooooo..++++++",
|
||||
" .XXXXXXXOOOOOOOOO++@@.ooooooo..@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooooo..@@@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooo..@@@@++++++++",
|
||||
" .XXXXXXXXOOOOOOOO.++@.oo.@@@@++++++++++",
|
||||
" .XXXXXXXXXOOOOOOO.++@.oo@@@++++++++++++",
|
||||
" .XXXXXXXXXOOOOOO##.+@.oo@++++++++++++++",
|
||||
" .XXXXXXXXOOO####$$.+@.oo+++++++++++++++",
|
||||
" .XXXXXXX####$$$$$$.+@.oo+++++++++++++++",
|
||||
" .XXX####$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$#######$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$$$$$$$#######$$$$.@..ooo++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$####.@.ooooo+++++++++++++",
|
||||
" #$$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .#$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .O#$$$$$$$$$$$$$$$.+..oooo+++++++++++++",
|
||||
" ...O#$$$$$$$$$$$$$$.++..oo+++++++++++XXX",
|
||||
" .++...#$$$$$$$$$$$$$.+++++++++++++++XXX ",
|
||||
" ..++++++#$$$$$$$$$$$$.++++++++++++XXX ",
|
||||
" ..++++++++#$$$$$$$$$$$.+++++++++XXX ",
|
||||
" .+++++++++++##$$$$$$$$$.++++++XXX.X ",
|
||||
"...+++++++++++++#$$$$$$$#.+++XXX....X ",
|
||||
".++++++++++++++++#$$$$##X.XXXX......X ",
|
||||
"++++++++++++++++++#$##+++.XOO.......X ",
|
||||
"+++++++++++++++++++#++++..OOO....%%%X ",
|
||||
"++++++++++++++++++++++...OOOO.%%%%%%X ",
|
||||
"+++++++++++++++++++++.. OOOOO%%%%%%%X ",
|
||||
"++++++++++++++++++++.. OOOOO%%%%%%%X "};
|
32
icons/biffwhite-sm.xpm
Executable file
32
icons/biffwhite-sm.xpm
Executable file
|
@ -0,0 +1,32 @@
|
|||
/* XPM */
|
||||
static char * biffnew_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 8 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #ffffe3",
|
||||
"+ c #c0c0c0",
|
||||
"@ c black",
|
||||
"# c white",
|
||||
/* pixels */
|
||||
" ...XXXXX.ooooooXX",
|
||||
" .....OOOO.ooooooOO",
|
||||
" .X.....OO+.ooooooOO",
|
||||
" @XXX.....O+.oooo.OOO",
|
||||
" .XXXX.....+.oo.+++OO",
|
||||
" .XXXX.....O.o++OOOOO",
|
||||
" .XXXX.....O.oOOOOOOO",
|
||||
" .XXXX#####O.oOOOOOOO",
|
||||
" .XX#######O.oOOOOOOO",
|
||||
" .##########O.oOOOOOOO",
|
||||
" ###########+.oOOOOOOO",
|
||||
" .#########OoooOOOOOO",
|
||||
" ..########O.ooOOOOOO",
|
||||
" .O..#######OOOOOOOOX ",
|
||||
" .OOOO.######OOOOOX ",
|
||||
"..OOOOOOO#####OOX..X ",
|
||||
"OOOOOOOOOO##OOX....X ",
|
||||
"OOOOOOOOOOOO....XXXX "};
|
51
icons/biffwhite.xpm
Executable file
51
icons/biffwhite.xpm
Executable file
|
@ -0,0 +1,51 @@
|
|||
/* XPM */
|
||||
static char * biffnew_xpm[] = {
|
||||
"46 38 10 1",
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #3c3c3c",
|
||||
"+ c #ffffe3",
|
||||
"@ c #c0c0c0",
|
||||
"# c #3c3c3c",
|
||||
"$ c #ffffff",
|
||||
"% c #808080",
|
||||
" .......XXXXXXXXX.ooooooooooooXXXXX",
|
||||
" ..OOOOO..++++++++.oooooooooooo+++++",
|
||||
" ..OOOOOOO..+++++++.oooooooooooo+++++",
|
||||
" .OOOOOOOOOOO.++++++.oooooooooooo+++++",
|
||||
" .XXXOOOOOOOOO.++@@@.oooooooooooo+++++",
|
||||
" .XXXXXOOOOOOOOO++@@@.ooooooooooo.+++++",
|
||||
" .XXXXXXOOOOOOOO.++@@.ooooooooo..++++++",
|
||||
" .XXXXXXXOOOOOOOOO++@@.ooooooo..@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooooo..@@@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooo..@@@@++++++++",
|
||||
" .XXXXXXXXOOOOOOOO.++@.oo.@@@@++++++++++",
|
||||
" .XXXXXXXXXOOOOOOO.++@.oo@@@++++++++++++",
|
||||
" .XXXXXXXXXOOOOOO##.+@.oo@++++++++++++++",
|
||||
" .XXXXXXXXOOO####$$.+@.oo+++++++++++++++",
|
||||
" .XXXXXXX####$$$$$$.+@.oo+++++++++++++++",
|
||||
" .XXX####$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$#######$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$$$$$$$#######$$$$.@..ooo++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$####.@.ooooo+++++++++++++",
|
||||
" #$$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .#$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .O#$$$$$$$$$$$$$$$.+..oooo+++++++++++++",
|
||||
" ...O#$$$$$$$$$$$$$$.++..oo+++++++++++XXX",
|
||||
" .++...#$$$$$$$$$$$$$.+++++++++++++++XXX ",
|
||||
" ..++++++#$$$$$$$$$$$$.++++++++++++XXX ",
|
||||
" ..++++++++#$$$$$$$$$$$.+++++++++XXX ",
|
||||
" .+++++++++++##$$$$$$$$$.++++++XXX.X ",
|
||||
"...+++++++++++++#$$$$$$$#.+++XXX....X ",
|
||||
".++++++++++++++++#$$$$##X.XXXX......X ",
|
||||
"++++++++++++++++++#$##+++.XOO.......X ",
|
||||
"+++++++++++++++++++#++++..OOO....%%%X ",
|
||||
"++++++++++++++++++++++...OOOO.%%%%%%X ",
|
||||
"+++++++++++++++++++++.. OOOOO%%%%%%%X ",
|
||||
"++++++++++++++++++++.. OOOOO%%%%%%%X "};
|
32
icons/biffyellow-sm.xpm
Executable file
32
icons/biffyellow-sm.xpm
Executable file
|
@ -0,0 +1,32 @@
|
|||
/* XPM */
|
||||
static char * biffnew_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 8 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #ffff00",
|
||||
"+ c #c0c0c0",
|
||||
"@ c black",
|
||||
"# c white",
|
||||
/* pixels */
|
||||
" ...XXXXX.ooooooXX",
|
||||
" .....OOOO.ooooooOO",
|
||||
" .X.....OO+.ooooooOO",
|
||||
" @XXX.....O+.oooo.OOO",
|
||||
" .XXXX.....+.oo.+++OO",
|
||||
" .XXXX.....O.o++OOOOO",
|
||||
" .XXXX.....O.oOOOOOOO",
|
||||
" .XXXX#####O.oOOOOOOO",
|
||||
" .XX#######O.oOOOOOOO",
|
||||
" .##########O.oOOOOOOO",
|
||||
" ###########+.oOOOOOOO",
|
||||
" .#########OoooOOOOOO",
|
||||
" ..########O.ooOOOOOO",
|
||||
" .O..#######OOOOOOOOX ",
|
||||
" .OOOO.######OOOOOX ",
|
||||
"..OOOOOOO#####OOX..X ",
|
||||
"OOOOOOOOOO##OOX....X ",
|
||||
"OOOOOOOOOOOO....XXXX "};
|
51
icons/biffyellow.xpm
Executable file
51
icons/biffyellow.xpm
Executable file
|
@ -0,0 +1,51 @@
|
|||
/* XPM */
|
||||
static char * biffnew_xpm[] = {
|
||||
"46 38 10 1",
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c #808080",
|
||||
"o c #f81440",
|
||||
"O c #3c3c3c",
|
||||
"+ c #ffff00",
|
||||
"@ c #c0c0c0",
|
||||
"# c #3c3c3c",
|
||||
"$ c #ffffff",
|
||||
"% c #808080",
|
||||
" .......XXXXXXXXX.ooooooooooooXXXXX",
|
||||
" ..OOOOO..++++++++.oooooooooooo+++++",
|
||||
" ..OOOOOOO..+++++++.oooooooooooo+++++",
|
||||
" .OOOOOOOOOOO.++++++.oooooooooooo+++++",
|
||||
" .XXXOOOOOOOOO.++@@@.oooooooooooo+++++",
|
||||
" .XXXXXOOOOOOOOO++@@@.ooooooooooo.+++++",
|
||||
" .XXXXXXOOOOOOOO.++@@.ooooooooo..++++++",
|
||||
" .XXXXXXXOOOOOOOOO++@@.ooooooo..@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooooo..@@@@@+++++",
|
||||
" .XXXXXXXXOOOOOOOO.+@@.ooo..@@@@++++++++",
|
||||
" .XXXXXXXXOOOOOOOO.++@.oo.@@@@++++++++++",
|
||||
" .XXXXXXXXXOOOOOOO.++@.oo@@@++++++++++++",
|
||||
" .XXXXXXXXXOOOOOO##.+@.oo@++++++++++++++",
|
||||
" .XXXXXXXXOOO####$$.+@.oo+++++++++++++++",
|
||||
" .XXXXXXX####$$$$$$.+@.oo+++++++++++++++",
|
||||
" .XXX####$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #####$$$$$$$$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$#######$$$$$$$$$$$.+@.oo+++++++++++++++",
|
||||
" #$$$$$$$$$#######$$$$.@..ooo++++++++++++++",
|
||||
" ##$$$$$$$$$$$$$$####.@.ooooo+++++++++++++",
|
||||
" #$$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .#$$$$$$$$$$$$$$$$.+.ooooo+++++++++++++",
|
||||
" .O#$$$$$$$$$$$$$$$.+..oooo+++++++++++++",
|
||||
" ...O#$$$$$$$$$$$$$$.++..oo+++++++++++XXX",
|
||||
" .++...#$$$$$$$$$$$$$.+++++++++++++++XXX ",
|
||||
" ..++++++#$$$$$$$$$$$$.++++++++++++XXX ",
|
||||
" ..++++++++#$$$$$$$$$$$.+++++++++XXX ",
|
||||
" .+++++++++++##$$$$$$$$$.++++++XXX.X ",
|
||||
"...+++++++++++++#$$$$$$$#.+++XXX....X ",
|
||||
".++++++++++++++++#$$$$##X.XXXX......X ",
|
||||
"++++++++++++++++++#$##+++.XOO.......X ",
|
||||
"+++++++++++++++++++#++++..OOO....%%%X ",
|
||||
"++++++++++++++++++++++...OOOO.%%%%%%X ",
|
||||
"+++++++++++++++++++++.. OOOOO%%%%%%%X ",
|
||||
"++++++++++++++++++++.. OOOOO%%%%%%%X "};
|
393
icons/blue_marble.xpm
Executable file
393
icons/blue_marble.xpm
Executable file
File diff suppressed because one or more lines are too long
29
icons/browser.xpm
Executable file
29
icons/browser.xpm
Executable file
|
@ -0,0 +1,29 @@
|
|||
/* XPM */
|
||||
static char * browser_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"16 16 7 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #0000ff",
|
||||
"X c #00aa00",
|
||||
"o c #000055",
|
||||
"O c black",
|
||||
"+ c #7fff00",
|
||||
"@ c #0000aa",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ... ",
|
||||
" .XooooO ",
|
||||
" ..XXXXXoO ",
|
||||
" ...XX.Xoo ",
|
||||
" ....XXXXooO ",
|
||||
" ....+XX@@oo ",
|
||||
" @...+X@@@oo ",
|
||||
" ...@@X@@o ",
|
||||
" @@@.@@@XX ",
|
||||
" @@@@@@X ",
|
||||
" @@o ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
13
icons/bullet.xpm
Executable file
13
icons/bullet.xpm
Executable file
|
@ -0,0 +1,13 @@
|
|||
/* XPM */
|
||||
static char * bullet_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"5 5 2 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #7fff00",
|
||||
/* pixels */
|
||||
" . ",
|
||||
" ... ",
|
||||
".....",
|
||||
" ... ",
|
||||
" . "};
|
17
icons/button.xpm
Executable file
17
icons/button.xpm
Executable file
|
@ -0,0 +1,17 @@
|
|||
/* XPM */
|
||||
static char * button_xpm[] = {
|
||||
"11 11 3 1",
|
||||
" s None c None",
|
||||
". c #843c24",
|
||||
"X c #cf9a30",
|
||||
" ... ",
|
||||
" ..XXX.. ",
|
||||
" .XXXXXXX. ",
|
||||
" .X..X..X. ",
|
||||
".XX..X..XX.",
|
||||
".XXXXXXXXX.",
|
||||
".XX..X..XX.",
|
||||
" .X..X..X. ",
|
||||
" .XXXXXXX. ",
|
||||
" ..XXX.. ",
|
||||
" ... "};
|
32
icons/calc-sm.xpm
Executable file
32
icons/calc-sm.xpm
Executable file
|
@ -0,0 +1,32 @@
|
|||
/* XPM */
|
||||
static char * calc_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 8 1",
|
||||
/* colors */
|
||||
" s None c none",
|
||||
". c #3c3c3c",
|
||||
"X c white",
|
||||
"o c black",
|
||||
"O c #c0c0c0",
|
||||
"+ c #ffffe3",
|
||||
"@ c #808080",
|
||||
"# c #7fff00",
|
||||
/* pixels */
|
||||
" ..... ",
|
||||
" .XXXXXo ",
|
||||
" .XXXXoXX ",
|
||||
" O.XXXo . ",
|
||||
" OO.....+++@@@ ",
|
||||
" +..##.#.....+++@",
|
||||
" O......#.#....OO",
|
||||
" O++++...#..#..+OO",
|
||||
" ++@@++++.....+OOO",
|
||||
" ++++++@@++++++OOO@",
|
||||
" ++@@++++++@@++OOO@ ",
|
||||
" ++++++@@++++++OOO@ ",
|
||||
" ++@@++++++@@++OOO ",
|
||||
" O+++++@@+++++++OO ",
|
||||
" OO+++++++@@+++OO ",
|
||||
" @++O++++++++OO ",
|
||||
" @++O++++O@ ",
|
||||
" @O+OO@ "};
|
54
icons/calc.xpm
Executable file
54
icons/calc.xpm
Executable file
|
@ -0,0 +1,54 @@
|
|||
/* XPM */
|
||||
static char * calc_xpm[] = {
|
||||
/*tan*/
|
||||
"49 38 10 1",
|
||||
/**/
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c white",
|
||||
"o c black",
|
||||
"O c #c0c0c0",
|
||||
"+ c #ffffe3",
|
||||
"@ c #808080",
|
||||
"# c #7fff00",
|
||||
"$ c #000055",
|
||||
"% c #0000ff",
|
||||
/**/
|
||||
" .......... ",
|
||||
" ...XXXXXXXXXo ",
|
||||
" ..XXXXXXXXXXooo ",
|
||||
" ..XXXXXXXXXooXXo ",
|
||||
" .XXXXXXXXXoXX Xo ",
|
||||
" O.XXXXXXXXo ..... ",
|
||||
" O+.XXXXXXXo@ .. ",
|
||||
" O+O....XXXXo+@@@@@@ ",
|
||||
" OOOO...#.......++++++@@@@@ ",
|
||||
" O+O....#..####......+++++++@@ ",
|
||||
" O+O....#.....##..###.....+++++@@ ",
|
||||
" OO....#....##.......#.......++OO@ ",
|
||||
" OO...#..###......###........+OOO@ ",
|
||||
" O++++......##......#........++OOO@ ",
|
||||
" O++++++++......##..#.......++OOOO@ ",
|
||||
" O++++++++++++++...##.......++OOOOO@ ",
|
||||
" O++++++++++++++++.........++OOOOOO@ ",
|
||||
" O+++++$$$+++++++++++++....+++OOOOOO@ ",
|
||||
" O++++$+++$++++++++%%%++++++++OOOOO@ ",
|
||||
" O++++$+++$@+++$$$++++%%%%++++OOOOOO@ ",
|
||||
" O++++++$$$@+++$+++$++++++%%++OOOOOO@ ",
|
||||
" O++++$$$++++++$+++$@++$$$++++OOOOOO@ ",
|
||||
" O++++$+++$++++++$$$@++$+++$++OOOOOO@ ",
|
||||
" O++++$+++$@+++$$$+++++$+++$@+OOOOO@@ ",
|
||||
" O++++++$$$@+++$+++$+++++$$$@+OOOOO@ ",
|
||||
" O++++$$$++++++$+++$@+++++++++OOOOO@ ",
|
||||
" O++++$+++$++++++$$$@++$$$++++OOOOO@ ",
|
||||
" O+++$+++$@+++$$$+++++$+++$+++OOOO@ ",
|
||||
" O++++$$$@+++$+++$+++$@+++$++OOOO@ ",
|
||||
" OOOO+++++++$+++$@++$@@@@$@+OOOO@ ",
|
||||
" @+++OOO+++++$$$@++$++@@$@+OOOO@ ",
|
||||
" @@@+++OOO+++++++$++++$@+OOOO@ ",
|
||||
" @@@+++OOO++++@$$$$@+OOO@@ ",
|
||||
" @@@+++OOO++@@@@+OOO@ ",
|
||||
" @@@+++OOO+++OOO@ ",
|
||||
" @@@@++OOOOO@ ",
|
||||
" @@@+OO@ ",
|
||||
" @@@ "};
|
17
icons/client.xpm
Executable file
17
icons/client.xpm
Executable file
|
@ -0,0 +1,17 @@
|
|||
/* XPM */
|
||||
static char * client_xpm[] = {
|
||||
"11 11 3 1",
|
||||
" s None c None",
|
||||
". c #cf9a30",
|
||||
"X c #843c24",
|
||||
" ........ ",
|
||||
" .........X",
|
||||
"..XXXXXX..X",
|
||||
"..X XXX",
|
||||
"..X ",
|
||||
"..X ",
|
||||
"..X ",
|
||||
"..X .. ",
|
||||
"..........X",
|
||||
" .........X",
|
||||
" XXXXXXXXX"};
|
5
icons/copyright.info
Executable file
5
icons/copyright.info
Executable file
|
@ -0,0 +1,5 @@
|
|||
Some of these images are my own (net), but most have been pulled from
|
||||
archives where they are represented as being public domain. I hope
|
||||
they in fact are! If any of these images is yours and you want credit
|
||||
or want me to remove it, I would be happy to oblige.
|
||||
markcrim@umich.edu
|
16
icons/dimple.xpm
Executable file
16
icons/dimple.xpm
Executable file
|
@ -0,0 +1,16 @@
|
|||
/* XPM */
|
||||
static char * dimple_xpm[] = {
|
||||
"10 10 3 1",
|
||||
" c none",
|
||||
". c #747474",
|
||||
"X c #b4b4b4",
|
||||
" X . ",
|
||||
"X X",
|
||||
" ",
|
||||
" .. ",
|
||||
" . X ",
|
||||
" . X ",
|
||||
" XX ",
|
||||
" ",
|
||||
". .",
|
||||
" X . "};
|
29
icons/editor.xpm
Executable file
29
icons/editor.xpm
Executable file
|
@ -0,0 +1,29 @@
|
|||
/* XPM */
|
||||
static char * editor_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"16 16 7 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #f81440",
|
||||
"X c #808080",
|
||||
"o c #00aa00",
|
||||
"O c #ffcf30",
|
||||
"+ c #cf9a30",
|
||||
"@ c #3c3c3c",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" . ",
|
||||
" X.. ",
|
||||
" XoX. ",
|
||||
" OOoo ",
|
||||
" OOO+ ",
|
||||
" OOOO ",
|
||||
" OOO+ ",
|
||||
" OOOO ",
|
||||
" +OO+ ",
|
||||
" ++OO ",
|
||||
" @X+ ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
8
icons/error
Executable file
8
icons/error
Executable file
|
@ -0,0 +1,8 @@
|
|||
#define xm_error_width 20
|
||||
#define xm_error_height 20
|
||||
static char xm_error_bits[] = {
|
||||
0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xf0, 0x3a, 0x00, 0x58, 0x55, 0x00,
|
||||
0x2c, 0xa0, 0x00, 0x56, 0x40, 0x01, 0xaa, 0x80, 0x02, 0x46, 0x81, 0x01,
|
||||
0x8a, 0x82, 0x02, 0x06, 0x85, 0x01, 0x0a, 0x8a, 0x02, 0x06, 0x94, 0x01,
|
||||
0x0a, 0xe8, 0x02, 0x14, 0x50, 0x01, 0x28, 0xb0, 0x00, 0xd0, 0x5f, 0x00,
|
||||
0xa0, 0x2a, 0x00, 0x40, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
17
icons/exec.xpm
Executable file
17
icons/exec.xpm
Executable file
|
@ -0,0 +1,17 @@
|
|||
/* XPM */
|
||||
static char * exec_xpm[] = {
|
||||
"11 11 3 1",
|
||||
" c #cf9a30",
|
||||
". c #843c24",
|
||||
"X s None c None",
|
||||
" .X .",
|
||||
".. .X ...",
|
||||
"XX. .X .XXX",
|
||||
"XX. .XXX",
|
||||
"XXX. .XXXX",
|
||||
"XXXX .XXXX",
|
||||
"XXX .XXX",
|
||||
"XX .. .XX",
|
||||
"XX .X .XX",
|
||||
" .X .",
|
||||
".....X....."};
|
27
icons/file
Executable file
27
icons/file
Executable file
|
@ -0,0 +1,27 @@
|
|||
#define file_width 48
|
||||
#define file_height 48
|
||||
static unsigned char file_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0x00,
|
||||
0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00,
|
||||
0xf8, 0x03, 0xfc, 0xff, 0xff, 0x1f, 0x08, 0x04, 0x02, 0x00, 0x00, 0x10,
|
||||
0x04, 0xf8, 0x01, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x20,
|
||||
0x04, 0x00, 0x00, 0x00, 0x00, 0x20, 0xfc, 0xff, 0xff, 0xff, 0xff, 0x3f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
21
icons/fileempty.xpm
Executable file
21
icons/fileempty.xpm
Executable file
|
@ -0,0 +1,21 @@
|
|||
/* XPM */
|
||||
static char * fileempty_xpm[] = {
|
||||
"18 14 4 1",
|
||||
" s None c None",
|
||||
". c #808080",
|
||||
"X c #ffffe3",
|
||||
"o c #000000",
|
||||
" ..... ",
|
||||
" .XXXX. ",
|
||||
" .XXXXXX......... ",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".ooooooooooooooooo"};
|
21
icons/filefull.xpm
Executable file
21
icons/filefull.xpm
Executable file
|
@ -0,0 +1,21 @@
|
|||
/* XPM */
|
||||
static char * filefull_xpm[] = {
|
||||
"18 14 4 1",
|
||||
" s None c None",
|
||||
". c #808080",
|
||||
"X c #7fff00",
|
||||
"o c #000000",
|
||||
" ..... ",
|
||||
" .XXXX. ",
|
||||
" .XXXXXX......... ",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".XXXXXXXXXXXXXXXXo",
|
||||
".ooooooooooooooooo"};
|
21
icons/filegone.xpm
Executable file
21
icons/filegone.xpm
Executable file
|
@ -0,0 +1,21 @@
|
|||
/* XPM */
|
||||
static char * filegone_xpm[] = {
|
||||
"18 14 4 1",
|
||||
" s None c None",
|
||||
". c #808080",
|
||||
"X c #ffffe3",
|
||||
"o c #000000",
|
||||
" .. . ",
|
||||
" . X X. ",
|
||||
" . X X X . . . . ",
|
||||
". X X X X X X X X ",
|
||||
" X X X X X X X X o",
|
||||
". X X X X X X X X ",
|
||||
" X X X X X X X X o",
|
||||
". X X X X X X X X ",
|
||||
" X X X X X X X X o",
|
||||
". X X X X X X X X ",
|
||||
" X X X X X X X X o",
|
||||
". X X X X X X X X ",
|
||||
" X X X X X X X X o",
|
||||
". o o o o o o o o "};
|
25
icons/filer.xpm
Executable file
25
icons/filer.xpm
Executable file
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static char * filer_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"16 16 3 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #ffffe3",
|
||||
"X c #3c3c3c",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ... ",
|
||||
" .......... ",
|
||||
" ..........X ",
|
||||
" ..........X ",
|
||||
" ..........X ",
|
||||
" ..........X ",
|
||||
" ..........X ",
|
||||
" ..........X ",
|
||||
" XXXXXXXXXX ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
27
icons/graphic.xpm
Executable file
27
icons/graphic.xpm
Executable file
|
@ -0,0 +1,27 @@
|
|||
/* XPM */
|
||||
static char * graphic_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"16 16 5 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #ce0000",
|
||||
"X c #ffff00",
|
||||
"o c #7fff00",
|
||||
"O c #0000ff",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ... ",
|
||||
" ...... ",
|
||||
" ....XXX ",
|
||||
" ...XXXXX ",
|
||||
" ...XXXooo ",
|
||||
" ...XXooooo ",
|
||||
" ..XXXoooOO ",
|
||||
" ..XXooOOOO ",
|
||||
" ..XXoooOOO ",
|
||||
" ..XXooOO ",
|
||||
" ..XXooOO ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
29
icons/ical-sm.xpm
Executable file
29
icons/ical-sm.xpm
Executable file
|
@ -0,0 +1,29 @@
|
|||
/* XPM */
|
||||
static char * ical_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 5 1",
|
||||
/* colors */
|
||||
" s None c none",
|
||||
". c black",
|
||||
"X c #ffffe3",
|
||||
"o c #3c3c3c",
|
||||
"O c #f81440",
|
||||
/* pixels */
|
||||
" . ",
|
||||
" . . . .X. . ",
|
||||
"oooooooooooXooooooooooo ",
|
||||
"oXXX.XXXXXXXXXX.XXXX.XX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
"oXXX.XXXOXXXXX..XX.XXXX.",
|
||||
"oXXX.XXOXXX.XXX.XXXXXXX.",
|
||||
"oXXX.XXOXXXXXXXXXX.XXXX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
"oXXX.XXOOXX.XXXXXX.XXXX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
"oXXX.XXOXXX.XXX.XX.XXXX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
"oXXX.XXOXXX.XXX.XX.XXXX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
"oXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
" ......................."};
|
45
icons/ical.xpm
Executable file
45
icons/ical.xpm
Executable file
|
@ -0,0 +1,45 @@
|
|||
/* XPM */
|
||||
static char * ical_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"38 35 4 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"X c #ffffe3",
|
||||
"o c #f81440",
|
||||
/* pixels */
|
||||
" ... ",
|
||||
" . . . ..X.. . . . ",
|
||||
" . . . . . . .XXX. . . . . . . ",
|
||||
"................XXX................. ",
|
||||
".X.XXX.XXX.XX.XXXXXXX.X.XXX.XXX.XXX.. ",
|
||||
".X..XX..XX..X.........X..XX..XX..XX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXooooXX....XX....XX...XXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXX..XXXXXoXXXXX.XXX..XXXX.XXXXXX.X.",
|
||||
".XXXX..XXXXoXXXXX..XXXX.XXXXX.XXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXX..XXXXoXXXXXXXXXXXXXXXX..XXXXX.X.",
|
||||
".XXXX..XXXXooXXXX..XXX...XXXX.XXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXX..XXXXooXXXX.XXXXXXXXXX.XXXXXX.X.",
|
||||
".XXXX..XXXXoXXXXX..XXX..XXXX.XXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXX..XXXXoXXXXX..XXXX.XXXX..XXXXX.X.",
|
||||
".XXXX..XXXXXoXXXXX.XXX.XXXXXX.XXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXX..XXXXoXXXXX..XXX..XXXX.XXXXXX.X.",
|
||||
".XXXX..XXXXoXXXXX.XXXXX.XXXX..XXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.",
|
||||
"....................................X.",
|
||||
" .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.",
|
||||
" ...................................."};
|
26
icons/iconic.xpm
Executable file
26
icons/iconic.xpm
Executable file
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static char * iconic_xpm[] = {
|
||||
/*4o+@4o+@rkcrim/TKGsrc/icons/iconic.xpm*/
|
||||
"16 16 3 1",
|
||||
/*4¸ ¬
|
||||
*/
|
||||
" s None c None",
|
||||
". c #843c24",
|
||||
"X c #87ceff",
|
||||
/*¼n+@¼n+@*/
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .... ",
|
||||
" .XX. ",
|
||||
" .XX. ",
|
||||
" .... ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
39
icons/jots-sm.xpm
Executable file
39
icons/jots-sm.xpm
Executable file
|
@ -0,0 +1,39 @@
|
|||
/* XPM */
|
||||
static char * jots_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 24 9 1",
|
||||
/* colors */
|
||||
" c #808080",
|
||||
". c #3c3c3c",
|
||||
"X c #ffffe3",
|
||||
"o c #c0c0c0",
|
||||
"O c #f81440",
|
||||
"+ c #00aa00",
|
||||
"@ c #ffcf30",
|
||||
"# c #cf9a30",
|
||||
"$ s None c None",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ..................... ",
|
||||
" ..................... ",
|
||||
" ",
|
||||
" XXXXXXXXXXXXXXXXXXXXX ",
|
||||
" XXXXXXXXXXXXXoOoXXXXX ",
|
||||
" XXXXXXXXXXXXX OOOXXXX ",
|
||||
" XXXXXXXXXXXXo OOoXXX ",
|
||||
" XXXXXXXXXXXo++ OOXXX ",
|
||||
" XXXXXXXXXXo@@++ oXXXX ",
|
||||
" XXXXXXXXo@@@@#ooXXXXX ",
|
||||
" XXXXXXXX@@@@@ooXXXXXX ",
|
||||
" XXXXXXXo@@@@#oXXXXXXX ",
|
||||
" XXXXXXo@@@@#oXXXXXXXX ",
|
||||
" XXXXXo@@@@#ooXXXXXXXX ",
|
||||
" XXXo@@@@@#XXXXXXXXXXX ",
|
||||
" XXX@@@@@#oXXXXXXXXXXX ",
|
||||
" XXX #@@#ooooXXXXXXXXX ",
|
||||
" XXX. ##ooooooXXXXXXXX ",
|
||||
" XXX.. oooooooooXX ",
|
||||
" XXXXXXXXXXXXXXXXX ... ",
|
||||
" XXXXXXXXXXXXXXXXX .. $",
|
||||
" XXXXXXXXXXXXXXXXX . $$",
|
||||
" $$$"};
|
44
icons/jots.xpm
Executable file
44
icons/jots.xpm
Executable file
|
@ -0,0 +1,44 @@
|
|||
/* XPM */
|
||||
static char * jots_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"29 29 9 1",
|
||||
/* colors */
|
||||
" c #808080",
|
||||
". c #3c3c3c",
|
||||
"X c #ffffe3",
|
||||
"o c #c0c0c0",
|
||||
"O c #f81440",
|
||||
"+ c #00aa00",
|
||||
"@ c #cf9a30",
|
||||
"# c #ffcf30",
|
||||
"$ s None c None",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ......................... ",
|
||||
" ......................... ",
|
||||
" ",
|
||||
" XXXXXXXXXXXXXXXXXXXXXXXXX ",
|
||||
" XXXXXXXXXXXXXXXXXXXXXXXXX ",
|
||||
" XXXXXXXXXXXXXXXXoOoXXXXXX ",
|
||||
" XXXXXXXXXXXXXXXo OOOXXXXX ",
|
||||
" XXXXXXXXXXXXXXo+ OOoXXXX ",
|
||||
" XXXXXXXXXXXXXo ++ OOXXXX ",
|
||||
" XXXXXXXXXXXXo@@+++ oXXXXX ",
|
||||
" XXXXXXXXXXXo@@##+++XXXXXX ",
|
||||
" XXXXXXXXXXo@@@##@ooXXXXXX ",
|
||||
" XXXXXXXXXo@@###@ooXXXXXXX ",
|
||||
" XXXXXXXXo@@@##@ooXXXXXXXX ",
|
||||
" XXXXXXXo@@###@ooXXXXXXXXX ",
|
||||
" XXXXXXo@@@##@ooXXXXXXXXXX ",
|
||||
" XXXXXo@@###@ooXXXXXXXXXXX ",
|
||||
" XXXXo@@@##@oXXXXXXXXXXXXX ",
|
||||
" XXXo@@###@ooXXXXXXXXXXXXX ",
|
||||
" XXX @#@@oooooXXXXXXXXXXX ",
|
||||
" XXX . @@@oooooooXXXXXXXXX ",
|
||||
" XXX .. @ooooooooooXX ",
|
||||
" XXX ooooooooooooX .. ",
|
||||
" XXXXXXXXXXXXXXXXXXXX ... $",
|
||||
" XXXXXXXXXXXXXXXXXXXX ... $$",
|
||||
" XXXXXXXXXXXXXXXXXXXX .. $$$",
|
||||
" $$$$",
|
||||
" $$$$$"};
|
17
icons/labelbox.xpm
Executable file
17
icons/labelbox.xpm
Executable file
|
@ -0,0 +1,17 @@
|
|||
/* XPM */
|
||||
static char * labelbox_xpm[] = {
|
||||
"11 11 3 1",
|
||||
" s None c None",
|
||||
". c white",
|
||||
"X c black",
|
||||
" ",
|
||||
"...... ",
|
||||
".X.........",
|
||||
".X....XXX..",
|
||||
".X....X.X..",
|
||||
".X....XX...",
|
||||
".XXX..X.X..",
|
||||
"......XXX..",
|
||||
" ......",
|
||||
" ",
|
||||
" "};
|
27
icons/letters
Executable file
27
icons/letters
Executable file
|
@ -0,0 +1,27 @@
|
|||
#define letters_width 48
|
||||
#define letters_height 48
|
||||
static char letters_bits[] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0xfa, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2a,
|
||||
0x00, 0x3a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2e,
|
||||
0xe0, 0xff, 0xff, 0xff, 0xff, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x21,
|
||||
0xa0, 0x03, 0x00, 0x00, 0x70, 0x21, 0x20, 0x00, 0x00, 0x00, 0x50, 0x21,
|
||||
0xa0, 0x1f, 0x00, 0x00, 0x50, 0x21, 0x20, 0x00, 0x00, 0x00, 0x70, 0x21,
|
||||
0xfe, 0xff, 0xff, 0xff, 0x0f, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21,
|
||||
0xfa, 0x01, 0x00, 0x80, 0x0b, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0a, 0x21,
|
||||
0xba, 0x01, 0x00, 0x80, 0x0a, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0b, 0x21,
|
||||
0x3a, 0x00, 0x00, 0x00, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21,
|
||||
0x02, 0xc0, 0xfb, 0x03, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x3f,
|
||||
0x02, 0xc0, 0xbd, 0x0f, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
|
||||
0x02, 0xc0, 0x7f, 0x7b, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01,
|
||||
0x02, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00,
|
||||
0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00,
|
||||
0xfe, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
|
389
icons/lightblue_marble.xpm
Executable file
389
icons/lightblue_marble.xpm
Executable file
File diff suppressed because one or more lines are too long
25
icons/mailer.xpm
Executable file
25
icons/mailer.xpm
Executable file
|
@ -0,0 +1,25 @@
|
|||
/* XPM */
|
||||
static char * mailer_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"16 16 3 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #c0c0c0",
|
||||
"X c #ffffe3",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .XXXXXXXXX. ",
|
||||
" X.XXXXXXX.X ",
|
||||
" XX.XXXXX.XX ",
|
||||
" XXX.XXX.XXX ",
|
||||
" XXXX...XXXX ",
|
||||
" XXXXXXXXXXX ",
|
||||
" XXXXXXXXXXX ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
27
icons/manreader.xpm
Executable file
27
icons/manreader.xpm
Executable file
|
@ -0,0 +1,27 @@
|
|||
/* XPM */
|
||||
static char * manreader_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"16 16 5 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c #3c3c3c",
|
||||
"X c white",
|
||||
"o c #cf9a30",
|
||||
"O c #808080",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ... ",
|
||||
" .X . ",
|
||||
" .XX . ",
|
||||
" .XX . ",
|
||||
" .X . ",
|
||||
" . . ",
|
||||
" . .oO ",
|
||||
" ......oO ",
|
||||
" O.oO ",
|
||||
" O.oO ",
|
||||
" O.o ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
17
icons/menu.xpm
Executable file
17
icons/menu.xpm
Executable file
|
@ -0,0 +1,17 @@
|
|||
/* XPM */
|
||||
static char * menu_xpm[] = {
|
||||
"11 11 3 1",
|
||||
" c #cf9a30",
|
||||
". c #843c24",
|
||||
"X s None c None",
|
||||
" .XXX .",
|
||||
". .X ..",
|
||||
"X .X",
|
||||
"X . . .X",
|
||||
"X . . .X",
|
||||
"X . . .X",
|
||||
"X .... .X",
|
||||
"X .XXX .X",
|
||||
"X .XXX .X",
|
||||
" .X .",
|
||||
".....X....."};
|
26
icons/netdn-sm.xpm
Executable file
26
icons/netdn-sm.xpm
Executable file
|
@ -0,0 +1,26 @@
|
|||
/* XPM */
|
||||
static char * netdn_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 2 1",
|
||||
/* colors */
|
||||
" s None c None",
|
||||
". c black",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ....... . . . . ",
|
||||
" . .......... . ",
|
||||
" . . . . ....... ",
|
||||
" ...... . . . . ",
|
||||
" . ............ . ",
|
||||
" . . . . .......",
|
||||
"............ . . . ",
|
||||
" . . . ............",
|
||||
"...... . . . . ",
|
||||
". ........... . .",
|
||||
". . . . ...... ."};
|
44
icons/netdn.xpm
Executable file
44
icons/netdn.xpm
Executable file
|
@ -0,0 +1,44 @@
|
|||
/* XPM */
|
||||
static char * netdn_xpm[] = {
|
||||
"46 38 3 1",
|
||||
" s None c None",
|
||||
". c #000000",
|
||||
"X c #808080",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" . . .",
|
||||
" . X. . X. . .",
|
||||
" X X. . X. . . .",
|
||||
" .X . ...............................",
|
||||
" ............XX.XX . . X. X.",
|
||||
" X. X. X. .X X. . ",
|
||||
" X. X. X. . X. . ",
|
||||
" .. X. X. X. . . X. ",
|
||||
" ....X X. X. X. X. . X. ",
|
||||
" ........X X. . X. . ",
|
||||
" X. X................................ ",
|
||||
" X. . X. . . . ",
|
||||
"..... .X . X. XX.X .X ",
|
||||
" .X. .X X. X. X.. . ",
|
||||
" . X. .X X. X. X. .X ",
|
||||
" . .X. X. . X. X. ",
|
||||
".X ........X .X X. X........X ",
|
||||
". . X.................. . .. ",
|
||||
". . X. . . . ",
|
||||
". . . . . . "};
|
36
icons/netscape-sm.xpm
Executable file
36
icons/netscape-sm.xpm
Executable file
|
@ -0,0 +1,36 @@
|
|||
/* XPM */
|
||||
static char * netscape_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 24 6 1",
|
||||
/* colors */
|
||||
" c black",
|
||||
". c #0000aa",
|
||||
"X c #c0c0c0",
|
||||
"o c white",
|
||||
"O c #808080",
|
||||
"+ c #0000ff",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" .. .. .. .. .. .. .. .",
|
||||
" .... . . .... . . .... ",
|
||||
" . . . . . . .",
|
||||
" .... . . .... . . .... ",
|
||||
" .....Xoo.......oo......",
|
||||
" . ...Ooo.. .. OX... ..",
|
||||
" .... .Xooo .. .OX.. .. ",
|
||||
" ......OXOoo....OX......",
|
||||
" ......XX.XoO...OX......",
|
||||
" ......OX..XoO..OX......",
|
||||
" ......XX...oXX.OX......",
|
||||
" ..+...OX....oX.OX.+....",
|
||||
" .+.+.+OX..+.+XXOX..+.+.",
|
||||
" ....+OXoooooooXXXOOO..+",
|
||||
" +OXoXOXX OXXXXOO",
|
||||
" XX Oo OX",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
45
icons/netscape.xpm
Executable file
45
icons/netscape.xpm
Executable file
|
@ -0,0 +1,45 @@
|
|||
/* XPM */
|
||||
static char *nscape02[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
" 32 32 6 1",
|
||||
/* colors */
|
||||
". c #000000",
|
||||
"# c #0000aa",
|
||||
"a c #c0c0c0",
|
||||
"b c #808080",
|
||||
"c c #0000ff",
|
||||
"d c #ffffff",
|
||||
/* pixels */
|
||||
"................................",
|
||||
"................................",
|
||||
"..#.#.#.#.#.#.#.#.#.#.#.#.#.#.#.",
|
||||
"................................",
|
||||
".##.##.##.##.##.##.##.##.##.##..",
|
||||
"...#..#..#..#..#..#..#..#..#..#.",
|
||||
".##.##.##.##.##.##.##.##.##.##..",
|
||||
".#.#.#.aaaa#.#.#.#.#baaaab.#.#..",
|
||||
".##.###.#ddd###.###.##dd###.###.",
|
||||
"..##.###.bddd###.###.#ab.###.##.",
|
||||
".#####.##bdddd.###.###ab##.###..",
|
||||
".##.#####babddb#######ab#######.",
|
||||
".########ba#bddb######ab#######.",
|
||||
".########ba##addb#####ab#######.",
|
||||
".########ba###addb####ab#######.",
|
||||
".########ba####ddd####ab#######.",
|
||||
".########ba#####ddd###ab#######.",
|
||||
".########ba######ddd##ab#######.",
|
||||
".#c##c##cbac##c##cddd#ab##c##c#.",
|
||||
".c##c##c#ba##c##c#bddaab#c##c##.",
|
||||
".##c##cbbadaddddddddaaaabbbc##c.",
|
||||
".cbbadaabaa...........bbaaaaabb.",
|
||||
".aab.....bd..................ba.",
|
||||
".......bdddda...................",
|
||||
"................................",
|
||||
"................................",
|
||||
"................................",
|
||||
"................................",
|
||||
"................................",
|
||||
"................................",
|
||||
"................................",
|
||||
"................................"
|
||||
};
|
28
icons/netup-sm.xpm
Executable file
28
icons/netup-sm.xpm
Executable file
|
@ -0,0 +1,28 @@
|
|||
/* XPM */
|
||||
static char * netup_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 4 1",
|
||||
/* colors */
|
||||
" s None c none",
|
||||
". c #808080",
|
||||
"X c black",
|
||||
"o c #7fff00",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .X ",
|
||||
" .ooX ",
|
||||
" .ooooX ",
|
||||
" .ooooooX ",
|
||||
" .ooooooooX ",
|
||||
" .oooooooooooX ",
|
||||
" .o..ooooooXooX ",
|
||||
" .. .oooooX X. ",
|
||||
" .oooooX ",
|
||||
" .oooooX ",
|
||||
" XX.XoXoXXXX ",
|
||||
" X .XoXooX X ",
|
||||
" X X XooXXXXX XX ",
|
||||
" X X.ooXooX X XX ",
|
||||
" XX X X XXXXooX XX XXX",
|
||||
"XX X .ooXooXX X X ",
|
||||
" X .ooXooX X "};
|
46
icons/netup.xpm
Executable file
46
icons/netup.xpm
Executable file
|
@ -0,0 +1,46 @@
|
|||
/* XPM */
|
||||
static char * netup_xpm[] = {
|
||||
"46 38 5 1",
|
||||
" s None c None",
|
||||
". c #808080",
|
||||
"X c #000000",
|
||||
"o c #7fff00",
|
||||
"O c #808080",
|
||||
" ",
|
||||
" . ",
|
||||
" ..X ",
|
||||
" ..oXO ",
|
||||
" ..oooXO ",
|
||||
" .oooooXO ",
|
||||
" .oooooooX ",
|
||||
" ..oooooooXO ",
|
||||
" ..oooooooooXO ",
|
||||
" ..oooooooooooXO ",
|
||||
" ...oooooooooooooXXO ",
|
||||
" ...oooooooooooooooooXO ",
|
||||
" ..oooooooooooooooooooooXO ",
|
||||
" .oooooooooooooooooooooooX ",
|
||||
" ..ooo...oooooooooooXXXoooXO ",
|
||||
" ..o... ..oooooooooXX OXXoXO ",
|
||||
" .... ..oooooooooXX OXXO ",
|
||||
" ..oooooooooXX ",
|
||||
" ..oooooooooXX ",
|
||||
" ..oooooooooXX ",
|
||||
" ..oooooooooXX ",
|
||||
" OXXXXXXX..oooooooooXX ",
|
||||
" XXO X ..oooooooooXXXXXXXXXX ",
|
||||
" OX X OX ..oooooooooXX XO OXXO ",
|
||||
" OXXXXXX X ..oooooooooXX XO OX XXO ",
|
||||
" OX OX OX ..oooooooooXXO XOX XXO ",
|
||||
" X OXXO X ..oooooooooXXXO XXX X ",
|
||||
" XO OX XXX ..oooooooooXX XXXO OXX OXO",
|
||||
" XXX X XXXXXXXXXXXXXXXXXXXXXX OXO X X",
|
||||
" O OXXX X ..XooXoooooXX XO XXXX X",
|
||||
" X OX XO .XoooXoooooXX XO OX X",
|
||||
"OX XXO X ..XoooXoooooXX XO OXX X",
|
||||
"X X XO X ..XoooXoooooXX X OXX OX X",
|
||||
"X X XO X ..XXoooXooooooXX OXX OX ",
|
||||
"X OX XXXXX ..XooooXoooooooXXXXXXXX OX",
|
||||
"XOX X XXXXXXXXXXXXXOOooXXX X X",
|
||||
"XX OX ..XoooooXooXXXXXXX X X",
|
||||
"XO X ..oXoooooXooooooooXX X X"};
|
28
icons/netwt-sm.xpm
Executable file
28
icons/netwt-sm.xpm
Executable file
|
@ -0,0 +1,28 @@
|
|||
/* XPM */
|
||||
static char * netwt_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 18 4 1",
|
||||
/* colors */
|
||||
" s None c none",
|
||||
". c #7fff00",
|
||||
"X c #808080",
|
||||
"o c black",
|
||||
/* pixels */
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .. ",
|
||||
" .XX. ",
|
||||
" oooXX..XXooo ",
|
||||
" o ...... ooo ",
|
||||
"ooooo ........ o ooo",
|
||||
"o o ..XXXXXX.. o o",
|
||||
" o o XX......XXo o ",
|
||||
" o oo ......X oo o ",
|
||||
"ooooo ......X oooo"};
|
45
icons/netwt.xpm
Executable file
45
icons/netwt.xpm
Executable file
|
@ -0,0 +1,45 @@
|
|||
/* XPM */
|
||||
static char * netwt_xpm[] = {
|
||||
"46 38 4 1",
|
||||
" s None c None",
|
||||
". c #808080",
|
||||
"X c #000000",
|
||||
"o c #7fff00",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" .XXXXXXXXXXX. ",
|
||||
" .XXXXXXXXXXXXXXX..X... X XXX. ",
|
||||
" .XXX .X X .X X X X. X X. ",
|
||||
" .XX .X .X .X X X X X .XXXXX. ",
|
||||
" .XX .XX .X X X X X. .X X. ",
|
||||
" X X.X .X .X oXXXX X XXX. X ",
|
||||
".X. .XX. XXXX XoooXooX XX. X. .X ",
|
||||
"X X .X .XXXXXXXXXXXXXXXXXXXXX X XX. ",
|
||||
"X.XX.X X .XooooXooX X X.XX X ",
|
||||
"X .X X. XoooooXoooX X. X. X ",
|
||||
"X .X.X X. XoooooXoooX X .X. X.",
|
||||
"X X .XX X. XXoooooXoooX X X X X",
|
||||
" X. .X. XXooooooXoooX. X .X .X X",
|
||||
"X. XXXXXXXXoooooooXooooXoooXXXXXX .X X",
|
||||
"X X oXXXooXXXXXXXXXXXXXX X .XX",
|
||||
"X X ooXXXXXXXooXoooooXooo X. .X",
|
||||
"X X oooXXooooooooXoooooXoooo X .X"};
|
31
icons/news-sm.xpm
Executable file
31
icons/news-sm.xpm
Executable file
|
@ -0,0 +1,31 @@
|
|||
/* XPM */
|
||||
static char * news_sm_xpm[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
"24 21 4 1",
|
||||
/* colors */
|
||||
" s None c none",
|
||||
". c #808080",
|
||||
"X c white",
|
||||
"o c black",
|
||||
/* pixels */
|
||||
" ",
|
||||
" .. ",
|
||||
" ..X. ",
|
||||
" .XoXX... ",
|
||||
" .XoXoXXX.. ",
|
||||
" .XoXoXoXoXX.. ",
|
||||
" .X..XXoXoXoX..... ",
|
||||
" ..XXXoXXoXoXXoXoX.. ",
|
||||
" .X.o.XXo.XXoXoXoXoXX.",
|
||||
" .XoXXXoXXX.X...XooXX.o",
|
||||
" ..XXooXX.o.X.....XXXo..",
|
||||
" .Xo.XX..XX........Xo..o",
|
||||
" ...X.o.XoX.......Xo...o",
|
||||
" ...oXXo.XX......Xo...o ",
|
||||
" .....X.oXX....Xo...o ",
|
||||
" ......X..XXXo...o ",
|
||||
" ...X.X.oXo....o ",
|
||||
" ....XXX....o ",
|
||||
" ........o ",
|
||||
" .....o ",
|
||||
" ..oo "};
|
39
icons/news.xpm
Executable file
39
icons/news.xpm
Executable file
|
@ -0,0 +1,39 @@
|
|||
/* XPM */
|
||||
static char *newspap[] = {
|
||||
/* width height num_colors chars_per_pixel */
|
||||
" 34 28 4 1",
|
||||
/* colors */
|
||||
". c #000000",
|
||||
"# c none",
|
||||
"a c #808080",
|
||||
"b c #ffffff",
|
||||
/* pixels */
|
||||
"##################################",
|
||||
"#############...##################",
|
||||
"############.bbb..################",
|
||||
"###########.bb.bbb..##############",
|
||||
"##########.bb..b.bbb..############",
|
||||
"#########.bb.b..bb.abb..##########",
|
||||
"########.bb.bb.bb.ba.bbb..########",
|
||||
"#######.b#bbb.bb.#.bb.bbbb..######",
|
||||
"######.bba.abbb.abbb.bababbb..####",
|
||||
"#####.b#bbba.#bb#.b.baab.b.abb..##",
|
||||
"####.bba.abbb#.abbb...b.b.ba.bbb.#",
|
||||
"###.b#bbba.#bbba.abbb..bbb.bbbb.##",
|
||||
"##.bba.abbb#.abbb#b.bbb.ab.bbb.#.#",
|
||||
"#.a#bbba.#bbba.abb.b..bba.bbb.#.##",
|
||||
"#.ba.abbb#.abbb#b.#bbb..bbbb.#.#.#",
|
||||
"#.bbba.#bbba.abb.####bbb.bb.#.#.##",
|
||||
"#.#.abb#.abbb#b.aaa####.bb.#.#.#.#",
|
||||
"#.a##.abba.abbb..aaaa#.bb.#.#.#.##",
|
||||
"##..a###abba##bbb..aa.bb.#.#.#.###",
|
||||
"####..a##.abb#.abbb..bb.#.#.#.####",
|
||||
"######..a##.abba.abbbb.#.#.#.#####",
|
||||
"########..a#b#abba.bb.#.#.#.######",
|
||||
"##########..a#a.abbb.#.#.#.#######",
|
||||
"############..a##.b.#.#.#.########",
|
||||
"##############..a##.#..#.#########",
|
||||
"################..a.a##.##########",
|
||||
"##################.....###########",
|
||||
"##################################"
|
||||
};
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user