From 96bbf75d78c64ec51350db752997d48dd0e47ca9 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Fri, 27 Nov 2009 11:34:59 +0000 Subject: Configure fonts through GConf (#1584) Sugar currently configures fonts through gtkrc and through the sugar.graphics.style class, both of which are hard to modify by implementors/deployers. Move this into GConf and apply these settings to the sugar shell at startup. In the longer term, Sayamindu's efforts to create a settings manager will build on this work. --- diff --git a/bin/sugar-session b/bin/sugar-session index f06479d..ef22db0 100644 --- a/bin/sugar-session +++ b/bin/sugar-session @@ -207,6 +207,13 @@ def bootstrap(): if sys.modules.has_key('xklavier'): gobject.idle_add(setup_keyboard_cb) +def set_fonts(): + client = gconf.client_get_default() + face = client.get_string('/desktop/sugar/font/default_face') + size = client.get_float('/desktop/sugar/font/default_size') + settings = gtk.settings_get_default() + settings.set_property("gtk-font-name", "%s %f" % (face, size)) + def main(): cleanup_logs() logger.start('shell') @@ -219,6 +226,8 @@ def main(): if timezone is not None and timezone: os.environ['TZ'] = timezone + set_fonts() + intro.check_profile() start_ui_service() diff --git a/data/gtkrc.em b/data/gtkrc.em index b9eeb7d..d4e1a7c 100644 --- a/data/gtkrc.em +++ b/data/gtkrc.em @@ -6,7 +6,6 @@ else: }@ gtk-theme-name = "sugar-@scaling" gtk-icon-theme-name = "sugar" -gtk-font-name = "Sans Serif 10" gtk-cursor-theme-name = "sugar" gtk-toolbar-style = GTK_TOOLBAR_ICONS gtk-icon-sizes = "@icon_sizes" diff --git a/data/sugar.schemas.in b/data/sugar.schemas.in index 8c43930..48770de 100644 --- a/data/sugar.schemas.in +++ b/data/sugar.schemas.in @@ -216,6 +216,29 @@ + + /schemas/desktop/sugar/font/default_face + /desktop/sugar/font/default_face + sugar + string + Sans Serif + + Default font face + Font face that is used throughout the desktop. + + + + /schemas/desktop/sugar/font/default_size + /desktop/sugar/font/default_size + sugar + float + 10 + + Default font size + Font size that is used throughout the desktop. + + + -- cgit v0.9.1