Пример использования Python и GTK3:
from gi.repository import Gtk
class TextStatusIcon:
def __init__(self):
self.statusicon = Gtk.StatusIcon()
self.statusicon.connect("popup-menu", self.right_click_event)
window = Gtk.OffscreenWindow()
window.add(Gtk.Label("text"))
window.connect("damage-event", self.draw_complete_event)
window.show_all()
def draw_complete_event(self, window, event):
self.statusicon.set_from_pixbuf(window.get_pixbuf())
def right_click_event(self, icon, button, time):
Gtk.main_quit()
TextStatusIcon()
Gtk.main()
К сожалению, большинство системных лотков ограничивают высоту значков очень маленьким размером, и Gtk.StatusIcon автоматически уменьшает PixBuf так, что ширина и высотаменьше, чем предел высоты.Это сильно ограничивает объем текста, который вы можете эффективно отображать с помощью Gtk.StatusIcon.
См. https://github.com/PaulSD/Tray_Apps/tree/master/gtktrayicon для библиотеки (которая может быть установлена в дополнение к Gtk), которая предоставляет API для реализации более универсальногоапплеты в системном трее, и поддерживает текстовые строки произвольной длины.См. https://github.com/PaulSD/Tray_Apps для примера кода, который использует эту библиотеку.