可以說我想寫一個特殊的文本編輯器小部件。如何訪問GTK/Gnome上的主題字體和顏色
如何獲取文本的默認主題顏色, 選定的文本和背景以及哪些是用戶默認的 字體?
我看到GNOME確實定義5種特殊的系統字體和默認大小 爲此,在GNOME外觀配置對話框, 但我還沒有找到GTK文檔中的一個字如何 訪問他們(和GTK郵件列表是一個笑話:-()。
Windows和可可既給我幾十個系統的值。
我發現的GtkStyle類,但這似乎並沒有爲我需要什麼。
可以說我想寫一個特殊的文本編輯器小部件。如何訪問GTK/Gnome上的主題字體和顏色
如何獲取文本的默認主題顏色, 選定的文本和背景以及哪些是用戶默認的 字體?
我看到GNOME確實定義5種特殊的系統字體和默認大小 爲此,在GNOME外觀配置對話框, 但我還沒有找到GTK文檔中的一個字如何 訪問他們(和GTK郵件列表是一個笑話:-()。
Windows和可可既給我幾十個系統的值。
我發現的GtkStyle類,但這似乎並沒有爲我需要什麼。
對於默認顏色,請使用類似的東西e這:
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郵件列表?我讀的一篇似乎並不是個玩笑......
感謝您的好解答。我遵循「[email protected]」這是一個非常低的體積列表,似乎並沒有核心開發人員。 – Lothar 2010-05-10 22:36:51
「gtk-app-devel」列表和「gtk-devel」列表相當活躍。 – ptomato 2010-05-11 09:21:36