Как изменить значок моего приложения «Обувь»? - PullRequest
4 голосов
/ 09 января 2009

Мне было интересно, можно ли изменить значок приложения «Обувь»? Я представляю его ориентированный на стиль, но я ничего не смог найти на нем.

Возможно ли это?

Ответы [ 4 ]

3 голосов
/ 19 сентября 2011

Вы можете сделать это в Зеленые туфли , но вам придется немного уйти под капот. Вот очень простой код, который я написал для 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= метода.

2 голосов
/ 09 января 2009

Я не верю, что это возможно изнутри обуви. Это основано на широком поиске, как в Интернете, так и в исходном коде.

Тем не менее, есть пара вещей, которые не подходят для Обуви. Один из них - просто изменить файл #{DIR}/static/shoes-icon.png, из которого среда выполнения извлекает свой значок. Другой - изменить жестко закодированное значение в файле libshoes.so (или эквивалент вашей ОС); Вы можете использовать шестнадцатеричный редактор или любой другой редактор, который не испортит файл. Обратите внимание: чтобы жестко запрограммированное редактирование работало без сбоев, необходимо заменить жестко закодированную строку чем-то такой же длины.

2 голосов
/ 08 апреля 2009

Использование IcoFx . Почему он сам предложил эту утилиту в списке рассылки. Вы найдете инструкцию в разделе учебных материалов на сайте icoFX.

0 голосов
/ 09 января 2009

Пока что я не уверен, что это действительно возможно. в OS X я смог изменить содержимое пакета, чтобы изменить то, на что указывает plist с точки зрения значков. Однако, когда приложение запускается, оно использует значок времени выполнения Shoes.

Понятия не имею, как бы вы сделали это в Windows.

...