This file documents additions, changes, and fixes made to gentoo version 0.11.x. Entries are grouped by the version of gentoo they apply to. The most recent fixes appear closer to the top of the file. Entries for the 0.9.x series of releases are in the file called ONEWS. 0.11.35 * Brought the copyright in About into 2003. :) * Copying now also copies owner and group information, except for symbolic links. If you really need it for links, let me know. Also note that copying owner info requires root access, and that group copying is very limited for non-root users. See chgrp(2). * Hopefully made Copy signal failure when target file doesn't have full size, which in turn should help Move behave better. * Added an option to always save configuration on exit, which does away with the dialog. Kind of silly, but easy to implement. * Changed logic in internal dir-copy code, so it doesn't fool itself into thinking it fails quite as easily. Note: when copying a dir, gentoo will first *delete* the destination, to ensure that the copy is indeed 1:1 and not a merge. BEWARE! * The internal routine that rescans a pane no longer activates it, which means less flickering focus indication when the other pane rescans due to FAM detecting a modification in its contents. * FAM rescans are now rate-limited, and will not occur more often than once every 300 milliseconds. This limit is not settable at runtime, you need to edit source (gfam.c:96) to change it. * Added call to gtk_set_locale() during startup, suggested by tarot. * Silently assume compiler is GCC, and disregard CFLAGS set by autoconf. In return, --enable-debug now disables optimizing. 0.11.34 * Added used bytes display to status line. Overdue, I guess. * Reintroduced the [root] indicator in the main window title bar, for when you're running as root. Thanks, Roger Sondermann. * Fixed horrible bug that seemed to be happy to just break the history saving when running as root, but should have done a lot more if there had been any justice in the universe. Thanks again, Roger. * Incorporated an updated Polish translation. Thanks Slawomir. * Made built-in pane menu translatable. This is temporary. * Tweaked the man page (docs/gentoo.1x) a bit. 0.11.33 * Fixed stupid bug which made some dialogs not respond to being closed. * Reimplemented the SelectToggle command, making it work in linear time as opposed to quadratic as previously. Paid in memory, as usual, but one bit per dir row isn't too much, in my opinion. * Removed a forgotten trace 'echo' from configure.in. :) * Tweaked the Information window slightly, since the two columns had somehow clung too close together. Reported by Felix Rabe. * Added (partial) French translation, thanks to Philippe Rossi. * Removed version number from window title. * Did some minor tweaks for IRIX portability. Thanks Nik Vukovljak. 0.11.32 * Upgraded to newer versions of GNU gettext, Automake, and Auto- conf, for no apparent reason. * Redid directory history slightly; it used to identify dirs pri- marily by their inode numbers, which failed if the filesystem reused them after a delete. Reported first by Olle Viksten. * Made ClearSize respect GetSize's selection-preservation flag. * Made the command line help texts (shown by --help) translatable. * Fixed a problem with window name setting that occured when gentoo was running in internationalized mode. * Reworked all code setting window titles; they were affected by similar locale-dependent problems. This feels like a GTK+ problem, but I think GTK+ 1.2.x isn't being developed any longer, so a work- around is probably all we get. * Added a few missing command window titles to gentoo.pot. * Improved layout in ChOwn's window, more label alignment. * Default config will no longer recognize Perl source code if it's not in a file with a ".pl" suffix. This removes use of 'file' in the type checking, which is desirable for performance. * Removed all uses of assert(), especially since all (!) of them depended on side-effects. Did anyone ever build gentoo with de- bugging disabled? That ought to have broken, horribly. Oops. * Hacked a bit on the code that restores the vertical position when a directory is re-entered. Reported by "Michael". * Slightly improved large file support. Still untested by me. * Removed a couple of non-ANSI-isms that must've snuck in when I was looking the other way. Thanks, Josip. * Changed test for __linux to __linux__ in mntent_wrap.c, after a tip from Debian maintainer Josip Rodin. Thanks. * Added support for more modifiers to mouse button command bindings. You need to test which "Mod" is which key, though. Thanks, "Mark". * Cleaned up cmd_generic.c, which is used for many of the standard file commands' dialog boxes. Dialog now done through dialog.c, which means button keyboard accelerators are now supported. * Dialog position now configurable: either follow mouse as always, or center on screen. See Windows config page. Lost the source of the suggestion. 0.11.31 * Directory statistics display is now updated by DirRescan. * RenameRE didn't enter the source directory, and thus could easily fail to find its working files. Fixed. * MkDir no longer (internally) generates double-slashed names. Not a big deal, but they were visible in the path entry box. * Added file recognition for socket and FIFO special files. Cute. * gentoo now supports SGI's File Alteration Monitor (FAM) tech- nology, and will update panes if contents are changed by some other program. This is very nice, and recommended. * Ran Julian Seward's masterpiece Valgrind on gentoo, at least a little. Found and fixed a couple of badnesses. Thanks. I'm sure there are more, but finding them takes lots of time. I'm far from claiming gentoo to be "Valgrind clean". * Removed ill-guided use of g_error(); reported by Pehr Johansson. * Improved quoting and fixed plain wrong syntax in SelectRE example input button, in default config. Not a big deal, though. * Improved interaction between CopyAs, MoveAs, Rename, and SymLink's dialogs and the progress reporting window. Less annoying, now. * CopyAs now has full progress reporting. Don't know why it hadn't. * Information now shows item size using ticks every third digits. Adds another place to configure a tick character; not optimal, I will clean this up at a later date. Suggested by "[zorba]". * MenuPopup now understands an "atfocus" bareword argument, which will locate the menu over the currently focused row. If no focus exists, it will center the menu in the active pane. Suggested by "[zorba]". * Fixed silly buglet that had the "Left" configuration page tree item stuck looking selected. * Fixed bug that reported errors twice on double-click. Really annoying if you use error dialogs, which I guess noone does. * gentoo now attempts to enable large file support if the host supports it. This should make large files have correct sizes shown, and also improves GetSize on large (>2GB) directories, but is largely untested by the author. * Accidentally found, and hopefully fixed, a long-standing stealthy bug, that caused gentoo to falsely report failure to read a dir- ectory, with a code 2 (file not found). Caused by dangling links. * Removed premature "Menu" frame from buttons config. Thanks, emj. * Tweaked configure.in so it respects CFLAGS being passed in. Re- ported by Frederick Reeve. 0.11.30 * Fixed yet another incredibly stupid bug that caused Copy to fail when copying nested directories. Introduced in 0.11.28, and re- ported by Matthias Haase. * Window sizes in default config should now be (kind of) clamped to 800x600. Suggested by Roger Sondermann. * Redesigned the configuration interface a bit, replaced the many nested tabbed notebooks with a cleaner and more modern-looking tree for navigation. * Made the MkDir command slightly more robust. * Tweaked the progress window somewhat, to reduce flicker. * Added support for console beep on error. See Errors config page. * Error reporting seemed to fail sometimes, in e.g. Rename. Fixed. * Reimplemented DirRescan, for no particular reason. 0.11.29 * Fixed incredibly stupid bug that caused column header clicking to break (caused by the ghost scroll fix). Thanks, Roger Sondermann. * Added Ctrl+L as shortcut to path entry (along with shift+Return). 0.11.28 * Improved a long-standing very annoying problem, which caused a pane to react by scrolling sideways when a quick vertical drag-select was done. The fix isn't quite 100%, but it's better now at least. * Fixed subtle bug in glob-to-regular expression translation code which would break SelectRE for a pattern like "*.[ch]". Reported by Jean-Yves Lefort. * When copying a directory, if the destination exists, it will now be completely deleted before the copying starts. This takes time, but should ensure a proper result. Reported by Razvan Stranschi. * Input check button field {Ix} now supports being checked by default, and also knows about user-defined result texts. The complete syntax is: {Ix[:LABEL][*][=TRUETEXT,FALSETEXT]}. Clear, huh? OK, here's an example: {Ix:"gzip compress?"*="-czf","-cf"}. This would emit "-czf" into the command when checked, "-cf" when unchecked. The box would default to being checked, that's what the asterisk does. * Modified default config's Module (for tracker music files) RE to also match against files named *.mod, and not only mod.*. Reported by "Mahen". 0.11.27 * MkDir now has an option to focus newly created directory, rather than entering it. If disabled, gentoo will scroll the pane to show the newly created directory. Suggested by Ernest Beinrohr. * If you entered "20 kb", just like that, in the Split size box, you got 20 bytes. Case-sensitivity is like that. It's nicer now. * Fixed bug where SelectRow on an already selected row was stupidly thinking it could select it again. Reported by Kamil Burzynski. * Automounting now tries "/mountpoint/" if "/mountpoint" failed, and vice versa. Should now work for both pane doubleclick and TAB-completed paths, regardless of /etc/fstab format. Yay. * Redid much of the internal logic for entering a new directory, so that it's now possible to enter e.g. "/mountpoint/a/b/c", and actually have gentoo first automount "/mountpoint", then enter the dir. Previously this would fail if the device wasn't mounted. * Investigated, found a reason, and speeded up the SelectNone command by a factor of, oh, I don't know. Some big number, no doubt. * Finally realized how to adjust labels, and cleaned up the layout in the Information window a bit using this new knowledge. 0.11.26 * Fixed a XML parsing weakness which made a button label containing a backslash break config loading. Reported by Roger Sondermann. * Fixed stupid race condition bug in child process handling, which sometimes caused a crash in "kill previous instance". Reported by Joakim Larsson. * Removed almost 300 redundant calls to gtk_widget_show(). This should shave a few bytes off the executable size, and perhaps even save a millisecond or so when building complex GUIs. * Fixed weird bug where buttons got put above the panes when the interface was rebuilt after a config change. * The middle bar in the progress report window used by Copy and other operations was behaving weirdly (always full). Fixed. * Added display of elapsed time (in MM:SS format) as well as the current processing speed and ETA to the progress window. * Progress window's directory size computation was broken. Fixed. * DpFocusPath now understands a boolean "clear" option. 0.11.25 * Added a command, DpReorient, to switch pane split orientation between vertical and horizontal. Suggested by Roger Sondermann. Bound to Ctrl+R by default. See docs/scratch/command_args.txt. * view_video now calls mplayer, not xanim. My choice. :) * Added WMV as a recognized movie format. MPlayer handles it. * You can now chose *not* to override the base background color in the panes (uncheck "Override Parent?" in the Root style). This hopefully allows a theme, or the GTK+ RC file, to control the default base background color. Thanks to Thomas Weberstaedt for making me investigate and improve this. * Applied a couple of tiny patches from Oliver Braun, the FreeBSD maintainer, to help gentoo build cleanly on FreeBSD systems. * Simplified automounting modes; it's now either on or off, the vague "rare" mount mode has been removed. * Removed the specialized Shortcut feature and associated config page, and replaced it with another "sheet" of ordinary buttons. Very very nice, and long overdue. * Removed incorrect assignment of Tab as shortcut for Split in the default config. 0.11.24 * Fixed a missing initialization that caused gentoo to crash on startup, at least on Cygwin. Silly me. * Improved window grouping even more, should now include most commands, and the progress reporting windows, too. * The "Pick Built-In" dialog used in Command configuration was violently yet stealthily broken. Detected by quarto. * Incorporated a fix to BSD mounting code, from Michael Ewe. * SelectAll no longer messes up status numbers. Thanks to Martin Stubenschrott for letting me know it used to. * Rewrote Size content handling. Folded old "IQSize" behaviour into the Size type, added support for "ticks" every 3 digits. Suggested by someone on IRC whose name I've forgotten. 0.11.23 * Added support for laying out the two panes vertically rather than horizontally, as has so far been the only way. Handy when you want to see plenty of columns. Suggested by James Lucha. * The SelectType command now understands a bareword argument, which is a glob for type names to select. You can do "SelectType Arch*" to select all archives in the source pane. Smooth, huh? :) * Fixed bug in DirParent; parent of "/a/b/" is "/a", not "/a/b". * Finally broke down and added tab-completion to the path entry fields. Might require some minor touching up, but works. Nice. * The Copy command now says something when trying to copy a non- enterable directory, rather than just failing silently. Oops. * Rename could falsely report failure under some conditions. 0.11.22 * Rewrote routine that creates the filenames used when interpolating {fup}-codes in commands. Now doesn't emit double slashes, which helps some (confused) apps to work better. * Fixed a bug that made the case-insensitive numerically aware sorting fail to actually be case-insensitive. Reported by Rainer Koschnick. * A subtle bug had crept in that broke automounting. Fixed. * gentoo might now compile in Cygwin (on Win32), thanks to changes sent in by Erik Sittmann. * gentoo now attempts to copy the protection (mode) flags for files, device nodes, and directories. That might have been overdue. * Incorporated patch to widget code from J. Hanson's home page. * Literally hundreds of minor clean-ups (removed needless casts, improved naming consistency, use glib types, and on, and on). * Tweaked the way symlinks are displayed by the Information command. * Fixed bug that made the option parser continue when a required arg was missing. 0.11.21 * 0.11.20 required all users to be named "emil", or they couldn't save their directory histories. This is not me trying to take over the world, I just neglected to change it before the release. Honest! Sorry. Reported by Roger Sondermann. 0.11.20 * The gentoorc sample config file is now built from a slightly better gentoorc.in template. The icon location might not come out correctly if you use the --datadir configure option, though. * Fixed a missing include in the main gentoo.h header, which I believe caused date sorting to break. Thanks for the reports. * Added yet one more compiler flag to gcc, hoping to avoid even getting the program built if an implicit function is used. * Simple patch to help build on Linux/Alpha, handed to me by Josip Rodin, but originally from Christopher C. Chimelis. * Fixed bug which caused failure to execute a (most likely miss- ing) external command to be reported twice. * The directory history can now be saved, and thus made persistent between sessions. Suggested by Roger Sondermann. See option on the Dir Panes config page, sub-page "History". It's lonely. * Added a section to the man page (docs/gentoo.1x--read it!) that talks about how the new persistent-history interacts with a pane's default directory, and stuff. * Wrote a new, vastly more powerful, command argument parser. It gives better control over the initial paths shown. Nice. * Inspired by talks on irc (#c, openprojects.net), I edited most uses of the <ctype.h> isXXX() macros. Cast to guchar is good. * Inspired by a patch from Patricio Moracho, I added support for underlined keyboard accelerators in all (most?) dialog buttons. 0.11.19 * Mouse bindings ignore all modifiers except shift, control and alt at all times. Reported by Martin Uddén. * Fixed sloppy pointer-to-int cast that gave warning on 64-bit systems (Alphas). Reported by Jesse Perry. * The Information command can now optionally display the output of 'file' in its window. Suggested by Christian Richter. Do note that this *requires* your 'file' command to support the "-f - -n" option combo. See configure.in for details. * If executing a child process fails, gentoo now sometimes shows an error rather than just dying. This is an improvement. * Added some more -W options to gcc, that scared out some sloppy code that got fixed (even in widgets/). I like killing warnings. * Updated About's copyright for the new year. Time flies. :) * RenameSeq no longer opens its window if there's no selection. * Should now compile on NetBSD, too. Thanks to Pehr Johansson for the original patch. * String input fields (created with '{Is}') can now be set to use asterisks to hide entered text. To do this, add an asterisk in the definition, after the label part, e.g.: '{Is:"Password"*}'. * gentoo now supplies the window manager with a prettier icon, and now also groups its windows, most of the time at least. 0.11.18 * Fixed internal quoting bug that prevented actions with spaces in their names from executing properly. Thanks Chavdar Botev. * Even more const declarations in stuff dealing with XML. * Fixed spelling error in one of RenameRE's error messages. :) * Fixed spelling error in MoveAs's overwrite warning. :) * Added new command called RenameSeq to rename files into numb- ered sequences. Very handy when working with images from a digital camera, for example. No command args support yet. * Applied patch that hopefully makes gentoo compile on Alpha boxes running Linux. Thanks to C. C. Chimelis, P. Slootman and J. Rodin who all contributed. * Applied a patch from Ryan Weaver that makes gentoo easier to package for people using RPM. Thanks. * If running as root, [root] appears in window title. Suggested by Mads Villadsen. * Poked around a bit in the man page (docs/gentoo.1x). * Fixed my e-mail address in the AUTHORS file. I'm Swedish! 0.11.17 * gentoo now configures using autoconf. Many thanks to Andreas Kloeckner for providing the patch that made this possible. See notes in README.ac for details (i.e. bugs). * Added the "Don't Touch Directories?" option to the ChMod command. Useful when you want to clear the 'executable' bit from all files in nested directories. Removing it on nested directories themselves generates access errors, of course. * Mode bits for directories created with MkDir are now more conservative (specifically, the 'sticky' bit is not set). * Added "unmount" action to directories, handy for mountpoints (since gentoo never unmounts until you quit). * Finally figured out a way to track the position of the split between the left and right panes, and so made it configurable. See the (new) "Pane Split" subpage on the "Dir Panes" config page. New effort triggered after suggestion by Marcin Orlowski. * Added (quaint) hint in the "OK" button of the About window, hopefully indicating the existance of more information. * Minor internal cleanups in mntent-wrapping code. Nothing that is user visible, but it makes me feel better. :) * Added option (on new under-used config page "Errors") to get a dialog window reporting each error. This might be a bit more obvious than the subtle text in the status bar. Suggested by Marcin Orlowski <carlos@amiga.com.pl>. * References to XML nodes are now "const"-declared here and there. Not user-visible, but (again) makes me happier. * There's now a gentoo project registered at SourceForge. Please use <http://www.sourceforge.net/projects/gentoo> to report bugs, if you don't feel like mailing reports straight to me. 0.11.16 * The clean-target now removes the gentoo binary, which might help me make smaller release archives in the future... * Example config now recognizes XBM images, too. :) * Noticed that the SelectAll command reset a pane's vertical position to zero, which annoyed. Redid implementation, less obviously. I suspect a bug in the GtkCList widget. Not filed. * Also noticed that the vertical-position-buffering for the directory history didn't really work at all. Better now? * Fixed probable memory leak in icon handling code. * Added first attempt at detecting, heuristically, when trying to copy (and move) a directory recursively into itself. The offending operation will now give an "Invalid argument" error. Will not work for non-canonical (i.e., linked) paths. :( Reported by Vadim Gagin <gagin@nm.ru>. * Recompiled against glib/GTK+ 1.2.10. * Fixed bug in path-construction for global config file. * Added initial implementations of recursive ChOwn and ChMod commands. Requested by <charlie@arbornet.org>. * Fixed bug that prevented the up/down arrows for Selected Content Types, in the Dir Panes config from working. * Date preservation when copying directories was missing. Also added it for device copying. * Brought About's copyright notice into 2001. 0.11.15 * Definition of demonstration SelectRE-work-a-like button command changed, since it was broken. Also added glob check button. * Lack of internal quoting caused Dir{To,From}Other to fail on paths containing spaces, as did the shortcuts. Fixed. * Changed appearance of check buttons {Ix} input dialog codes. * Having lurked among the giants of comp.lang.c for at least five years, I finally realized that identifiers whose names begin with an underscore immediately followed by an upper case letter are reserved for the implementation. Since I, for some historical reason, tend to use structure tags formed like that, gentoo was very much in violation of the holy scripture of ISO C. This has now been fixed, of course (except in widgets/). Feels good. :) * Being urged on by an enthusiastic Brazilian gentoo user, I caved in and went through the code, marking all strings suitable for translation using gettext. A translation to my own mother tongue, Swedish, is included in the locale/sv/ directory. gentoo's I18N support is very early, and by default it will not build with it included. I need help with autoconfig before doing that. * Capped the percentage number in the textviewer at 100%. :) * Left-adjusted the filename in the progress window. :) * Improved behavior when an operation (such as Copy or Move) is cancelled. Previously, it was not possible to correctly cancel if the files being copied were smaller than the copy buffer size, and the 'keep full-sized copy on error?' flag was on. * A long operation can now be cancelled by simply closing the progress-reporting window. * Made parsing of {Fup} (among other things, hopefully) work better when 'treat focus as selection?' flag is on. Sneaky. * Test-compiled against glib and GTK+ version 1.2.8. Went fine. * Fixed buglet that prevented modes (aka permissions) from being formatted correctly. Reported by Erik Johansson. * Banged a bit on the page up/down response for the focus bar. Way less ugly implementation, and (I think) better behavior now. Still wish GTK+ permitted use of it's built-in focusing bar, though. :( 0.11.14 * Added support for extracting tar.gz, tar.bz2, and zip files to the example config. Select archive, right click, then choose the "extract" item in the "File Action" submenu. * Due to an internal quoting problem, MkDir would fail to enter the created directory if the name contained spaces. Fixed. * The Makefile no longer attempts to create a backup of the config, and only installs the supplied example if no old config exists. * The ChOwn command now uses combo boxes rather than menus to display the system data, and also allows you to type in a user and/or group number or name directly. Way nicer. * Brought back the 'grab' button in the window pos/size config, but only for the main window. Should make a few users happy. :) * Altered the huge parent buttons' relief style; they now look more like wide borders, which JH and I find less distracting. * Added an option (hidden away in the Command Options page, DpFocus tab) that makes gentoo move the focus row to the last row selected using the mouse. Only works if focusing is on. * The MenuPopup command can now be bound to a keyboard key, just like any other command. Previously, it could only be bound to a mouse button. Bound to Ctrl+Space in example config. * Added Ctrl+A and Shift+Ctrl+A as keyboard shortcuts for the [Select] All and None commands, respectively. :) * Improved ANSI compliance by removing use of "str" as a prefix in function names. :) * A pane's contents can now be sorted on any content type, not just those that are displayed. There is currently no way of changing to a non-displayed type without opening the config window, though. * Touched up the sorting code somewhat, and while doing that noted that user and group names could not actually be sorted on as text. They sure can now. * Fixed horrible bug in the {}-code parsing and handling, that made gentoo segfault when certain sequences of commands were run. Reported by T. Tilton. 0.11.13 * Fixed incredibly stupid bug (reported by plenty of people, it's nice to know people care :) which prevented the text viewer window from closing when it should. It's a two-liner. * If you enable the "System Default" Control key mode in the dirpane config, it will now work. * There was some broken logic related to quitting and the dialog that asks about saving changed configs. Fixed that, and also cleaned up the code significantly, removing duplicate stuff. 0.11.12 * I'm reasonably sure I fixed a bug which caused a crash if you hit enter after entering an *empty* directory using the key- board-controlled focusing mechanism. * Added support for tall, thin, parent buttons along the outer edges in the panes. Enable through the "Huge Parent Button?" checkbox in the config. The position and action of these is currently not configurable; it's always outer edge & DirParent. * Incorporated alternative implementation of the GtkLabel widget provided by Johan Hanson. This label implementation is only used for the status line in the top of the window, which reportedly had refresh-problems with some pixmap-based GTK+ themes. * Redid the code for the textviewer, which was very old and some- what confused. This might make it support mouse wheel scrolling better. Since I don't have a wheelie mouse, I can't test it... * Fixed tiny bug which caused GTK+ warnings if you hit TAB in the command selection dialog without having typed anything first. * Implemented a Join command, to counter the (still incomplete) Split command. Pretty neat, with DnD reordering. * gentoo can now optionally ignore the state of the NumLock key when parsing keyboard and mouse input. Enable the check button in the bottom of the Controls config page. Note that only the input event is filtered, not the definition (do not use NumLock in actual mappings with this flag on). * New version of the odscrolledbox widget, provided by Johan Hanson as always. Should fix some smudgy redrawing problems. * Brought the (c) in the About box into the 21th century, added acknowledgement (and mail address) of Johan Hanson's work. * Added recognition and viewing of LHa compressed files to the example config. Requires the 'lha' external command. * gentoo can now remember the position and size of the config and textviewer windows, in addition to the main window. See config page labeled "Windows" (was "Pos & Size" previously). Eh, also see the BUGS file, since this feature has a few problems still. :( * Tweaked code that dealt with 64-bit stuff; gentoo should now compile better on Linux/Alpha platforms. * Selected content in the right-hand list in the Dirpane config page can now be reordered directly, by dragging. You can still use the up/down buttons below the list, like always. * Er, not a fix per se, but this version of gentoo has been compiled and executed using GTK+ 1.2.7. No extensive tests, though. 0.11.11 * Tweaked the FileAction command slightly: now it will stop running the action if the selection is empty. This helps when you run a command containing e.g. a {Fu} code on more than one file, since it will then just run the command once, then stop since the {Fu} "consumed" the entire selection. Hopefully this is not a bad thing. * The GetSize command no longer loses track of the pane's vertical position. * The pane centering on startup was changed back to the pre-0.11.10 behavior, since the "fix" didn't help the user who reported the problem. Weird. * Rewrote core file copying routine, used by Copy, CopyAs, Move, and other commands. It now handles "magic" files whose length looks like zero (like most files in the /proc filesystem). It's also shorter, simpler, and possibly a tiny abit faster. * Fixed semi-obscure bug in the Split command; it wouldn't close output files on failed writes. Oops. * In an attack of POSIX panic, I removed all my symbols whose names ended in _MAX, leaving only standard ones. Touched ~130 places. * The SelectRE command now lets you chose what column content you wish to match against. This is sometimes useful, for example you could use the following command to select all rows whose files have an odd size: 'SelectRE glob=0 full=0 content=size [13579]$'. See "docs/scratch/command_args.txt" for a brief table of content names. * Removed all uses of stdlib's malloc() & free(), replacing them with glib's g_XXX work-alikes, making the code more consistent. * Added tooltips to the pane control widgets (the parent button, the path entry field, and the cryptic 'H' hide button). * RTFM:ed a bit, and fixed example config's "view_man" command to stop emitting control codes for bold and underline. This makes it work better with gentoo's viewer. Unsure about portability. * Added type, style, and view support for AVI and MPEG video clips to the example config. Both use 'xanim' for view. Untested. Also added support for IFF-ILBM bitmap images, through 'xv' as always. * Added a new command, DpFocusPath, which moves GTK+'s input focus to the current pane's path entry box. Bound to shift+Return in the example config. Call with select=1 to select contents, too. * Fixed buglet which made it annoying to bind commands to Return, since the config window's default button ("OK") would trigger. 0.11.10 * Got mail from Jesse Perry <jap@unx.dec.com>, reporting problems building gentoo on an Alpha, running Tru64. Luckily, the report (and followups) included lots of detail and helpful hints, so I went over the offending code. Hopefully it works now. * I still got the expand/collapse tracking in the Styles config page wrong. <HOMER>Duh!</HOMER> Fixed again. This time, for sure! * Wrote a new command, RenameRE. It provides two ways of doing search and replace over selected file names, and then renaming the files. Learn about in "docs/scratch/renamere.txt". Recommended reading! * Fixed bug which prevented an error from the Rename command (and others, no doubt) from showing up. * Did a long-overdue, minimal, change in the way the active pane gets hilighted, now uses Johan Hanson's code in "colorutil.c". Should work better if you're running a themed GTK+. * Pressing return after entering a path name now causes that path to be entered, instead of (uselessly) popping up the combo menu showing directory history. Oops. * When running a command bound to a key, the key press signal is no longer propagated to GTK+; gentoo consumes it. This makes things work better when you bind stuff to e.g. cursor keys, which are used by GTK+ to control focus. A neat one-line fix. * The 'view_tar_bzip2' command in the example config has been made more portable (uses --use-compress-prog=bzip2 rather than -y). * If you attempt to DirRescan a directory which no longer exists, you will get an informative message. Better than silence. * Included a new icons package from Johan Hanson (<johan@tiq.com>). There are around 20 new icons, including a very cute Commodore logo for SID music files! Check them out in the icons/ subdir! * Fixed a portability problem in dirpane.c; a reference to strncmp(). * Upgraded my home development machine to GTK+/glib 1.2.6, which went fairly smooth. It exposed a bug in the config GUI, though. * The centering of the panes is now done later during startup, since one user reported problems with it. This is too bad, since it now looks kind of worse during startup. :( 0.11.9 * Increased XML compliance in config format somewhat, by adding support for the " and ' special sequences (for example, the text <'"'> would now be saved as "<'"&apos>"). * Fixed a bug which caused absolute environment variables embedded in paths to resolve incorrectly. Reported by J. Hanson. * Possibly improved handling of symbolic links with DirParent. There is currently no way to go to the physical parent directory, but that will come. * Includes new versions of the custom widgets by J. Hanson, which seem to fix a minor problem with "sticky prelight". * Improved behaviour when entering directories whose names begin with tilde. To use tilde-notation for home dir lookup, the tilde should be the first character of the path. * Discovered the G_GNUC_EXTENSION glib macro, and added it where I have explicit 64-bit stuff going on. gentoo now compiles without warnings again, at least on my system (using GCC 2.8.1). * Rewrote the guts of the DirParent command. Should now correctly cope with a path of e.g. "/home/user/./././.". * Fixed a errno-busting bug in fileutil module, which caused the Move command to report an incorrect error on failure (and, I'm sure, lots of other weird things as well). * Moving an empty file to a directory where you can't write no longer removes the (empty) source file. * Fixed silly buglet in the Information command that caused a separator line to overdraw the "Contents" directory info line. * The Move command now refreshes both panes if it succeeded in moving at least one file, regardless of error status (before, it only refreshed panes if no error occured while moving). * Fixed an internal command invocation argument passing bug (buzz) which prevented DirParent from working on paths containing spaces. Reported by Mike Tsai <akirarat@tokyo-3.anime.ca>. * Added the DpGotoRow command, after a suggestion by Jarle Thorsen <jthorsen@iname.com>. It allows you to scroll a pane so that a row whose name matches a specified regular expression is made visible. This command uses command arguments, so for the full story read "docs/scratch/command_args.txt" as usual. If you are patient, you can bind this command to the A-Z keys on the keyboard, and use those to quickly jump around in panes. It's fun! * The Run dialog now shows how many built-in and user-defined commands there are in each of the subtrees it displays. :) Also, it retains the command line you enter between invocations. * Filesystem FIFOs (named pipes) now have a 'p' rather than an 'f' in the first column of their "Mode, string" column. More ls-ish. * Fixed a bug with "sticky tooltips" in the buttons config. Reported by Hannes Allmaier <allmaier@caramail.com>. * Dialogs might possibly attempt to open a little bit closer to the mouse cursor now. I'm really not sure about that, though. :( * If you start gentoo and it doesn't find its configuration file, the whining dialog will now tell you where it looked. This might make fixing the problem simpler, and feels nice in any case. * The dirpane right-click menu is now context sensitive. Sort of. :) The "File Action" submenu will contain only those actions that are defined in _all_ currently selected rows, i.e. the intersection of those rows' styles' actions. Simple, huh? Try it, and you'll get the hang of it. Note: if you right-click without having a selection, the entire menu will be hidden (since it would be empty anyway). * Added a SelectRow command, which either selects a row given its index, or selects the row last clicked. The latter is useful when run right before the "MenuPopup" command, and bound to the right mouse button. This combo sort of emulates Windows right-clicking, since the File Action menu will be updated depending on what was clicked. As always, read more about command arguments in "docs/scratch/command_args.txt". The supplied examplem config contains the mentioned combo in a command called "mouse_right", bound to shift+right mouse button. * Slightly improved the internal icon creation code. * Date comparisons for sorting are now done Right, using difftime(3). * Added support for check buttons to user-defined command input dialogs. To generate a checkbox labeled LABEL, enter {Ix:"LABEL"} in the command definition. A checked box will emit "TRUE" (sans quotes) to the command, an unchecked box "FALSE". Useful for boolean command keywords. * Implemented a new dirpane sort flag: "Numerical Mode", which, when enabled, will cause sorting on names to deal with embedded numbers better. Will grok that "gentoo-0.9.11" sorts before "gentoo-0.11.9". * Fixed a non-initialized variable which would sometimes conspire to cause great weirdness in affected pane and status bar on startup. * Added a pretty neat option flag, which makes gentoo treat the focused row as a selection, if there is no other selection. You can find it on the "DpFocus" page in the "Command Options" config. It makes key- board-surfing around your filesystem a little bit smoother at times. Sort of suggested by Andrew Korn <korn@eik.bme.hu>. He wants more, though. :) * Entering a directory with broken symbolic links should no longer result in a "file not found (2)" error being reported. * Scrapped the browser-like history system introduced in 0.11.8, since it wasn't complete, and I didn't like it much. This version has the old simple combo history again. If you feel this really sucks, write me a mail (at <emil@obsession.se>, as always), and we can discuss how a better history system should work. As a consequence of this rewrite, the commands DirForward and DirBackward are no longer supported. * Installed GTK+ 1.2.4 on my home machine. Went pretty smoothly with gentoo, I didn't have to change anything. * Now compiles with optimization (level -O2) by default. When stripped, the executable is a reasonable 319 KB on x86 systems (gcc 2.8.1). * The File Style tree now tracks expanded/collapsed status of the styles better. 0.11.8 * Improved how RE matching of file types is done against links. * Fixed a little problem that (I think) made "DirEnter ~" fail. * Execution of a file should not require read rights. Duh. * Style actions can now be empty. Very silly, but intuitive. :) * I had accidentally forgotten to reimplement the style sorting (used when you sort on the Icon column) since redesigning the style system. J. Hanson noticed. * Executing files not in the path (i.e. by double-clicking them in a pane) was broken in 0.11.7. J.H. kind of noticed. * Added a "Skip All" button to the overwrite confirmation dialog. When clicked, it will automatically skip any further confirm- ation dialogs in the current action. Suggested by J.H. * Added a new column content type: "block size", which shows the size in bytes of each item, but computes that byte count as (# of blocks in file) * (filesystem block size). This is some- times handy. Suggested by J.H... * The SelectExt command had not been reimplemented for the new style system. Oops again. * Got a patch from J. Rodin (<jrodin@jagor.srce.hr>) that should hopefylly make gentoo compile cleanly on Linux/Alpha again. * Thanks to a bug report by G. O'Keefe <gok@netspace.net.au>, changing the style for a file type should now actually work. Eh. * Rewrote the dialog subsystem again, totally changing both its interface and its semantics. This is the third incarnation of this piece of code. It keeps shrinking, which is good. * Changed the semantics of the SelectType command: it is now designed to be bound to a mouse button (see below). The behaviour it now has was previously not available in the form of a command. * It is now possible to bind commands to clicks of mouse buttons in panes. This means that you no longer need to have DirParent on the middle button! Note that the mouse bindings take priority over normal (GTK+ standard) pane clicking, so mapping something to an unmodified left mouse button is typically not a good idea. * Added a command called MenuPopup, which currently always causes the dirpane menu to pop up. This command is meant for use with the new mouse command mapping, and will not operate if bound to e.g. a key or regular command button. * Redid dirpane directory history handling completely. The new code is better, but lags a little in the interface department. :( There is now a pair of back- and forward buttons (that look like left and right arrows, respectively) to the left of the path entry field. These buttons move through the history. When you see a tiny downward pointing black arrow in these buttons, try clicking on them with the right mouse button. :) There is no longer a general "old directories combo", sorry about that. If you really miss it, please let me know (just mail <emil@obsession.se>) and I will get around to implementing something similar sooner... * Fixed a buglet which caused clicks on the "Clear" button on the Button config page to be effectively ignored. Fix is 26 bytes. * Added support for "pageprev" and "pagenext" movement arguments to the DpFocus built-in command. If you can't guess what those do, please read "docs/scratch/command_args.txt" for a free clue. :) 0.11.7 * Fixed bug in style handling for active pane indication. Reported by widget and icon author, J. Hanson (<johan@tiq.com>). * Fixed a bug in dialog for selecting built-in command (seen in the Commands config), also reported by Johan. * Fixed an infinite recursion bug in the sizeutil module. * Fixed handling of directory sizes in Information command. Should now happily handle directories with more than 2 GB of contents. * Totally rewrote the styles and cfg_styles modules, that deal with the file styles; roughly 2,000 lines of new code. The new style system is a *lot* more flexible than the old was, but pays with a bit of speed. Info in "docs/scratch/filestyles.txt". * Fixed a bug which had the GetSize command accumulating sizes on each call, if its unselection flag was off. * Improved handling of double click on already selected row. * The Rename command no longer rescans the *destination* pane when it's finished. That's good, since it was a waste of time. :) * Removed the ViewTextHex and ViewTextOrHex commands; you now get the same functionality by using "ViewText mode=hex" and "ViewText mode=auto", respectively. You can force text viewing by using "ViewText mode=text", but that is the default. * Trying to execute a non-existant external command should now be much less prone to crash gentoo. * Fixed a weakness in the mount support which made it fail on root mountpoints. Weird. * Implemented (more or less) transparent support for symbolic links. The support is complemented by four new builtin commands: SymLink, SymLinkAs, SymLinkClone and SymLinkEdit. Read all (or at least some) about it in "docs/scratch/symlinks.txt". * Resorting no longer messes up the selection. Oops. 0.11.6 * Fixed a long-standing bug in the icon selection dialog, which prevented it from displaying any icons. This bug never bit me, but always J. Minnberg, and he kept bugging me about it, so to speak. It had been there since 0.9.19. Fascinating. * The GetSize command now has a flag (configurable through the Command Options page) that controls whether or not it deselects the directories after traversing. * Rewrote some of the dirpane internals, especielly stuff having to do with sorting, and redisplaying a pane's contents. It's now a bit better structured, and I think a tad faster, too! * Did some minor user interface improvements in the configuration window. All suggested by J. Hanson <johan@tiq.com>. * The ChMod command now rescans the source pane, thus making any changes visible in gentoo, as well. Oops. * The Delete command now shows progress, thus giving you at least a chance to cancel it. It also now knows how to get rid of FIFOs, sockets, and special device nodes in general. * Implemented support for J. Hanson's *glorious* new button widget, which allows the use of two commands: depending on which mouse button you click (first or second (=middle)), the button will activate either the primary or secondary command. The widget also supports custom coloring on both back- and foreground on each of the two "faces". All in all, it's great! Thanks, Johan. * Added a primitive XML node type for RGB colors, making their loading and saving in the config file both leaner and simpler. * Built-in commands can now take arguments to modify their behaviour. Flexibility++! Read about it in "docs/scratch/command_args.txt". * The SelectRE command now makes full use of command arguments, so you can have commands such as "SelectRE glob=true re=*.jpg". Also added two new options in the process. * Removed the QuitNow command, since the very same effect can now be achieved by using "Quit dialog=false". Command args rule. * DirEnter now takes an argument specifying the wanted path. This makes it possible to create normal buttons acting as shortcuts... * Wrote a simple general color editing dialog, for buttons & styles. * Fixed a little bug that would execute a command twice if it was both set to repeat and then invoked through a pane double-click. * Added a couple of missing {}-codes to the pick dialog in the Commands config page ({fu}, {Fu}, {fd} and {Fd}). Please note that you can include any of "udp" with either of {f} and {F}. The total number of valid f-codes is therefore 2*8 = 16. Not all are included in the dialog. :) * gentoo now computes a pane's total available & selected byte counts using explicit 64-bit arithmetic. Since this is not available in ANSI C, the code is slightly less ANSI-pure because of this. The upside is that having an 8-GB partition with 5.5 GB free now should show the correct numbers. Note that individual file sizes are still typically handled as 32-bit integers (unless you're on an Alpha, I think). Only *total* sizes are affected by this change. Also note that the change does not affect the GetSize command. The Information command might do a better job (but it is untested). Later... * The command dialog window (shown by the Run command, and whenever you need to specify a command name in config) now does true Tab- activated command name completion. * Fixed a weird buglet in the shortcuts config, having to do with changing the order of the shortcuts. * Fixed a couple of confused memory allocation calls in buttons code. It hit when you tried to resize a row. Oops. :( * Thanks to input provided by Alexander Moss Tahk (<tahk@mit.edu>), gentoo should now compile and run on OpenBSD. Extending this to other BSD's should be trivial (I hope). * gentoo now supports a rudimentary form of keyboard navigation, thus hopefully forcing most people who mail me about gentoo to wish for something else. :) For more information about it, check out "docs/scratch/focusing.txt". The supplied example config is set up to use it (try up/down cursor keys, shifted up/down cursor keys, space, home, end, insert, and ctrl-L). Note that the sample config hence no longer has ActivateOther on space (but try Tab!). * In a fit of extreme ambition, I rewrote almost all of the code for configuring dirpane contents. It's a *lot* cleaner now. * While I was at it, I made the colors used in dirpanes in general (active pane and focusing) configurable, as well. * You can now configure on what side of the pane the scrollbar should go. * Fixed a little problem that caused a GTK+ warning when reentering the config if you exit it on the "Commands Options" page visible. * Changing the width of a pane column by dragging it directly in the pane now counts as a config change (=> dialog on quit). 0.11.5 * Dialogs should now open closer to the mouse cursor (if supported by your window manager). Suggested by "Peter" <zed@linuxpower.org>. * Command input dialogs ({I...}) were broken, and probably have been since 0.11.1. Reported by J. Minnberg <jonas@obsession.se>. Does nobody else *use* gentoo? :( Ah well. * Any processes spawned by gentoo would be killed twice on quit; I really think once should be enough. * When you re-run a asynchronous, kill-previous command, gentoo is now more patient with waiting for the previous instance to die. * Did loads of code-cleaning (glib-ification, const-ifying, etc). * Removed the (very obsolete) "docs/porting/" directory. * The size shown by GetSize is now actually considered and added into the sum shown in the status bar when GetSize:d dirs are selected. * GetSize now also computes the number of _blocks_ in the directory. * Added a ClearSize command that makes gentoo forget a directory's "recursive" size and reset it to the actual filesystem size. * Resorting a pane no longer confuses the selection information. * Removed an annoying GTK+ warning from the progress reporting code. * Added support for TARGA & TIFF images to the example config. :) * If you change the "enter dir" flag in the MkDir window, this will be registered as a config change (=> confirm/save dialog on quit). * Removed the pointless "OK" message which use to indicate success- ful command execution. Now the status text appears instead, thus giving useful information faster. No news is good news. * The text viewing window can now be made smaller. :) * If, when you click "Add" in the styles config page, the currently selected style is collapsed (its children are hidden), it is now expanded for you. * The DirToOther and DirFromOther commands now clear the selection from the pane before replacing the pane's contents. This prevents a rather interesting selection-merging phenomenon from occuring. * The DirEnter command now makes sure the row being entered is unselected first. Not all directories are double-clicked into... * Fixed a buglet (fix is 12 bytes) that prevented the "..." button in the command config from showing available builtin commands. * Added a short paragraph about sorting to the man page, taking extra care to plug Style (icon) sorting, since it's so cool. :) * Discovered a weird lock-up with the command output grabbing (which I'll blame on GDK for now), added a quick-n-dirty work-around which seemed to fix it. The problem occured when e.g. listing long tar archives (read: Linux kernel), it deadlocked at EOF. Real odd. 0.11.4 * Statusbar now shows the amount of free space for the filesystem the current pane's directory is in. Note that the call that makes this possible (statfs(2) on Linux, statvfs(2) on e.g. Solaris and Irix) seems to be somewhat unstandardized. There might be trouble. * Fixed a problem with nesting modal dialogs. Noticable when e.g. Rename caused an overwrite confirmation to occur. * Fixed a related dialog problem; now, if you close the Rename dialog with the Overwrite confirm window still open, nothing evil will happen. * Did numerous clean-ups in the main "gentoo.h" header file, moving many type definitions into separate C files, thus reducing coupling. * Removed a useless dialog (the "child_dialog" module). * Discovered what I suppose is a compiler bug in gcc 2.8.1; when compiling gentoo with optimization level 2 (-O2), a supposedly harmless statement in the dialog module will cause a segfault... * When you write a path, the keyboard events no longer trigger commands. This is better. Reported by J. Hanson <johan@tiq.com>. * Added a freeze/thaw pair to the textviewer used for command output capturing, resulting in way better performance and no flickering. * Removed the (nonfunctional) "Print" button from the text viewer, slightly changing the button layout in the process. * Slowed down the animation of the busy indicator (used by the Information and GetSize commands) a bit. It made me nervous. :) * The hex text viewing (used by ViewHex & ViewTextOrHex) code was *very* memory-inefficient (it always loaded the entire file, but only looked at 16 bytes at a time). Now it reads 16 bytes at a time, thus using constant buffer space (and running slower). * ViewTextOrHex now correctly reports the error if it fails to open a file for reading. Er, ViewText & ViewHex don't (yet). * Designed and implemented a system for keeping track of each command's individual configuration options. The options them- selves have been around for quite a while, but they haven't been configurable (without editing source, that is). Now they appear on the "Command Options" page in the configuration window, and are loaded and saved along with the rest of the config. Neat. Please read "docs/scratch/command_options.txt" to learn what the different options do. 0.11.3 * Damn! That command sequence selection dialog just didn't work. Typical, since I spent about 3 hrs banging on it before releasing 0.11.2. Perhaps I should have tested it. Reported by J. Minnberg. * Eh, seems I broke the main "gentoo.h" include file, too. Fixed. * Fixed a minor error (typo) in the cmdgrab module. 0.11.2 * Upgraded my system to GTK+ 1.2.1. I don't think there are any changes in compatibility, so using 1.2.0 should still be fine. * Removed a silly debugging printf() from dirpane config. Oops. * New icon (suitable for docks et cetera) for gentoo included. Check out "icons/gentoo.png". It's in PNG to preserve the cool alpha. * gentoo now displays pretty icon graphics when iconified. * Fixed buglet in Makefile's 'clean' target. :) * The example config now calls on the GIMP to edit images. I also added types for Debian & Red Hat packages (should list on view) and data compressed with gzip & bzip2 (decompress & cat on view). Suggested by J. Rodin <jrodin@jagor.srce.h>. Note that I run neither Debian nor Red Hat, so those commands are completely untested. They might work. :) * The "Show Dir's File System Size?" flag (for pane Size columns) now works again. Reported by A. Melchiorsen <and@kampsax.dtu.dk>. * The Pick Icon dialog (used in File Style config) was messed up: it had no "OK" button, only "Cancel", which didn't work. Fixed. * The dialog activated by the "..." button when configuring an external command row was also broken ("Cancel"-only). Fixed. * Fixed small widget update bug when changing a Style's Action. * Updated the man page (docs/gentoo.1x) somewhat. * The Information and GetSize commands now show a busy-dialog when they are working, thus allowing you to cancel them (just click the button, or simply hit Escape). 0.11.1 * Ported gentoo over to GTK+ 1.2.0. Note that this GTK+ version now is *required*, and that gentoo 0.11.x will NOT compile with older (1.0.x) versions of the GTK+ toolkit. * Renamed some types used in cmd_generic.c (GFreeFunc collides with glib 1.2.0). * Added inclusion of <stdlib.h> here and there, seems it's no longer being done automatically by GTK+. Great. * Wrapped all scrollable widgets in GtkScrolledWindows, since they no longer do the scrolling on their own. Note that GtkCLists, for example, don't need gtk_scrolled_window_add_with_viewport(), since they actually do have their own viewport. Had to add GTK_POLICY_NEVER to suppress many unwanted (and seemingly unnecessary) horizontal scrollbars. Weird. * I think the 'scrollbar_always' thing was broken; it might have been accidentally controlling the horizontal rather than the vertical bar... Oops, and fixed. * Removed some unused variable definitions from all over the place. * Totally redid handling of selections in panes. It is now completely handled by the GtkCList itself; there is no longer any state kept in gentoo. This meant that I had to rewrite all code that cared about selected rows. Pfew. From a usability point of view, the new way of handling selections is slightly less responsive than the old hack, but that's the price I guess. * Noticed that if compiled with optimization (-O2), the stripped x86 executable isn't larger than ~230 KB. Not too bad. * Fixed huge bug in type loading; don't know if it was "active" in previous versions, but it sure was now. * Redesigned the Style config page rather extensively... Not sure I like it though. We'll see what happens. * Command sequences can now repeat until there is no selection in the source pane. This is sometimes useful, e.g. if you want to define a command to untar all selected tar archives. Since 'tar' won't accept a list of archives, you must run it multiple times. Note that if you don't include a {Fu} or {fu} somewhere in the command sequence, you'll shoot yourself in the foot. Recursively. * Fixed a bug in the loading of command sequence flags. Didn't hurt anyone in previous versions, since there were actually no flags to load... :) * Touched up the command output capturing code, since some of the semantics seem to have changed. Or perhaps I never had it right... * The GUI for configuring before/after flags for external command rows has been simplified, removing some useless options. This also made it less vertically tall, which is a good thing. * It is now possible to bind a keyboard shortcut key to each button! Real neat, and can really speed up the use of gentoo. * The window size is now less rigid; even if you let gentoo set its main window size on startup, you can still make the window smaller later. * Scratched the old dialog module, and rewrote it. The new code is far better, and about half the size of the old one. The original was written during my first week of GTK+ programming. It showed. The only visible differnce is perhaps more dialog window titles. * Changed quite a few GTK+ calls to use the latest function names, since many functions have been renamed in GTK+ 1.2.0. This change means that gentoo does not need GTK+'s compatibility header, since all functions are referred to by their current names. * The symbolic link handling has been "cleaned up", i.e. more or less removed. I'm considering how to better implement it. Please be patient... * Added a SelectType command, which will select all files having the same type as any of the currently selected ones. A bit like SelExt, but easier to understand, describe and use. :) * Added the DpRecenter command, which recenters the two panes. Very useful if you've screwed things up so you can't see the handle. * Added generic, global keyboard command shortcuts, fully config- urable of course (on the new "Controls" config page). Real neat. * Removed the declaration, definition, and all uses of my home-grown snprintf() function; glib has it, and it is faster than mine. :) * The About window now recognizes that it's 1999, and includes more information about how to reach me/get gentoo (hint: wait 10 secs). * Removed some annoying glib-warnings that occurred if gentoo was run without any user-defined commands. * Fixed a bug in the GetSize command which prevented it from com- puting the correct size for more than one directory at a time. (Changes in older versions of gentoo are in the ONEWS file)