aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md51
1 files changed, 51 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..16ce040
--- /dev/null
+++ b/README.md
@@ -0,0 +1,51 @@
+# Ayatana System Indicator -- Session
+
+The -session Ayatana System Indicator is the the session menu indicator
+for Unity7 and MATE (optionally for others). Its behavior and features
+are listed at https://wiki.ayatana-indicators.org/AyatanaIndicatorSession
+
+For instructions on building and running built-in tests, see the INSTALL file.
+
+
+## Notes for Client Renderers
+
+Ayatana Indicator Session has two custom menuitems: the Guest and User
+switchers. As per the
+https://wiki.ayatana-indicators.org/AyatanaIndicatorSession
+specification, both need four visual components: (1) an Active Session
+Mark, the user's (2) icon, (3) name, and (4) a Logged In Mark.
+
+### User menuitems have "x-canonical-type" set to "indicator.user-menu-item"
+
+ 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.
+
+### The Guest switcher has "x-canonical-type" set to "indicator.guest-menu-item" action
+
+ Its four visual components are 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 boolean 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.