57 lines
1.6 KiB
Promela
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]
|
|
]
|
|
|
|
]
|
|
|
|
]
|