rox | index

`To use ROX-Lib2 you need to copy the findrox.py script into your application
directory and import that before anything else. This module will locate
ROX-Lib2 and add ROX-Lib2/python to sys.path. If ROX-Lib2 is not found, it
will display a suitable error and quit.
Since the name of the gtk2 module can vary, it is best to import it from rox,
where it is named 'g'.
The AppRun script of a simple application might look like this:
#!/usr/bin/env python
import findrox; findrox.version(1, 9, 12)
import rox
window = rox.Window()
window.set_title('My window')
window.show()
rox.mainloop()
This program creates and displays a window. The rox.Window widget keeps
track of how many toplevel windows are open. rox.mainloop() will return
when the last one is closed.
'rox.app_dir' is set to the absolute pathname of your application (extracted
from sys.argv).
The builtin names True and False are defined to 1 and 0, if your version of
python is old enough not to include them already.`

Package Contents
`` |  |
AppInfo InfoWin Menu OptionsBox applet basedir choices debug | filer fileutils i18n icon_theme launch loading master_proxy mime | mime_handler options processes proxy saving session settings singleton | su suchild tasks templates thumbnail uri_handler xattr xxmlrpc

Classes
`` |  | exceptions.Exception(exceptions.BaseException) UserAbort gtk.Button(gtk.Bin, gtk.gtk.Activatable) ButtonMixed gtk.Dialog(gtk.Window) Dialog gtk.StatusIcon(gobject._gobject.GObject) StatusIcon gtk.Window(gtk.Bin) Window
class ButtonMixed(gtk.Button)
`` | `A button with a standard stock icon, but any label. This is useful when you want to express a concept similar to one of the stock ones.`
| Methods defined here: __init__(self, stock, message) `Specify the icon and text for the new button. The text may specify the mnemonic for the widget by putting a _ before the letter, eg: button = ButtonMixed(g.STOCK_DELETE, '_Delete message').`
class Dialog(gtk.Dialog)
`` | `This works in exactly the same way as a GtkDialog, except that it calls the toplevel_(un)ref functions for you automatically.`
| Methods defined here: __init__(*args, **kwargs)
class StatusIcon(gtk.StatusIcon)
`` | `Wrap GtkStatusIcon to call toplevel_(un)ref functions for you. Calling toplevel_unref isn't automatic, because a GtkStatusIcon is not a GtkWidget. GtkStatusIcon was added in GTK+ 2.10, so you will need pygtk 2.10 or later to use this class. Check by using import rox if hasattr(rox, 'StatusIcon'): ....`
| Methods defined here: __init__(self, add_ref=True, menu=None, show=True, icon_pixbuf=None, icon_name=None, icon_stock=None, icon_file=None) `Initialise the StatusIcon. add_ref - if True (the default) call toplevel_ref() for this icon and toplevel_unref() when removed. Set to False if you want the main loop to finish if only the icon is present and no other windows menu - if not None then this is the menu to show when the popup-menu signal is received. Alternatively add a handler for then popup-menu signal yourself for more sophisticated menus show - True to show them icon initially, False to start with the icon hidden. icon_pixbuf - image (a gdk.pixbuf) to use as an icon icon_name - name of the icon from the current icon theme to use as an icon icon_stock - name of stock icon to use as an icon icon_file - file name of the image to use as an icon The icon used is selected is the first of (icon_pixbuf, icon_name, icon_stock, icon_file) not to be None. If no icon is given, it is taken from $APP_DIR/.DirIcon, scaled to 22 pixels. NOTE: even if show is set to True, the icon may not be visible if no system tray application is running.` popup_menu(self, icon, button, act_time) `Show the default menu, if one was specified in the constructor.` remove_icon(self) `Hides the icon and drops the top level reference, if it was holding one. This may cause the main loop to exit.`
class UserAbort(exceptions.Exception)
`` | `Raised when the user aborts an operation, eg by clicking on Cancel or pressing Escape.`
| Methods defined here: __init__(self, message=None)
class Window(gtk.Window)
`` | `This works in exactly the same way as a GtkWindow, except that it calls the toplevel_(un)ref functions for you automatically, and sets the window icon to <app_dir>/.DirIcon if it exists.`
| Methods defined here: __init__(*args, **kwargs)

Functions
`` |  | alert(message) `Display message in an error box. Return when the user closes the box.` bug(message='A bug has been detected in this program. Please report the problem to the authors.') `Display an error message and offer a debugging prompt.` confirm(message, stock_icon, action=None) `Display a <Cancel>/<Action> dialog. Result is true if the user chooses the action, false otherwise. If action is given then that is used as the text instead of the default for the stock item. Eg: if rox.confirm('Really delete everything?', g.STOCK_DELETE): delete()` croak(message) `Display message in an error box, then quit the program, returning with a non-zero exit status.` edit_options(options_file=None) `Edit the app_options (set using setup_app_options()) using the GUI specified in 'options_file' (default <app_dir>/Options.xml). If this function is called again while the box is still open, the old box will be redisplayed to the user.` escape(uri) `Convert each space to %20, etc` get_icon(path) `Looks up an icon for the file named by path, in the order below, using the first found: 1. The Filer's globicons file (not implemented) 2. A directory's .DirIcon file 3. A file in ~/.thumbnails whose name is the md5 hash of os.path.abspath(path), suffixed with '.png' 4. A file in $XDG_CONFIG_HOME/rox.sourceforge.net/MIME-Icons for the full type of the file. 5. An icon of the form 'gnome-mime-media-subtype' in the current GTK icon theme. 6. A file in $XDG_CONFIG_HOME/rox.sourceforge.net/MIME-Icons for the 'media' part of the file's type (eg, 'text') 7. An icon of the form 'gnome-mime-media' in the current icon theme. Returns a gtk.gdk.Pixbuf instance for the chosen icon.` get_local_path(uri) `Convert 'uri' to a local path and return, if possible. If 'uri' is a resource on a remote machine, return None. URI is in the escaped form (%20 for space).` info(message) `Display informational message. Returns when the user closes the box.` isappdir(path) `Return True if the path refers to a valid ROX AppDir. The tests are: - path is a directory - path is not world writable - path contains an executable AppRun - path/AppRun is not world writable - path and path/AppRun are owned by the same user.` mainloop() `This is a wrapper around the gtk2.mainloop function. It only runs the loop if there are top level references, and exits when rox.toplevel_unref() reduces the count to zero.` our_host_name() `Try to return the canonical name for this computer. This is used in the drag-and-drop protocol to work out whether a drop is coming from a remote machine (and therefore has to be fetched differently).` report_exception() `Display the current python exception in an error box, returning when the user closes the box. This is useful in the 'except' clause of a 'try' block. Uses rox.debug.show_exception().` setup_app_options(program, leaf='Options.xml', site=None) `Most applications only have one set of options. This function can be used to set up the default group. 'program' is the name of the directory to use and 'leaf' is the name of the file used to store the group. You can refer to the group using rox.app_options. If site is given, the basedir module is used for saving options (the new system). Otherwise, the deprecated choices module is used. See rox.options.OptionGroup.` toplevel_ref() `Increment the toplevel ref count. rox.mainloop() won't exit until toplevel_unref() is called the same number of times.` toplevel_unref(*unused) `Decrement the toplevel ref count. If this is called while in rox.mainloop() and the count has reached zero, then rox.mainloop() will exit. Ignores any arguments passed in, so you can use it easily as a callback function.` unescape(uri) `Convert each %20 to a space, etc`