Gambas Documentation
Application Repository
Code Snippets
Compilation & Installation
Components
gb
gb.args
gb.cairo
gb.chart
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.data
gb.db
gb.db.form
gb.db.mysql
gb.db.odbc
gb.db.postgresql
gb.db.sqlite2
gb.db.sqlite3
gb.dbus
gb.dbus.trayicon
gb.debug
gb.desktop
_Desktop_Passwords
_Desktop_ScreenSaver
_desktop_windows
_desktopvirtual
Desktop
DesktopFile
_get
_new
Actions
AlternativeActions
Categories
Comment
Exec
FindMime
FromMime
GenericName
Hidden
Icon
MimeTypes
Name
Path
Save
Terminal
DesktopMime
desktopwatcher
desktopwindow
gb.desktop.gnome.keyring
gb.desktop.x11
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.htmlview
gb.form.mdi
gb.form.print
gb.form.stock
gb.form.terminal
gb.gmp
gb.gsl
gb.gtk
gb.gtk.opengl
gb.gtk3
gb.gtk3.opengl
gb.gtk3.webview
gb.gui
gb.gui.opengl
gb.gui.qt
gb.gui.qt.ext
gb.gui.qt.opengl
gb.gui.qt.webkit
gb.gui.trayicon
gb.gui.webview
gb.hash
gb.highlight
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.jit
gb.libxml
gb.logging
gb.map
gb.markdown
gb.media
gb.media.form
gb.memcached
gb.mime
gb.mysql
gb.ncurses
gb.net
gb.net.curl
gb.net.pop3
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
gb.opengl.glu
gb.opengl.sge
gb.openssl
gb.option
gb.pcre
gb.pdf
gb.poppler
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt4.webview
gb.qt5
gb.qt5.ext
gb.qt5.opengl
gb.qt5.webkit
gb.qt5.webview
gb.qt6
gb.qt6.ext
gb.qt6.opengl
gb.qt6.webview
gb.report
gb.report2
gb.scanner
gb.sdl
gb.sdl.sound
gb.sdl2
gb.sdl2.audio
gb.settings
gb.signal
gb.term
gb.test
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.web.form
gb.web.gui
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Deprecated components
Developer Documentation
Development Environment Documentation
Documents
Error Messages
Gambas Playground
How To's
Language Index
Language Overviews
Last Changes
Lexicon
README
Search the wiki
To Do
Topics
Tutorials
Wiki License
Wiki Manual

DesktopFile (gb.desktop)

This class handles KDE/gnome "application launch files" or configuration files describing how a particular program is to be launched, how it appears in menus, desktop panels, etc. These are the ".desktop" files as defined by the freedesktop standard.

See the desktop entry specifications for more information.

This class is creatable.

This class acts like a read-only static array.

Static methods
FindExecutable  
FindMime   Returns an array of desktop entry files that are registered as handling the provided MimeType.
FromMime   Returns an array of desktop entry files that are registered as handling the provided MimeType.
RunExec  

Properties
Actions   Get or set a string array of the Actions field for a .desktop file.
AlternativeActions   Returns a collection of the [Desktop Action] entries.
Categories   Sets or returns the Categories (menu groups) in which the entry should be shown in a menu (for possible values see the Desktop Menu Specification).
Comment   Sets or returns the "comment=" entry for the desktop file. Depending on DM/DE usage this can appear as the tooltip for the entry, for example "View sites on the Internet".
DesktopActions   An array of the files altenative actions.

This property modifies the [Desktop Action <Key>] definitions and has no effect on the /comp/gb.desktop/desktopfile/actions property

Exec   Return or set the command-line used for executing the program.
GenericName   Sets or returns the generic name of the application, for example "Web Browser".
Hidden   Return or set if the desktop file has been deleted.
Icon   Sets or returns the name of the icon to display in file manager, menus, etc. If it is coded as an absolute path, the given file will be used. If it is not an absolute path, the algorithm described in the Icon Theme Specification will be used to locate the icon.
MimeTypes   Sets or returns the MIME type(s) supported by the application represented by the desktop entry.
Name   Sets or returns the specific name of the application, for example "Mozilla".
NoDisplay  
Path   Return or set the working directory to run the program in.
ProgramName  
Terminal   Sets or returns whether the program represented by the desktop entry is to run in a "terminal" window.
WorkingDir  

Methods
Exist  
GetIcon  
Run  
Save   Saves the desktop entry back to its' original file (providing you have write access there?).

For a good example take a look at the gambas.desktop file that installs when you install Gambas...

[Desktop Entry]
Name=Gambas 3
Exec=gambas3
GenericName=Gambas 3 IDE
GenericName[fr]=EDI Gambas 3
GenericName[ru]=Gambas 3 IDE(ИСР)
Comment=Gambas3 Integrated Development Environment
Comment[fr]=Environnement de développement intégré Gambas 3
Comment[ru]=Gambas 3 IDE(ИСР) - альтернатива для Visual Basic
Icon=gambas3
Terminal=false
Type=Application
Categories=Development;IDE;
StartupNotify=true
Actions=QT4;QT5;GTK3

[Desktop Action QT4] Name=Run with QT 4 Name[fr]=Exécuter avec QT 4 Exec=env GB_GUI=gb.qt4 gambas3

[Desktop Action QT5] Name=Run with QT 5 Name[fr]=Exécuter avec QT 5 Exec=env GB_GUI=gb.qt5 gambas3

[Desktop Action GTK3] Name=Run with GTK+ 3 Name[fr]=Exécuter avec GTK+ 3 Exec=env GB_GUI=gb.gtk3 gambas3