Class: RosettAi::DBus::StatusNotifierInterface
- Inherits:
-
DBus::Object
- Object
- DBus::Object
- RosettAi::DBus::StatusNotifierInterface
- Defined in:
- lib/rosett_ai/dbus/status_notifier_interface.rb
Overview
D-Bus StatusNotifierItem interface for system tray presence.
Implements org.kde.StatusNotifierItem, the freedesktop standard for system tray icons on Linux. Supports KDE, GNOME (via extension), and Xfce status notifier hosts.
Degrades gracefully if no StatusNotifierHost is available.
Constant Summary collapse
- INTERFACE =
'org.kde.StatusNotifierItem'- CATEGORY =
'ApplicationStatus'- ICON_NAME =
'rosett-ai-symbolic'- APP_ID =
'be.neatnerds.rosettai'
Instance Method Summary collapse
- #category ⇒ Object
- #icon_name ⇒ Object
- #id ⇒ Object
-
#initialize(path) ⇒ StatusNotifierInterface
constructor
A new instance of StatusNotifierInterface.
- #status ⇒ Object
- #title ⇒ Object
-
#tool_tip ⇒ Object
ToolTip is a struct: (icon_name, icon_pixmap[], title, body).
-
#update_status(new_status) ⇒ Object
Update displayed status and emit signal.
Constructor Details
#initialize(path) ⇒ StatusNotifierInterface
Returns a new instance of StatusNotifierInterface.
44 45 46 47 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 44 def initialize(path) super @current_status = 'Active' end |
Instance Method Details
#category ⇒ Object
50 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 50 def category = CATEGORY |
#icon_name ⇒ Object
53 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 53 def icon_name = ICON_NAME |
#id ⇒ Object
49 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 49 def id = APP_ID |
#status ⇒ Object
51 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 51 def status = @current_status |
#title ⇒ Object
52 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 52 def title = "rai #{RosettAi::VERSION}" |
#tool_tip ⇒ Object
ToolTip is a struct: (icon_name, icon_pixmap[], title, body)
56 57 58 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 56 def tool_tip [ICON_NAME, [], "rai #{RosettAi::VERSION}", 'NeatNerds Code Companion'] end |
#update_status(new_status) ⇒ Object
Update displayed status and emit signal.
63 64 65 66 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 63 def update_status(new_status) @current_status = new_status NewStatus(new_status) end |