1 #!/usr/bin/mscgen -Tpng
6 u [label = "touch/pointer event" ],
7 l [label = "launcher app" ],
8 s [label = "runtime/shell-client"],
9 a [label = "applaunchd" ],
10 g [label = "gRPC-proxy" ],
11 c [label = "compositor" ],
12 d [label = "libsystemd"];
16 --- [label = "initial phase - subscribe for signal/status events, assume app_id already started" ];
18 s >> a [label = "subscribe for applaunchd GetStatusEvents"];
20 --- [label = "handling of application switching" ];
22 u => l [label = "tapShortCut(appid)" ];
23 l => a [label = "StartApplication(appid)"];
24 a => d [label = "start application's systemd unit"];
25 d => a [label = "return status from starting systemd unit"];
26 a => s [label = "StartResponse(status = TRUE)"];
27 a => s [label = "StatusResponse(app_id, 'started')"];
28 s => c [label = "activate_app(app_id)"];