Wine如何为“开始菜单”条目生成图像文件?

palswim

着眼于从EXE文件中提取图标(ICO文件)的所有大小作为PNG图像的过程,我注意到Wine似乎是自动执行此操作的。

安装foob​​ar2000之后,Wine(我想是)在中创建了一个Desktop Entry ~/.local/share/applications/wine/Programs/foobar2000.desktop,其中包含以下内容:

[Desktop Entry]
Name=foobar2000
Exec=env WINEPREFIX="$HOME/.wine" wine C:\\\\windows\\\\command\\\\start.exe /Unix "$HOME/.wine/dosdevices/c:/users/Public/Start\\ Menu/Programs/foobar2000.lnk"
Type=Application
StartupNotify=true
Comment=Play, organize and tag your music.
Path=$HOME/.wine/dosdevices/c:/Program Files (x86)/foobar2000
Icon=3C17_foobar2000.0

最终,这个Icon键引起了我的注意,我发现它可以根据Icon Theme Specification来解决到处走走,我找到了~/local/share/icons/hicolor/*/apps/包含这些图标的文件的目录(每个文件夹包含3C17_foobar2000.0.png),我再次假定是Wine所创建的。

我的问题是Wine是如何从应用程序(或快捷方式文件)生成这些图像文件的?

斯蒂芬·基特

Wine包含一个winemenubuilder可解决此问题程序:它使用Windows快捷方式,并创建匹配的FDO(FreeDesktop.Org).desktop文件。图标提取是其中的一部分,由open_module_icon和相关功能处理要提取图标,请winemenubuilder找到与快捷方式相对应的可执行文件(如有必要,可以选择等待创建该可执行文件),并使用Wine的LoadResource功能加载其包含的资源,查找图标,然后将其转换为适当的图像格式。

wine winemenubuilder /path/to/link.lnk

会将链接转换为中的.desktop文件,~/.local/share/applications/wine/Programs并提取可用的图标,进行转换,然后将其存储在的相应子目录中~/.local/share/icons(我认为/path/to/link.lnk必须使用Wine的驱动器映射可以访问;它与.lnkWine中已安装的文件很好地配合使用。)

wine winemenubuilder -t /path/to/link.lnk /path/to/icon.png

将解压在可执行文件指向的第一个图标link.lnkicon.png

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章