1 Introduction
2 ------------
3
4 The desktop module provides desktop environment detection and resource opening
5 support for a selection of common and standardised desktop environments. See
6 the module docstring for a more extensive introduction. See also the following
7 patch registered in the Python SourceForge project:
8
9 http://www.python.org/sf?id=1301512
10
11 Some ideas for desktop detection (XFCE) and URL opening (XFCE, X11) were
12 obtained from the xdg-utils project which seeks to implement programs
13 performing similar functions to those found in the desktop module. The
14 xdg-utils project can be found here:
15
16 http://portland.freedesktop.org/
17
18 Other information regarding desktop icons and menus, screensavers and MIME
19 configuration can also be found in xdg-utils.
20
21 Contact, Copyright and Licence Information
22 ------------------------------------------
23
24 No Web page has yet been made available for this work, but the author can be
25 contacted at the following e-mail address:
26
27 paul@boddie.org.uk
28
29 Copyright and licence information can be found in the docs directory - see
30 docs/COPYING.txt and docs/LICENCE.txt for more information. Whilst I would
31 prefer to release my software under the LGPL or GPL, the Python Software
32 Foundation insists on other licences, and I have chosen one of those in the
33 hope that this module becomes a part of the Python standard library.
34
35 Notes
36 -----
37
38 Notes on desktop application/environment support:
39
40 KDE Supports file and URL opening using kfmclient, where the openURL
41 command opens the resource and the exec command runs the
42 resource.
43
44 GNOME Supports file and URL opening using gnome-open.
45
46 XFCE Supports file and URL opening using exo-open.
47
48 ROX-Filer Supports file opening using "rox <filename>" but not URL
49 opening.
50
51 New in desktop 0.3 (Changes since desktop 0.2.4)
52 ------------------------------------------------
53
54 * Made desktop a package.
55 * Added support for graphical dialogue boxes through programs such as
56 kdialog, zenity and Xdialog.
57 * Added support for inspecting desktop windows (currently only for X11).
58
59 New in desktop 0.2.4 (Changes since desktop 0.2.3)
60 --------------------------------------------------
61
62 * Added XFCE support (with advice from Miki Tebeka).
63 * Added Ubuntu Feisty (7.04) package support.
64
65 New in desktop 0.2.3 (Changes since desktop 0.2.2)
66 --------------------------------------------------
67
68 * Added Python 2.3 support (using popen2 instead of subprocess).
69
70 New in desktop 0.2.2 (Changes since desktop 0.2.1)
71 --------------------------------------------------
72
73 * Changed the licence to LGPL.
74
75 New in desktop 0.2.1 (Changes since desktop 0.2)
76 ------------------------------------------------
77
78 * Added Debian/Ubuntu package support.
79
80 New in desktop 0.2 (Changes since desktop 0.1)
81 ----------------------------------------------
82
83 * Added support for waiting for launcher processes.
84 * Added a tests directory.
85
86 Release Procedures
87 ------------------
88
89 Update the desktop __version__ attribute.
90 Change the version number and package filename/directory in the documentation.
91 Update the release notes (see above).
92 Update the package information.
93 Check the release information in the PKG-INFO file.
94 Check the setup.py file.
95 Tag, export.
96 Archive, upload.
97 Update PyPI, PythonInfo Wiki, Vaults of Parnassus entries.
98
99 Making Packages
100 ---------------
101
102 To make Debian-based packages:
103
104 1. Create new package directories under packages if necessary.
105 2. Make a symbolic link in the distribution's root directory to keep the
106 Debian tools happy:
107
108 ln -s packages/ubuntu-hoary/python2.4-desktop/debian/
109
110 3. Run the package builder:
111
112 dpkg-buildpackage -rfakeroot
113
114 4. Locate and tidy up the packages in the parent directory of the
115 distribution's root directory.