Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 更改GTK+;3.看窗户_Windows_User Interface_Gtk_Themes - Fatal编程技术网

Windows 更改GTK+;3.看窗户

Windows 更改GTK+;3.看窗户,windows,user-interface,gtk,themes,Windows,User Interface,Gtk,Themes,我在股票Ubuntu 14.04上开发了一个GTK3应用程序,并将其移植到Windows上,没有出现任何重大问题。然而,Ubuntu上的应用程序外观与Windows完全不同(在Windows上更难看)。然而,同样使用GTK的GIMP在Windows和Ubuntu上具有一致的外观 我不太熟悉Ubuntu如何改变GTK应用程序的外观,我想知道Windows上的GTK应用程序需要做什么才能让它看起来像Ubuntu上的GTK应用程序?GIMP使用GTK+-2.x。GTK+-2.x主题化既复杂又奇怪 GT

我在股票Ubuntu 14.04上开发了一个GTK3应用程序,并将其移植到Windows上,没有出现任何重大问题。然而,Ubuntu上的应用程序外观与Windows完全不同(在Windows上更难看)。然而,同样使用GTK的GIMP在Windows和Ubuntu上具有一致的外观


我不太熟悉Ubuntu如何改变GTK应用程序的外观,我想知道Windows上的GTK应用程序需要做什么才能让它看起来像Ubuntu上的GTK应用程序?

GIMP使用GTK+-2.x。GTK+-2.x主题化既复杂又奇怪

GTK+-3.0在所有平台上使用Adwaita主题

您可以安装不同的GTK+-3.x主题

通过编辑位于(使用当前glib时)中的
settings.ini
,可以更改当前GTK+-3.x主题

  • DLL前缀/share/gtk-3.0/settings.ini
  • DLL前缀/etc/gtk-3.0/settings.ini
  • C:/Documents and Settings/All Users/Application Data/gtk-3.0/Settings.ini
  • C:/Documents and Settings/username/Local Settings/Application Data/gtk-3.0/Settings.ini
并将
gtk theme name=yourthemename
添加到
[Settings]
部分

settings.ini
也适用于所有其他设置,请查阅!)

GTK+-3.x主题是用CSS编写的

至于主题安装,这是GTK+-3.22文档所说的:

此外,初始化GTK+时将读取某些文件。首先是 如果存在文件
$XDG\u CONFIG\u HOME/gtk-3.0/gtk.css
,则加载该文件。那么,GTK+ 加载其中的第一个现有文件
XDG_DATA_HOME/themes/theme name/gtk VERSION/gtk.css
$HOME/.themes/themes name/gtk VERSION/gtk.css
$XDG_DATA_DIRS/themes/theme name/gtk VERSION/gtk.css
DATADIR/share/themes/THEME/gtk VERSION/gtk.css
,其中
THEME
是 当前主题(请参见#GtkSettings:gtk主题名称设置),
DATADIR
是编译GTK+时配置的前缀(除非被
GTK_数据_前缀
环境变量),而
VERSION
是GTK+版本号。 如果找不到当前版本的文件,GTK+将始终尝试较旧版本 回到3.0

在Windows上,使用当前的glib,这将转化为(考虑到
3.0
这里的意思是
从3.x开始,一直计算到3.0
):

  • C:/Documents and Settings/username/Local Settings/Application Data/gtk-3.0/gtk.css
请注意,此路径中缺少
主题
主题名

  • C:/Documents and Settings/username/Local Settings/Application Data/themes/themename/gtk-3.0/gtk.css /gtk.css
  • C:/Documents and Settings/username/.themes/themename/gtk-3.0/gtk.css
  • C:/Documents and Settings/All Users/Application Data/themes/themename/gtk-3.0/gtk.css
  • C:/Documents and Settings/All Users/Documents/themes/themename/gtk-3.0/gtk.css
  • DLL前缀/share/themes/themename/gtk-3.0/gtk.css
  • exe前缀/share/themes/themename/gtk-3.0/gtk.css
您还可以为主题的
dark
变体提供
gtk dark.css


默认的Adwaita主题被烘焙到GTK+库中,因此在上面列出的任何目录中都找不到Adwaita主题css文件。如果您想查看Adwaita的CSS代码,您必须下载GTK+源代码-主题将位于
GTK/theme/
子目录中。

GIMP仍然使用GTK+2。也就是说,如果您安装了一个备用GTK+3主题(我不知道主题文件夹的路径在Windows上的何处,但是),您可以手动编辑
GTK-3.0\settings.ini
文件,该文件应该位于'C:\Users'目录或MSYS2主目录中。我明白了,我会尽力去寻找的。你找到解决办法了吗?settings.ini不适合我。还有进展如何,伙计?你提到“GTK+-2.x主题化是复杂而奇怪的。”好吧,尽管如此,你知道在Windows中使用它的任何教程或其他资源吗?我正在尝试调整GeanyUI的颜色(这样黑色主题的编辑器窗格就没有什么意义了),它是GTK2应用程序。不,我没有。在AFAIU中,GTK2使用主题引擎(绘制小部件的真实C代码)。我建议在GTK+-2.x源代码树的
modules/engines/ms windows
子目录中查看windows主题引擎。所有这些都是在我的时代之前,所以我恐怕对主题引擎一无所知。