v1.0 - Josh King <bbrun@darkops.net> - Initial Release v1.1 - Bob Hauck <hauck@codem.com> - Bob Hauck submitted a patch to avoid the problem of the program being busy when waiting for X events and also replaced the gear icon with the one from KDE so that it is smaller and appears nicer when in the slit. v1.2 - Scott <scott@furt.com> - Submitted patch to fix segfaults when the .bbrun_history file is corrupted or contains NULL lines by improving the way the history file is written to. v1.3 - Remi Broemeling <remi@penguinscratch.com> - rewrote command line argument parsing to use getopt_long - updated usage() output to show '-display' and also to show long options that are now available - added -i command line argument - general tightening of source code - rewrote functions dealing with the history file so that the file isn't opened multiple times for an update -- it is updated in memory first and then is written out - MAXCMDLEN and MAXPATHLEN are now used throughout source in place of static numbers to make for easy changing - added __DEBUG__ flag to make it easy to display debug output - simplified 'switch (Event.type)' block in main() so that it is easier to follow - removed exec flag -- if command[0] == '\0', then there is nothing to execute; if it is != '\0', then exec whatever is in it. - strcpys and strcmps have all been replaced with strncpys and strncmps v1.4 - Josh King <bbrun@darkops.net> - History list is now dynamically allocated. Though the size of each history item is fixed, the number of items is not. - Remi Broemeling <remi@penguinscratch.com> - added -a/--advanced command line argument; default is for the command entry window to be in simple/traditional mode. - imported <unistd.h> for chdir() and getcwd() - window size is now controlled by #define's at the beginning of the source, to make it easy to grow/shrink the window. - added 'workingDirectoryEntry' which is a GtkEntry that is the working directory path in advanced dialogs - separated the code used to pull information from the command entry dialog box out from multiple places where it was used in the code into a single function, it is combined with the next point. - pulled code to execute actual system calls out of the two places it was in and put it in one function, and then basically rewrote it ;) Removed command global variable as it was no longer needed - interestingly, it also removed the 'MAXCMDLEN' from the actual process of executing the instruction -- next version, maybe I will try to remove it altogether, so that the history, too, is free of MAXCMDLEN. Just more malloc/frees. The new function is execDialogInformation(), and it is called from the GTK callbacks, then the user hits 'OK' - discovered that you can't set/mess with focus order of widgets until GTK 2.0. D'oh. - <fix> Made it so that bbrun changes to the directory that you give it, executes the command that you give it, and then changes BACK to it's previous directory, so it DOESN'T keep the directory busy in case you need to unmount it (i.e. /floppy, /cdrom). v1.5 - Josh King <bbrun@darkops.net> - Ported from GTK 1.2 to GTK 2.2 v1.6 - Josh King <bbrun@darkops.net> - Fixed a bug that has surfaced due to a change in GTK 2.2 that caused the text entry box to not function properly.