我正在使用 Openbox,我想在 GTK+ 中制作一个 dock-app(注意:不是像 plank/docky 这样的 dock,而是像 stalonetray 或 lal 这样的 dock-app)。如何让编写的简单应用程序位于 dock 区域?
#!/usr/bin/env ruby
require "gtk3"
module Bang
class Clock < Gtk::Window
def initialize(clock_fmt)
super(:toplevel)
@label = Gtk::Label.new
@fmt = clock_fmt
self.add(@label)
end
def start(time)
GLib::Timeout.add(time) do
@label.markup = Time.now.strftime(@fmt)
self.show_all
end
end
end
end
if __FILE__ == $PROGRAM_NAME
Gtk.init
@clock = Bang::Clock.new('%T')
@clock.signal_connect("destroy") do
Gtk.main_quit
end
@clock.start(1000)
@clock.show_all
Gtk.main
end
答案1
我强烈怀疑任何值得一试的托盘小程序都遵循Freedesktop 系统托盘规格以便每个 X11 应用程序都能按预期在每个桌面环境中运行。
GTK+ 3 确实遵循这些规范。这应该能让您大致了解将要使用的绑定。但我不知道这些是如何通过 Ruby 进行转换的。