如何通过编程找出哪个GTK+;主题和引擎正在使用?

如何通过编程找出哪个GTK+;主题和引擎正在使用?,gtk,gtk2,Gtk,Gtk2,Murrine引擎硬编码了一些行为,我需要在自己的代码中复制这些行为,所以我需要知道Murrine引擎是正在使用,还是其他的。我该怎么做?哪些配置文件存储了这些信息,是否有我可以调用的API?可以帮助您解析一些Gtk+设置。至少读取主题名称相当简单: GtkSettings *settings; gchar *theme_name; settings = gtk_settings_get_default(); g_object_get(settings, "gtk-theme-name", &a

Murrine引擎硬编码了一些行为,我需要在自己的代码中复制这些行为,所以我需要知道Murrine引擎是正在使用,还是其他的。我该怎么做?哪些配置文件存储了这些信息,是否有我可以调用的API?

可以帮助您解析一些Gtk+设置。至少读取主题名称相当简单:

GtkSettings *settings;
gchar *theme_name;
settings = gtk_settings_get_default();
g_object_get(settings, "gtk-theme-name", &theme_name, NULL);
可以帮助您解析一些Gtk+设置。至少读取主题名称相当简单:

GtkSettings *settings;
gchar *theme_name;
settings = gtk_settings_get_default();
g_object_get(settings, "gtk-theme-name", &theme_name, NULL);

不是要否定这个问题,但听起来。。。不确定。在我看来,非主题GTK+的代码不应该模仿主题引擎的行为。如果用户不想要这种行为,但真的更喜欢所有其他GTK+应用程序在其系统上使用的行为,该怎么办?我需要这样做的具体原因是在菜单中使用与Murrine相同的颜色绘制键盘加速器。我很确定,用户更喜欢在所有应用程序中都有一致的外观。代码可能有一些有用的东西。这并不是要否定这个问题,但听起来。。。不确定。在我看来,非主题GTK+的代码不应该模仿主题引擎的行为。如果用户不想要这种行为,但真的更喜欢所有其他GTK+应用程序在其系统上使用的行为,该怎么办?我需要这样做的具体原因是在菜单中使用与Murrine相同的颜色绘制键盘加速器。我敢肯定,用户更喜欢在所有应用程序中保持一致的外观。代码可能有一些有用的东西。