2 Shared code for ROX applications
4 http://rox.sourceforge.net
8 Allow ROXLIB_DISABLE_ZEROINSTALL to override looking for ROX-Lib in Zero
9 Install (useful for ROX-Lib developers). Prefer a locally installed version
10 of ROX-Filer to the Zero Install version; this also allows users to select
11 which Zero Install version they want (eg, stable or developer).
12 Moved MIME handler installation into a separate module (mime_handler) and
13 made a few changes to the XML syntax.
17 Added <menu> OptionMenu widget for Options box (Chris Shaffer).
21 Fixed bug in findrox when not using Zero Install (Lionel Bringuier).
25 Escape and unescape URIs, as required by ROX-Filer 2.1.0 (reported by
27 Note that the xds_load_uris() method is now called with escaped URIs.
28 Try to run the filer through Zero Install, if possible.
32 If we can't get pygtk through Zero Install, try the local copy.
36 Added support in mime.py for an application to set MIME-type run
37 actions and thumbnail programs (Stephen Watson).
41 Simplified implementation of saving.SaveFilter by using the new
42 processes.PipeThroughCommand class. The child_run() method of SaveFilter
43 is no longer supported.
44 In processes.PipeThroughCommand, a None input stream gets /dev/null instead
45 of inheriting its parent's stream. The class has a new run_child_with_streams
46 to make overriding the behaviour easier.
47 findrox.py script now warns if ROX-Lib2 version is too old (unless requesting
48 a version too old to have a version number).
52 Changed 'Dismiss' to 'Close' (Chris Shaffer).
53 Bugfix: Error reporting in mime.py failed to import the _ function (reported
54 by Christopher Haines).
55 New AppInfo.py for parsing AppInfo.xml files (Christopher Arndt), InfoWin
56 converted to use it (Stephen Watson).
58 15-Oct-2003 (Release 1.9.11)
60 Bugfix: Python 2.3's new bool type broke options saving (reported by Lars
65 Added PipeThroughCommand class (copied from Archive, with some minor
70 Allow event to be None for Menu.popup. This allows the menu to be activated
71 from the keyboard, using the 'popup-menu' signal.
75 Added French translation in AppInfo.xml (Vincent Lefèvre).
77 03-Oct-2003 (Release 1.9.10)
79 Added support for icon themes (doesn't do inheritance yet).
83 Added some version information to the dialog you get when you run ROX-Lib
88 New bug() function to quickly bring up a debugging prompt.
92 The glob patterns in mime.py are now sorted longest first. Fix for setting
93 icon in the old way when there was no icon (Stephen Watson).
97 Try to cope better with bad hostname setup (reported by Nathan Howell).
101 Added InfoWin.py to provide standardized information window (Stephen Watson).
105 Fall back to old way of setting default icon for older pygtk's (Stephen
110 Added Italian translation (Yuri Bongiorno).
114 Better way to set the default icon.
116 16-Aug-2003 (Release 1.9.9)
118 Give windows a default icon from .DirIcon (Chris Shaffer).
122 Try to get pygtk through ZeroInstall.
126 Updated findrox to use ZeroInstall, if possible.
130 Work out correct application name even if invoked via a symlink. This stops
131 applications from calling themselves 'text_plain', etc (reported by Joe Hill).
133 19-Jul-2003 (Release 1.9.8)
135 Make default menu positioning function keep the pointer inside the menu.
136 Allow stock icons in menus.
140 Added position_fn argument to rox.Menu.popup.
144 Cope with % escaped URIs.
148 Added italian translation in AppInfo.xml (Yuri Bongiorno)
152 When loading data from another application, pass the suggested leafname to
153 xds_load_from_stream().
157 Code tidying, thanks to pychecker.
161 Added fileutils module, which provides an interactive makedirs() function
163 Changed savebox module to use it.
165 16-May-2003 (Release 1.9.7)
167 New icon (Geoff Youngs).
168 Added 'basedir' module for freedesktop.org Base Directory specification.
172 Added functions to read MIME database (Stephen Watson).
174 27-Jan-2003 (Release 1.9.6)
176 Make the default window class the name of the application directory, not
177 'AppRun' (suggested by Albert Wagner).
178 Bugfix: With pygtk-1.99.14, only the first error message from a process
179 would be detected; this meant that ROX-Lib wouldn't detect when the
180 process quit (reported by joehill).
181 Bugfix: <hbox> and <vbox> layouts didn't work in the options box (Allen
186 If python is too old, raise SystemExit instead of quitting.
187 Ensure that True and False are defined.
191 Work around bug in some versions of pygtk that stopped the options window
194 12-Dec-2002 (Release 1.9.5)
196 Upgrade Options box to new style.
200 Bugfix: If an option had an empty value, an exception was thrown on loading
201 (reported by Stephen Watson).
205 Cope with missing input_add_full.
209 Pygtk 1.99.12 seems to more-or-less work now (according to Alastair Porter), so
210 remove the warning for that so we can support RedHat 8.0.
212 20-Oct-2002 (Release 1.9.4)
214 More warnings about old pygtk versions.
215 Added Dialog class (does ref-counting, like Window).
219 Trying to use ROX-Lib2 with earlier versions of python now gives a sensible
224 Make clicking on ROX-Lib itself work again (Christopher Arndt).
228 Updated findrox.py to use pygtk 1.99.13 -- update your programs!
230 25-Aug-2002 (Release 1.9.3)
232 Switch to use new pygtk versioning system (requires pygtk 1.99.13).
236 Added 'processes' module, based on code in Archive, which makes controlling
241 Bugfix: Changing the keys lost any builtin shortcuts (Gtk behaviour has
246 Trap exceptions when activating menu items and report nicely.
250 Bugfix: Remember to call drop_finish() after a drag-and-drop operation.
252 05-Aug-2002 (Release 1.9.2)
254 Renamed XDSLoader module to 'loading' (like 'saving').
255 Added 'mime' module for installing extra MIME information.
256 Bugfix: XDSLoader didn't handle the drag-drop signal, and so only worked for
257 widgets with their own implementation!
261 Show local variables in report_exception, and allow expressions to be
262 evaluated in the context of any frame.
263 Added StringSaver class.
267 Added applet module for creating ROX panel applets.
271 Bugfix: saving code didn't cope with missing images (reported by Musus Umbra).
275 If 'gtk2' isn't available, see if 'gtk' is actually the 2.0 version.
276 Added save_set_permissions to Saveable interface, allowing the default
277 save_to_file to preserve file permissions.
278 Changes to XDSLoader: xds_load_from_stream(name, type, stream)
279 replaces the old xds_load_data(data).
280 Loading files from remote filers works now.
281 Added much improved exception reporting system.
283 19-Jul-2002 (Release 1.9.1)
285 Added support for translations.
289 License change to the LGPL (allows commercial programs to use this library).
290 Added AbortSave exception.
294 Saveable.save_to_file() should raise an exception when saving fails, rather
295 than returning 0. The return value is now ignored (note that raising an
296 exception will still work with 1.9.0).
297 toplevel_unref() ignores any arguments, so it is easier to use as a signal
300 12-Jul-2002 (Release 1.9.0)
302 First release for Gtk+-2.0.