在 Windows 上更改 GTK+3 外观

Zhu*_*gxi 4 windows gtk user-interface themes

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

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

LRN*_*LRN 7

GIMP 使用 GTK+-2.x。GTK+-2.x 主题是复杂而奇怪的。

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

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

您可以通过编辑settings.ini,位于(使用当前 glib 时)中来更改当前的 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/用户名/本地设置/应用程序数据/gtk-3.0/settings.ini

并添加gtk-theme-name=yourthemename到该[Settings]部分。

settings.ini也适用于各种其他设置,查找!)

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

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

此外,某些文件会在 GTK+ 初始化时被读取。首先,$XDG_CONFIG_HOME/gtk-3.0/gtk.css如果文件存在,则加载该文件。然后,GTK +负载中的第一个现有的文件 XDG_DATA_HOME/themes/theme-name/gtk-VERSION/gtk.css$HOME/.themes/theme-name/gtk-VERSION/gtk.css$XDG_DATA_DIRS/themes/theme-name/gtk-VERSION/gtk.cssDATADIR/share/themes/THEME/gtk-VERSION/gtk.css,其中THEME是当前主题的名称(见#GtkSettings:GTK主题名称设置),DATADIR 是配置的前缀时,GTK +编译(除非被覆盖 GTK_DATA_PREFIX环境变量),VERSION是 GTK+ 版本号。如果没有找到当前版本的文件,GTK+ 会一直尝试回到 3.0 的旧版本。

在 Windows 上,使用当前的 glib,这将转换为(考虑到3.0这里的意思starting with 3.x and counting all the way down to 3.0):

  • C:/Documents and Settings/用户名/本地设置/应用程序数据/gtk-3.0/gtk.css

注意缺乏themesthemename在这条道路的任何地方。

  • C:/Documents and Settings/ username /Local Settings/Application Data/themes/ themename /gtk-3.0/gtk.css /gtk.css
  • C:/Documents and Settings/用户名/.themes/主题/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/主题/gtk-3.0/gtk.css
  • DLL 前缀/share/themes/ 主题/gtk-3.0/gtk.css
  • exe 前缀/share/themes/ 主题/gtk-3.0/gtk.css

您还可以提供主题gtk-dark.cssdark变体。

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