v5.1 Improvements merged from and/or inspired by LucidLife: - Added radio buttons for drawing and selecting to the edit menu, with corresponding toolbar buttons - Separate cursors for drawing and selecting - The coordinates display is now always active. If the mouse pointer is outside of the box, it shows the coordinates of the upper-left corner. Tracking the mouse while the pattern is running causes no appreciable slowdown on my system; let me know if it does on yours. - Rudimentary autoconf support. The regular Makefile is still there and works pretty much the same as before. That's what I'll be using, because I hate autotools :-P - Help browser selection has been made more intelligent, with preset command lines for mozilla and firefox. When the user first attempts to access a help file, he is asked to configure a help browser. - Made the various scrolling actions visible in the menu (View->Scroll), so that their keybindings will work under Gtk2 - Fixed speed slider jitter under Gtk2 - Pared down the toolbar (it was getting too wide for the excessively-spaced default gtk2 toolbar) - Now using transient dialogs - Fixed dialog centering under Gtk2 - Fixed custom keybindings under Gtk2 - "last_version" setting added to preferences file, so gtklife knows what version the user last ran. - Replaced the += syntax in the Makefile with "VAR:=$(VAR) [new stuff]", since apparently += isn't universally supported. v5.0 - Gtk2 is now supported (Gtk1 is still the default, edit Makefile to change). gtklife+gtk2 should be considered beta quality at this time. Bug reports welcome. - Fixed undefined behavior in alpha_blend() - No longer hide menubar in fullscreen mode (potentially confusing, and besides, gtk2 doesn't seem to like it) - The mouse wheel now scrolls left and right when holding shift, and zooms in and out when holding control (idea thanks to John Spray). - Default speed-slider maximum increased to 1000 ticks/sec - Added INSTALL (symlink to README) and AUTHORS files. v4.2 - Fixed a potential crash after saving patterns (thanks Ian Bloom). - Removed -mpentiumpro from the Makefile. - Zoom 1:1 and 16:1 buttons are now grayed out when appropriate. - Rearranged zoom buttons to be more logical. v4.1 COSMETIC/USABILITY IMPROVEMENTS - The File->Description dialog now updates automatically if you leave it open while loading a new pattern file. Also, any previous description dialog is closed when you open a new one. - GtkLife now issues a warning dialog if it appears the application was not propery installed (i.e., "make" without "make install"). - GtkLife now issues a warning dialog if the configured pattern collection is not found. BUG FIXES - Fixed a bug that prevents the start/stop button from changing color when Gtk+ has debugging enabled (thanks to James Gregory for reporting). - Fixed stair-stepping effect when drawing diagonal lines. MISCELLANEOUS - Better ChangeLog :-) v4.0 NEW FUNCTIONALITY - The world size has been bumped up to 1 million x 1 million. - Added View->Find Active Cells, to locate a live (and preferably active) region and center on it. - gtklife has a new default file format, GLF, which is similar to RLE. - gtklife can now handle multiple file formats: Life 1.05 (the original format), Life 1.06, RLE, XLife, and GLF. File type is auto-detected when loading. Information on file formats was added to the "File Handling" section of the documentation, and a page was added giving detailed information on the GLF format. - You can now set a per-session pattern directory (File->Change Pattern Collection) as well as a default pattern directory (Preferences/File/Default Pattern Collection). - Sidebar patterns can now be bundled into sub-directories. Directories will be displayed with trailing slashes. Click on a directory name to display its contents in a clickable list beneath the sidebar. - You can now specify a pattern collection directory on the command line (previously only individual patterns could be loaded via command line). - The pattern description has been made unbounded in length and width. An error will occur if you attempt to save a pattern with a too-large description to a LIF or RLE pattern file. COSMETIC/USABILITY IMPROVEMENTS - Mouse wheel over the description text box now scrolls the description (previously you had to hover the mouse over the scrollbar). - The color picker in Preferences now uses the contents (if any) of the corresponding text entry as its starting color. - Recent files in the File menu now display full path as a tooltip. - Sidebar scrollbar is now only displayed when needed. PATTERN COLLECTION CHANGES - A new pattern collection, JSLife by Jason Summers, is now available as an option. The sidebar can be set to display the original LifeP, JSLife, or a custom collection of your own. - Patterns were reorganized into a hierarchical format. - Patterns were renamed to be more human-readable. - Patterns were converted to GLF for speed of loading. - Pattern descriptions were reformatted. - Paul Rendell's Turing Machine pattern was added to the LifeP collection. - Added a longer description to the Unit Cell pattern. - Now that we have a command to locate active cells, re-centered the Jaws pattern. - Note: Due to a minor change in the config file, any custom pattern directory that you have chosen previously will be reset. DOCUMENTATION IMPROVEMENTS - Fixed broken link to the Scientific American article in help. MISCELLANEOUS - The install process now deletes any existing patterns bundle before copying over the new patterns. - Added new nifty program icons based on the "pulsar". v3.0 NEW FUNCTIONALITY - Added Run->Jump, which allows the user to quickly jump ahead to a particular tick without updating the display. - Added View->Goto to directly set the viewport coordinates. - Optional statusbar added to the bottom of the window: shows current tick, population count, status messages, and the coordinates of the point over which the mouse is hovering. COSMETIC/USABILITY IMPROVEMENTS - Menu items and toolbar buttons are now grayed out when appropriate. - Toolbar buttons added for reopen, cut, copy, and paste. - The items in the View->Zoom submenu are now radio buttons. - Dialogs are now centered relative to the main window. - In fullscreen mode, there's now a message reminding the user how to get back to windowed mode (if the statusbar is enabled). - You can now cancel out of a paste/move operation by hitting Ctrl-G. - Streamlined the Run->Speed dialog: the text box is selected by default, and you can complete the dialog by just hitting "enter" after typing a new speed. - The display no longer scrolls while pasting (it still scrolls while selecting or drawing). - The display scrolls faster when selecting. - Changed the Edit->Move keybinding from Alt-M to M. - Better user-error handling in Preferences. PATTERN COLLECTION CHANGES - Shifted jaws.lif around a little more. DOCUMENTATION IMPROVEMENTS - The help has been greatly improved. BUG FIXES - The fullscreen checkbox in the menu became incorrect if GtkLife started up in fullscreen mode then exited it. Fixed. v2.2 PATTERN COLLECTION CHANGES - Changed the offsets for jaws.lif, so that at least some of the pattern will appear onscreen after loading. DOCUMENTATION IMPROVEMENTS - Alan Hensel's notes on the Life Pattern Archive have been added to the help system. - Added a link to the Scientific American article on Conway's Life in the instructions. BUG FIXES - Fixed a logic error in the handling of oscillators, which could cause incorrect pattern evolution. v2.1 OPTIMIZATION - The Life algorithm now has oscillator detection: speed is significantly improved for patterns with large numbers of period-2 oscillators. COSMETIC/USABILITY IMPROVEMENTS - The Life display scrolls if you go off the edge while selecting, drawing, or pasting - Spinbutton sizes set more intelligently in various dialogs - No more pointless "help" button in color selection dialogs BUG FIXES - Major cut/paste bugfix: if you ran the pattern awhile then copied a block of cells, stable (still-life) cells would not be copied - Cutting and pasting now works properly even if you don't select from top-left to bottom-right - If you go off the edge while dragging the mouse, then release the mouse button, gtklife no longer gets confused. - Smoother drawing: no more dotted-line effect when dragging the mouse quickly - Spinning the mouse wheel no longer cause problems while pasting - No more mysterious disappearing selection - Population is now updated properly after cutting and pasting v2.0 NEW FUNCTIONALITY - Block cut and paste implemented (see help for details) - Fullscreen mode added (your window manager must support EWMH) COSMETIC/USABILITY IMPROVEMENTS - Mouse wheel scrolls the display vertically - Window size for View Description is chosen more intelligently - Keybindings added for Set Speed (Alt-S) and Preferences (P) - Help keybinding changed to F1 - "Recenter" added to the "View" menu BUG FIXES - Fixed a corruption bug that could arise when drawing cells after running the pattern for awhile - The pattern no longer locks up when you try to set speed lower than the slider minimum DOCUMENTATION IMPROVEMENTS - Help file restructured MISCELLANEOUS - Better 48x48 icon - Massive code cleanup v1.0 COSMETIC/USABILITY IMPROVEMENTS - Colors for start and stop buttons have been switched - Most dialogs are no longer modal - The "save as" dialog now asks for confirmation before saving over an existing file - "Save as" and "open" dialogs no longer close after failed operations - The preferences, speed, and description dialogs now all have "Apply" buttons, to apply changes without exiting the dialog. - Several complex preferences can now be reset to their shipped defaults: patterns directory, colors, and help browser BUG FIXES - The default zoom level is now correctly displayed in preferences MISCELLANEOUS - Better code documentation v0.04 - Window title no longer shows the old filename after File->New v0.03 - The toolbar icons are now properly alpha-blended - Fixed a bug which caused graphic artifacts to appear after a speed change - The speed label is no longer truncated under certain GTK+ themes - Slightly friendlier Makefile - Added a version history in CHANGES v0.02 - The patterns collection is now included v0.01 - First release