| '\" t |
| .\" Title: gapplication |
| .\" Author: Ryan Lortie |
| .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> |
| .\" Date: 07/20/2016 |
| .\" Manual: User Commands |
| .\" Source: GIO |
| .\" Language: English |
| .\" |
| .TH "GAPPLICATION" "1" "" "GIO" "User Commands" |
| .\" ----------------------------------------------------------------- |
| .\" * Define some portability stuff |
| .\" ----------------------------------------------------------------- |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .\" http://bugs.debian.org/507673 |
| .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
| .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| .ie \n(.g .ds Aq \(aq |
| .el .ds Aq ' |
| .\" ----------------------------------------------------------------- |
| .\" * set default formatting |
| .\" ----------------------------------------------------------------- |
| .\" disable hyphenation |
| .nh |
| .\" disable justification (adjust text to left margin only) |
| .ad l |
| .\" ----------------------------------------------------------------- |
| .\" * MAIN CONTENT STARTS HERE * |
| .\" ----------------------------------------------------------------- |
| .SH "NAME" |
| gapplication \- D\-Bus application launcher |
| .SH "SYNOPSIS" |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR help [\fICOMMAND\fR] |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR version |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR list\-apps |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR launch \fIAPPID\fR |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR launch \fIAPPID\fR [\fIFILE\fR...] |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR list\-actions \fIAPPID\fR |
| .HP \w'\fBgapplication\fR\ 'u |
| \fBgapplication\fR action \fIAPPID\fR \fIACTION\fR [\fIPARAMETER\fR] |
| .SH "DESCRIPTION" |
| .PP |
| \fBgapplication\fR |
| is a commandline implementation of the client\-side of the |
| org\&.freedesktop\&.Application |
| interface as specified by the freedesktop\&.org Desktop Entry Specification\&. |
| .PP |
| \fBgapplication\fR |
| can be used to start applications that have |
| \fIDBusActivatable\fR |
| set to |
| true |
| in their |
| \&.desktop |
| files and can be used to send messages to already\-running instances of other applications\&. |
| .PP |
| It is possible for applications to refer to |
| \fBgapplication\fR |
| in the |
| \fIExec\fR |
| line of their |
| \&.desktop |
| file to maintain backwards compatibility with implementations that do not directly support |
| \fIDBusActivatable\fR\&. |
| .PP |
| \fBgapplication\fR |
| ships as part of |
| GLib\&. |
| .SH "COMMANDS" |
| .SS "Global commands" |
| .PP |
| \fBhelp\fR [\fICOMMAND\fR] |
| .RS 4 |
| Displays a short synopsis of the available commands or provides detailed help on a specific command\&. |
| .RE |
| .PP |
| \fBversion\fR |
| .RS 4 |
| Prints the GLib version whence |
| \fBgapplication\fR |
| came\&. |
| .RE |
| .PP |
| \fBlist\-apps\fR |
| .RS 4 |
| Prints a list of all application IDs that are known to support D\-Bus activation\&. This list is generated by scanning |
| \&.desktop |
| files as per the current |
| \fBXDG_DATA_DIRS\fR\&. |
| .RE |
| .PP |
| \fBlaunch\fR \fIAPPID\fR [\fIFILE\fR...] |
| .RS 4 |
| Launches an application\&. |
| .sp |
| The first parameter is the application ID in the familiar "reverse DNS" style (eg: \*(Aqorg\&.gnome\&.app\*(Aq) without the |
| \&.desktop |
| suffix\&. |
| .sp |
| Optionally, if additional parameters are given, they are treated as the names of files to open and may be filenames or URIs\&. If no files are given then the application is simply activated\&. |
| .RE |
| .PP |
| \fBlist\-actions\fR \fIAPPID\fR |
| .RS 4 |
| List the actions declared in the application\*(Aqs |
| \&.desktop |
| file\&. The parameter is the application ID, as above\&. |
| .RE |
| .PP |
| \fBaction\fR \fIAPPID\fR \fIACTION\fR [\fIPARAMETER\fR] |
| .RS 4 |
| Invokes the named action (in the same way as would occur when activating an action specified in the |
| \&.desktop |
| file)\&. |
| .sp |
| The application ID (as above) is the first parameter\&. The action name follows\&. |
| .sp |
| Optionally, following the action name can be one parameter, in GVariant format, given as a single argument\&. Make sure to use sufficient quoting\&. |
| .RE |
| .SH "EXAMPLES" |
| .SS "From the commandline" |
| .PP |
| Launching an application: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| gapplication launch org\&.example\&.fooview |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .PP |
| Opening a file with an application: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| gapplication launch org\&.example\&.fooview ~/file\&.foo |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .PP |
| Opening many files with an application: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| gapplication launch org\&.example\&.fooview ~/foos/*\&.foo |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .PP |
| Invoking an action on an application: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| gapplication action org\&.example\&.fooview create |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .PP |
| Invoking an action on an application, with an action: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| gapplication action org\&.example\&.fooview show\-item \*(Aq"item_id_828739"\*(Aq |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .SS "From the \fIExec\fR lines of a \&.desktop file" |
| .PP |
| The commandline interface of |
| \fBgapplication\fR |
| was designed so that it could be used directly from the |
| \fIExec\fR |
| line of a |
| \&.desktop |
| file\&. |
| .PP |
| You might want to do this to allow for backwards compatibility with implementations of the specification that do not understand how to do D\-Bus activation, without having to install a separate utility program\&. |
| .PP |
| Consider the following example: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| [Desktop Entry] |
| Version=1\&.1 |
| Type=Application |
| Name=Foo Viewer |
| DBusActivatable=true |
| MimeType=image/x\-foo; |
| Exec=gapplication launch org\&.example\&.fooview %F |
| Actions=gallery;create; |
| |
| [Desktop Action gallery] |
| Name=Browse Gallery |
| Exec=gapplication action org\&.example\&.fooview gallery |
| |
| [Desktop Action create] |
| Name=Create a new Foo! |
| Exec=gapplication action org\&.example\&.fooview create |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .SS "From a script" |
| .PP |
| If installing an application that supports D\-Bus activation you may still want to put a file in |
| /usr/bin |
| so that your program can be started from a terminal\&. |
| .PP |
| It is possible for this file to be a shell script\&. The script can handle arguments such as \-\-help and \-\-version directly\&. It can also parse other command line arguments and convert them to uses of |
| \fBgapplication\fR |
| to activate the application, open files, or invoke actions\&. |
| .PP |
| Here is a simplified example, as may be installed in |
| /usr/bin/fooview: |
| .sp |
| .if n \{\ |
| .RS 4 |
| .\} |
| .nf |
| #!/bin/sh |
| |
| case "$1" in |
| \-\-help) |
| echo "see \*(Aqman fooview\*(Aq for more information" |
| ;; |
| |
| \-\-version) |
| echo "fooview 1\&.2" |
| ;; |
| |
| \-\-gallery) |
| gapplication action org\&.example\&.fooview gallery |
| ;; |
| |
| \-\-create) |
| gapplication action org\&.example\&.fooview create |
| ;; |
| |
| \-*) |
| echo "unrecognised commandline argument" |
| exit 1 |
| ;; |
| |
| *) |
| gapplication launch org\&.example\&.fooview "$@" |
| ;; |
| esac |
| |
| .fi |
| .if n \{\ |
| .RE |
| .\} |
| .SH "SEE ALSO" |
| .PP |
| \m[blue]\fBDesktop Entry Specification\fR\m[]\&\s-2\u[1]\d\s+2, |
| \fBgdbus\fR(1), |
| \fBxdg-open\fR(1), |
| \fBdesktop-file-validate\fR(1) |
| .SH "NOTES" |
| .IP " 1." 4 |
| Desktop Entry Specification |
| .RS 4 |
| \%http://standards.freedesktop.org/desktop-entry-spec/latest/ |
| .RE |