meta/config/exec.pr

57 lines
1.6 KiB
Promela

? <exec-space ?exec-space> [
; get the Sway environment and exec with it
? { argv: ["sway-env-magic-cookie"]
env: {
"DBUS_SESSION_BUS_ADDRESS" : ?DBUS_SESSION_BUS_ADDRESS
"DISPLAY": ?DISPLAY
"SWAYSOCK" : ?SWAYSOCK
"WAYLAND_DISPLAY" : ?WAYLAND_DISPLAY
"XDG_SEAT" : ?XDG_SEAT
"XDG_SESSION_TYPE" : ?XDG_SESSION_TYPE
} } [
; start GUI programs in the Sway environment
? <gui ?sym { argv: ?argv }> [
<run-service <daemon $sym>>
<daemon $sym {
argv: $argv,
env: {
"DBUS_SESSION_BUS_ADDRESS" : $DBUS_SESSION_BUS_ADDRESS
"DISPLAY": $DISPLAY
"SWAYSOCK" : $SWAYSOCK
"WAYLAND_DISPLAY" : $WAYLAND_DISPLAY
"XDG_SEAT" : $XDG_SEAT
"XDG_SESSION_TYPE" : $XDG_SESSION_TYPE
}
readyOnStart: #f,
}>
]
; execute programs in response to handlers
$exec-space ?? <exec ?argv> $config [
let ?id = timestamp
let ?facet = facet
let ?d = <uri_runner-exec $id $argv>
<run-service <daemon $d>>
<daemon $d {
argv: $argv,
env: {
"DBUS_SESSION_BUS_ADDRESS" : $DBUS_SESSION_BUS_ADDRESS
"DISPLAY": $DISPLAY
"SWAYSOCK" : $SWAYSOCK
"WAYLAND_DISPLAY" : $WAYLAND_DISPLAY
"XDG_SEAT" : $XDG_SEAT
"XDG_SESSION_TYPE" : $XDG_SESSION_TYPE
}
readyOnStart: #f,
restart: =never,
}>
? <service-state <daemon $d> complete> [$facet ! stop]
? <service-state <daemon $d> failed> [$facet ! stop]
]
]
]