Для цветов по умолчанию используйте что-то вроде этого:
GdkColor color;
/* Look up the default text color in the theme, use a default
if it's not defined */
GtkStyle *style = gtk_rc_get_style(my_widget);
if(!gtk_style_lookup_color(style, "text_color", &color))
gdk_color_parse("black", &color);
Есть несколько имен, определенных для gtk_style_lookup_color()
. Немного неясно, где именно они определены, но это те, которые вы можете определить в диалоге GNOME:
fg_color
bg_color
base_color
text_color
selected_bg_color
selected_fg_color
tooltip_bg_color
tooltip_fg_color
Что касается шрифтов и других системных настроек, вам нужно использовать библиотеку GConf, чтобы получить эти значения по умолчанию. GTK ничего не знает о них, потому что они являются частью рабочего стола GNOME, а не GTK. Шрифт по умолчанию можно найти, например, по ключу /desktop/gnome/interface/font_name
. Если вы установили редактор конфигурации GConf, вы можете просмотреть эти ключи, чтобы увидеть, какие из них доступны; они все под /desktop/gnome
.
PS. О каком списке рассылки GTK вы спрашивали? Тот, который я читаю, не кажется шуткой ...