Вы можете сделать это в Зеленые туфли , но вам придется немного уйти под капот. Вот очень простой код, который я написал для SciRuby:
class Shoes
class App
def icon filename=nil
filename.nil? ? win.icon : win.icon = filename
end
class << self
def default_icon= filename
Gtk::Window.set_default_icon(filename)
end
end
end
end
Второй метод не является обязательным; я думаю, вы можете использовать его, чтобы установить значок для всего своего приложения. Первый метод устанавливает значок для текущего окна, и вы бы использовали его так:
DIR = Pathname.new(__FILE__).realpath.dirname.to_s
ICON_PATH = File.join(DIR, '..', 'static', 'my-icon.png')
# ...
Shoes.app :title => "My App" do
icon ICON_PATH
end
И по умолчанию:
Shoes::App.default_icon = ICON_PATH
Я использую файл 128x128 png. Я попробовал 500x500, и он не работал должным образом. В приведенном выше коде ICON_PATH
из корня каталога вашего проекта должно быть ./static/my-icon.png
.
Вам также может понадобиться require "gtk2"
где-нибудь для default_icon=
метода.