tkgoodstuff/CHANGES

470 lines
20 KiB
Plaintext
Executable File

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