.\" Generated by scdoc 1.11.3 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "UWSM-APP" "1" "2025-06-06" .PP .SH NAME .PP \fBuwsm-app\fR - Application-to-unit launcher using UWSM'\&s app daemon.\& .PP .SH SYNOPSIS .PP \fBuwsm-app\fR [-h] [-s {\fBa\fR,\fBb\fR,\fBs\fR,\fIcustom\fR.\&slice}] [-t {scope,service}] [-a \fIapp_name\fR] [-u \fIunit_name\fR] [-d \fIunit_description\fR] [-S ] [-T] -- \fIapplication\fR [\fIargs\fR .\&.\&.\&] .PP .SH DESCRIPTION .PP Application-to-unit launcher with Desktop Entry support.\& Analogous to \fBuwsm app\fR command and uses the same arguments, since argument parsing is done on the app daemon'\&s side with the same parser.\& .PP .SH OPTIONS .PP .TS l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx. T{ \fB-s\fR {\fBa\fR,\fBb\fR,\fBs\fR,\fIcustom\fR.\&slice} T} T{ Slice selector (default: \fBa\fR): T} T{ T} T{ \fBa\fR - \fBapp-graphical.\&slice\fR T} T{ T} T{ \fBb\fR - \fBbackground-graphical.\&slice\fR T} T{ T} T{ \fBs\fR - \fBsession-graphical.\&slice\fR T} T{ T} T{ any slice by full name T} T{ \fB-t\fR {\fBscope\fR,\fBservice\fR} T} T{ Type of unit to launch (default: \fBscope\fR, can be preset by \fBUWSM_APP_UNIT_TYPE\fR env var).\& T} T{ \fB-a\fR \fIapp_name\fR T} T{ Override app name (a substring in unit name).\& T} T{ \fB-u\fR \fIunit_name\fR T} T{ Override the whole autogenerated unit name.\& T} T{ \fB-d\fR \fIunit_description\fR T} T{ Unit Description.\& T} T{ \fB-S\fR {\fBout\fR,\fBerr\fR,\fBboth\fR} T} T{ Silence stdout, stderr, or both.\& T} T{ \fB-T\fR T} T{ Launch app in a terminal.\& Allows command to be empty to just launch a terminal.\& T} .TE .sp 1 Application can be provided as a command with optional arguments, or a Desktop Entry ID, optionally suffixed with "\fB:\fR"-delimited Action ID.\& If Desktop Entry is being launched, arguments should be compatible with it.\& .PP Always use "\fB--\fR" to disambiguate dashed arguments intended for application itself.\& .PP Special arguments that are passed through to app daemon: .PP .PD 0 .IP \(bu 4 \fBping\fR check app daemon, it should return "\fBpong\fR"n .IP \(bu 4 \fBstop\fR stop app daemonn .PD .PP .SH OPERATION .PP \fBuwsm-app\fR client sends arguments to uwsm'\&s app daemon via a pipe.\& Upon receiving arguments, app daemon returns shell code to \fBuwsm-app\fR which it natively executes.\& Single commands are prepended with \fBexec\fR, iterated commands are assembled with trailing \fB&\fR each, followed by \fBwait\fR.\& .PP The purpose of all this is to skip all the expensive Python startup and import routines that slow things down every time "\fBuwsm app\fR" is called.\& Instead the daemon does it once and then listens for requests, while a simple shell script may dump arguments to one pipe and run the code received from another via eval, which is much faster.\& .PP .SH SEE ALSO .PP \fBuwsm\fR(1), \fBsystemd-run\fR(1)