This is a python 3 port of desktop package.
The desktop package provides desktop environment detection and resource opening support for a selection of common and standardised desktop environments.
pip install desktop3
Launch folders, files, ... etc:
import desktop
desktop.open("what/you/want/to/open")
The desktop package provides desktop environment detection and resource opening support for a selection of common and standardised desktop environments.
Currently, in Python's standard library, there is apparently no coherent, cross-platform way of getting the user's environment to "open" files or resources (showing such files in browsers or editors, for example) when requested by a Python program. There is an os.startfile function which works for Windows, but no equivalent function for other desktop environments - the webbrowser module seems to employ alternative mechanisms in choosing and running external programs and presumably does not seek to provide general support for non-URL resources anyway.
Since desktop environments like KDE and GNOME provide mechanisms for running browsers and editors according to the identified type of a file or resource, just as Windows "runs" files or resources, it is appropriate to have a module which accesses these mechanisms. It is this kind of functionality that the desktop package aims to support. Note that this approach is arguably better than that employed by the webbrowser module since most desktop environments already provide mechanisms for configuring and choosing the user's preferred programs for various activities, whereas the webbrowser module makes relatively uninformed guesses (for example, opening Firefox on a KDE desktop configured to use Konqueror as the default browser).
Some ideas for desktop detection (XFCE) and URL opening (XFCE, X11) were obtained from the xdg-utils project which seeks to implement programs performing similar functions to those found in the desktop module. The xdg-utils project can be found here:
http://portland.freedesktop.org/
Other information regarding desktop icons and menus, screensavers and MIME configuration can also be found in xdg-utils.
No Web page has yet been made available for this work, but the author can be contacted at the following e-mail address:
Copyright and licence information can be found in the docs directory - see docs/COPYING.txt, docs/lgpl-3.0.txt and docs/gpl-3.0.txt for more information.
Notes on desktop application/environment support:
KDE | Supports file and URL opening using kfmclient, where the openURL command opens the resource and the exec command runs the resource. |
KDE 4 | Similar to KDE but uses kioclient instead of kfmclient. |
GNOME | Supports file and URL opening using gnome-open. |
XFCE | Supports file and URL opening using exo-open. |
ROX-Filer | Supports file opening using "rox <filename>" but not URL opening. |
- 0.5.3 (Aug 19, 2019)
- Fix: unable to detect XFCE.
- 0.5.2 (Oct 26, 2016)
- Add docs folder into dist file.
- 0.5.1 (Oct 25, 2016)
- Fix letter case issue in
setup.py
.
- Fix letter case issue in
- 0.5.0 (Jul 2, 2016)
- First release.
- Added missing KDE 4 support to the desktop.dialog module.
- Added XFCE 4.10 "mailto:" fix contributed by Jérôme Laheurte.
- Added KDE 4 and Lubuntu support contributed by Jérôme Laheurte.
- Improved docstrings.
- Fixed support for examining the root window.
- Changed the licence to the LGPL version 3 (or later).
- Made desktop a package.
- Added support for graphical dialogue boxes through programs such as kdialog, zenity and Xdialog.
- Added support for inspecting desktop windows (currently only for X11).
- Added XFCE support (with advice from Miki Tebeka).
- Added Ubuntu Feisty (7.04) package support.
- Added Python 2.3 support (using popen2 instead of subprocess).
- Changed the licence to LGPL.
- Added Debian/Ubuntu package support.
- Added support for waiting for launcher processes.
- Added a tests directory.