Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2009-11-27 11:34:59 (GMT)
committer Daniel Drake <dsd@laptop.org>2009-12-01 16:48:55 (GMT)
commit96bbf75d78c64ec51350db752997d48dd0e47ca9 (patch)
treea66d1f1ab703fc4259e9d2553b1a382d0d42aea3
parent225476d024c6c0d3403855f319cf2d969af372c9 (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-session9
-rw-r--r--data/gtkrc.em1
-rw-r--r--data/sugar.schemas.in23
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>