aboutsummaryrefslogtreecommitdiffstats
path: root/docs/04_Developer_Guides/images/application_switching.msc
blob: ceeab7ce1ef3909512a652bb15ca9e5946323493 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/mscgen -Tpng

msc {
       hscale="1.5";

       u [label = "touch/pointer event" ],
       l [label = "launcher app" ],
       s [label = "runtime/shell-client"],
       a [label = "applaunchd" ],
       g [label = "gRPC-proxy" ],
       c [label = "compositor" ],
       d [label = "libsystemd"];

       |||;

       --- [label = "initial phase - subscribe for signal/status events, assume app_id already started" ];

       s >> a [label = "subscribe for applaunchd GetStatusEvents"];

       --- [label = "handling of application switching" ];

       u => l [label = "tapShortCut(appid)" ];
       l => a [label = "StartApplication(appid)"];
       a => d [label = "start application's systemd unit"];
       d => a [label = "return status from starting systemd unit"];
       a => s [label = "StartResponse(status = TRUE)"];
       a => s [label = "StatusResponse(app_id, 'started')"];
       s => c [label = "activate_app(app_id)"];
}