如何更改鞋子应用程序的图标?

时间:2009-01-09 03:17:00

标签: ruby styles shoes

我想知道是否可以更改我的鞋子应用程序的图标?我想它的风格导向,但我无法在其上找到任何东西。

这可能吗?

4 个答案:

答案 0 :(得分:3)

你可以在Green Shoes中完成,但你必须深入了解一下。这是我为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=

答案 1 :(得分:2)

我不相信鞋内可以做到这一点。这是基于在线和源代码的广泛搜索。

但是,鞋子外面有一些工作。一种是简单地更改文件#{DIR}/static/shoes-icon.png,这是运行时从中拉出图标的位置。另一种是更改文件libshoes.so(或您的操作系统等效)中的硬编码值;你可以使用十六进制编辑器,或任何其他不会弄乱文件的编辑器。请注意,要使硬编码编辑在不崩溃的情况下工作,您必须将硬编码字符串替换为相同长度的字符串。

答案 2 :(得分:2)

使用IcoFx。 _为什么他自己在邮件列表上建议了这个实用程序。您可以在icoFX网站的教程部分找到该说明。

答案 3 :(得分:0)

到目前为止,我不确定这实际上是否可行。在OS X中,我能够修改包内容以更改plist在图标方面指向的内容。但是,当应用程序运行时,它会使用Shoes的运行时图标。

我不知道你在Windows上如何做到这一点。