Line 14: |
Line 14: |
| * Targeted release: (SUGAR_VERSION) | | * Targeted release: (SUGAR_VERSION) |
| * Last updated: (DATE) | | * Last updated: (DATE) |
− | * Percentage of completion: XX% | + | * Percentage of completion: 10% |
| + | |
| + | The GConf keys have been implemented: |
| + | * During startup, sugar-session sets the default GTK+ font based on them. |
| + | * The font settings in sugar.graphics.style are now based on the same GConf keys. |
| + | * sugar.activity.activity sets the default GTK+ font based on them. |
| + | |
| + | Next steps: |
| + | * Implement an xsettings daemon (hopefully in-process). |
| + | ** This will eliminate the need to manually set GTK+ fonts in sugar-session and sugar.activity.activity, since GTK+ init routines will contact the settings daemon and learn of the settings. |
| + | ** It will also mean that activities that are not based on sugar.activity.activity have an easy way to find out the font settings, and all GTK+ apps will "just work" |
| + | * Deprecate FONT settings in sugar.graphics.style |
| + | * Add user interface |
| | | |
| == Detailed Description == | | == Detailed Description == |
Line 27: |
Line 39: |
| === Solution for distributors === | | === Solution for distributors === |
| | | |
− | Sugar will have a new gconf setting named "default_font_face" with default value "Sans" and "default_font_size" with value "10." This font would be used across the desktop in the places where the current default from the gtkrc and the value in style.py are used now (both are currently "Sans 10" as distributed). | + | Sugar will have a new gconf setting named "font/default_face" with default value "Sans Serif" and font/default_size" with value "10." This font would be used across the desktop in the places where the current default from the gtkrc and the value in style.py are used now (both are currently "Sans 10" as distributed). |
| | | |
| Distributors can then customize the font size by shipping different gconf defaults (as already happens for various other Sugar settings). | | Distributors can then customize the font size by shipping different gconf defaults (as already happens for various other Sugar settings). |
Line 56: |
Line 68: |
| ** They should assume that the DPI value is correct, so rendering at size 12 will always cause the resultant glyphs to be about 12/72" in size. | | ** They should assume that the DPI value is correct, so rendering at size 12 will always cause the resultant glyphs to be about 12/72" in size. |
| ** This may come with downsides for the activity in question -- can you be sure that size 12 looks sensible on the display it will be run on in the field? If not, then users/distributors might file bug reports or simply reject your activity. | | ** This may come with downsides for the activity in question -- can you be sure that size 12 looks sensible on the display it will be run on in the field? If not, then users/distributors might file bug reports or simply reject your activity. |
| + | * sugar.style.FONT_* should be deprecated. They are pointless, a NORMAL font should be what you get by default, and a BOLD font is just the default font with a bold weighting applied. |
| + | ** The deprecation could be done with a simple code comment for 1 release cycle, then a removal in the following one. This should be done after an effort has been made to remove all existing users. |
| | | |
| Not (unnecessarily) messing with font sizes will just become another step in "effective Sugarization" of an activity. | | Not (unnecessarily) messing with font sizes will just become another step in "effective Sugarization" of an activity. |