blob: 8834cc2991c9bdeb6611c26ff50b1cfc003d45f2 (
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
Indicator-Session is the the session menu indicator for Unity.
Its behavior and features are listed at https://wiki.ubuntu.com/SystemMenu.
For instructions on building and running built-in tests, see the INSTALL file.
Notes for Client Renderers
--------------------------
Indicator-Session has two custom types: the Guest menuitem and User menuitems.
Referencing the spec at ,https://wiki.ubuntu.com/SystemMenu.>, both have four
visual components: (1) an Active Session Mark and the user's (2) icon,
(3) name, and (4) Logged In Mark.
== User menuitems can be recognized by their "indicator.switch-to-user" action.
Their four visual components are determined by:
1. You can test for the Action Session Mark by checking the action's state.
The state is a dicionary whose "active-user" key yields the current
session's owner's username. If it matches the username in this menuitem's
"target" attribute, show the Active Session Mark.
2. The icon is stored in the menuitem's "icon" attribute. If none is set,
the client should use a fallback icon such as "avatar-default."
3. The name is stored in the menuitem's "label" attribute.
4. You can test for the Logged In Mark by checking the action's state.
The state is a dictionary whose "logged-in-users" key will give
an array of usernames. If the array contains the username in this
menuitem's "target" attribute, show the Logged In Mark.
== Guest menuitems can be recognized by their "indicator.switch-to-guest" action.
Its four visual components is determined by:
1. You can test for the Active Session Mark by checking the action's state.
The state is a dictionary whose "is-active" key yields a boolean.
If the booelan is true, show the Active Session Mark.
2. The guest user should use a fallback icon such as "avatar-default."
3. The name ("Guest") is stored in the menuitem's "label" attribute.
4. You can test for the Logged In Mark by checking the action's state.
The state is a dictionary whose "is-logged-in" key yields a boolean.
If the boolean is true, show the Logged In Mark.
|