summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_systray.eo
blob: 53c65ddfd1fd2c8ab82b1cb9016c3d56a491ad9a (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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
enum Elm.Systray.Category
{
   [[
     Category of the Status Notifier Item.
     @since 1.8
   ]]
   app_status, [[Indicators of application status]]
   communications, [[Communications apps]]
   sys_services, [[System Service apps]]
   hardware, [[Hardware indicators]]
   other [[undefined category]]
}

enum Elm.Systray.Status
{
   [[
     Application status information.
     @since 1.8
   ]]
   passive, [[Passive (normal)]]
   active, [[Active]]
   attention [[Needs Attention]]
}

class Elm.Systray (Eo.Base)
{
   legacy_prefix: elm_systray;
   eo_prefix: elm_obj_systray;
   data: null;
   methods {
      @property id {
         set {
            [[Set the id of the Status Notifier Item.]]
         }
         get {
            [[Get the id of the Status Notifier Item.]]
         }
         values {
            id: const(char)* @nullable;
         }
      }
      @property category {
         set {
            [[Set the category of the Status Notifier Item.]]
         }
         get {
            [[Get the category of the Status Notifier Item.]]
         }
         values {
            cat: Elm.Systray.Category; [[Category]]
         }
      }
      @property icon_theme_path {
         set {
            [[Set the path to the theme where the icons can be found. Set this value to "" to use the default path.]]
         }
         get {
            [[Get the path to the icon's theme currently in use.]]
         }
         values {
            icon_theme_path: const(char)* @nullable;
         }
      }
      @property menu {
         set {
            [[Set the object path of the D-Bus Menu that is to be show when the Status Notifier Item is activated by the user.]]
         }
         get {
            [[Get the object path of the D-Bus Menu currently in use.]]
         }
         values {
            menu: const(Eo.Base)* @nullable;
         }
      }
      @property att_icon_name {
         set {
            [[Set the name of the attention icon to be used by the Status Notifier Item.]]
         }
         get {
            [[Get the name of the attention icon used by the Status Notifier Item.]]
         }
         values {
            att_icon_name: const(char)* @nullable;
         }
      }
      @property status {
         set {
            [[Set the status of the Status Notifier Item.]]
         }
         get {
            [[Get the status of the Status Notifier Item.]]
         }
         values {
            st: Elm.Systray.Status; [[Status]]
         }
      }
      @property icon_name {
         set {
            [[Set the name of the icon to be used by the Status Notifier Item.]]
         }
         get {
            [[Get the name of the icon used by the Status Notifier Item.]]
         }
         values {
            icon_name: const(char)* @nullable;
         }
      }
      @property title {
         set {
            [[Set the title of the Status Notifier Item.]]
         }
         get {
            [[Get the title of the Status Notifier Item.]]
         }
         values {
            title: const(char)* @nullable;
         }
      }
      register {
         [[Register this Status Notifier Item in the System Tray Watcher. This function should only be called after the event #ELM_EVENT_SYSTRAY_READY is emitted.]]
         return: bool;
      }
   }

}