如何使用 GTK 制作 Openbox dockapp?

如何使用 GTK 制作 Openbox dockapp?

我正在使用 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 进行转换的。

相关内容