diff options
author | Daniel Drake <dsd@laptop.org> | 2009-11-27 11:34:59 (GMT) |
---|---|---|
committer | Daniel Drake <dsd@laptop.org> | 2009-12-01 16:48:55 (GMT) |
commit | 96bbf75d78c64ec51350db752997d48dd0e47ca9 (patch) | |
tree | a66d1f1ab703fc4259e9d2553b1a382d0d42aea3 | |
parent | 225476d024c6c0d3403855f319cf2d969af372c9 (diff) |
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.
-rw-r--r-- | bin/sugar-session | 9 | ||||
-rw-r--r-- | data/gtkrc.em | 1 | ||||
-rw-r--r-- | data/sugar.schemas.in | 23 |
3 files changed, 32 insertions, 1 deletions
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 @@ </locale> </schema> + <schema> + <key>/schemas/desktop/sugar/font/default_face</key> + <applyto>/desktop/sugar/font/default_face</applyto> + <owner>sugar</owner> + <type>string</type> + <default>Sans Serif</default> + <locale name="C"> + <short>Default font face</short> + <long>Font face that is used throughout the desktop.</long> + </locale> + </schema> + <schema> + <key>/schemas/desktop/sugar/font/default_size</key> + <applyto>/desktop/sugar/font/default_size</applyto> + <owner>sugar</owner> + <type>float</type> + <default>10</default> + <locale name="C"> + <short>Default font size</short> + <long>Font size that is used throughout the desktop.</long> + </locale> + </schema> + </schemalist> </gconfschemafile> |