.\" Generated by scdoc 1.11.5 .\" 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" "2026\-08\-24" .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)