2010-05-10 84 views
2

可以說我想寫一個特殊的文本編輯器小部件。如何訪問GTK/Gnome上的主題字體和顏色

如何獲取文本的默認主題顏色, 選定的文本和背景以及哪些是用戶默認的 字體?

我看到GNOME確實定義5種特殊的系統字體和默認大小 爲此,在GNOME外觀配置對話框, 但我還沒有找到GTK文檔中的一個字如何 訪問他們(和GTK郵件列表是一個笑話:-()。

Windows和可可既給我幾十個系統的值。

我發現的GtkStyle類,但這似乎並沒有爲我需要什麼。

回答

5

對於默認顏色,請使用類似的東西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郵件列表?我讀的一篇似乎並不是個玩笑......

+0

感謝您的好解答。我遵循「[email protected]」這是一個非常低的體積列表,似乎並沒有核心開發人員。 – Lothar 2010-05-10 22:36:51

+1

「gtk-app-devel」列表和「gtk-devel」列表相當活躍。 – ptomato 2010-05-11 09:21:36

相關問題