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 =
Returns D-Bus interface name.
'org.kde.StatusNotifierItem'- CATEGORY =
Returns StatusNotifierItem category.
'ApplicationStatus'- ICON_NAME =
Returns StatusNotifierItem icon name.
'rosett-ai-symbolic'- APP_ID =
Returns StatusNotifierItem application identifier.
'be.neatnerds.rosettai'
Instance Method Summary collapse
-
#category ⇒ String
Return the StatusNotifierItem category.
-
#icon_name ⇒ String
Return the icon name for display.
-
#id ⇒ String
Return the unique identifier.
-
#initialize(path) ⇒ StatusNotifierInterface
constructor
A new instance of StatusNotifierInterface.
-
#status ⇒ String
Return the current status.
-
#title ⇒ String
Return the display title.
-
#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.
48 49 50 51 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 48 def initialize(path) super @current_status = 'Active' end |
Instance Method Details
#category ⇒ String
Return the StatusNotifierItem category.
58 59 60 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 58 def category = CATEGORY # Return the current status. # @return [String] |
#icon_name ⇒ String
Return the icon name for display.
67 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 67 def icon_name = ICON_NAME |
#id ⇒ String
Return the unique identifier.
55 56 57 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 55 def id = APP_ID # Return the StatusNotifierItem category. # @return [String] |
#status ⇒ String
Return the current status.
61 62 63 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 61 def status = @current_status # Return the display title. # @return [String] |
#title ⇒ String
Return the display title.
64 65 66 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 64 def title = "rai #{RosettAi::VERSION}" # Return the icon name for display. # @return [String] |
#tool_tip ⇒ Object
ToolTip is a struct: (icon_name, icon_pixmap, title, body)
70 71 72 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 70 def tool_tip [ICON_NAME, [], "rai #{RosettAi::VERSION}", 'NeatNerds Code Companion'] end |
#update_status(new_status) ⇒ Object
Update displayed status and emit signal.
77 78 79 80 |
# File 'lib/rosett_ai/dbus/status_notifier_interface.rb', line 77 def update_status(new_status) @current_status = new_status NewStatus(new_status) end |