xsettings added back to moblin applets

Bug #209870 reported by Kyle Nitzsche
8
Affects Status Importance Assigned to Milestone
Moblin Applets
Fix Released
Low
ToddBrandt
libmatchbox (Debian)
Fix Released
Unknown
libmatchbox (Ubuntu)
Fix Released
Undecided
Unassigned
matchbox-window-manager (Debian)
Fix Released
Unknown
matchbox-window-manager (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Tracker bug for adding xsettings to moblin-settings-daemon in moblin-applets, as discussed in a few weekly IRC meetings.

This is probably needed to enable dynamically changing the gtk theme from gconf, as is done in Desktop.

Jing Wang (jing-j-wang)
Changed in moblin-applets:
assignee: nobody → toddbrandt
assignee: toddbrandt → todd-e-brandt
Jing Wang (jing-j-wang)
Changed in moblin-applets:
importance: Undecided → Low
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

I would like to request that the importance of this bug be changed to critical. Action items to implement this feature have been assigned for weeks in the weekly ubuntu mobile irc meeting. It is a gating function for dynamic gtkrc theme switching, and we need to have this working soon so that we can do subsequent development for a client. Thank you.

Changed in acton:
importance: Undecided → Critical
milestone: none → beta1
Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

Kyle, I have those settings added back in but since we only have one theme it's difficult to test. Is there some sort of theme stress test you could send me to let me verify?

Changed in moblin-applets:
status: New → Confirmed
Changed in acton:
assignee: nobody → todd-e-brandt
status: New → Confirmed
assignee: todd-e-brandt → nobody
Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

Todd,

In Desktop, the current gtk theme exists as the following gconf key: /desktop/gnome/interface/gtk_theme

Its value is the name of a theme directory here: /user/share/themes/<themeDir>

The default theme in mobile is "mobilebasic", which corresponds to this dir: /usr/share/themes/mobilebasic

In Desktop, if you manually reset the gconf key to an existing theme directory, the gtk rc files in it are automatically reloaded and gtk widgets and applications redraw accordingly.

The goal is identical behavior in mobile.

To test whether the changes you made enable such behavior, do the following in mobile:

 * copy recursively /usr/share/themes/mobilebasic to /usr/share/themes/testtheme

 * edit /usr/share/themes/testtheme/gtk-2.0/gtkrc

 * change this:
style "osso-color-themeing" = "osso-logical-colors" {
  fg[NORMAL] = @DefaultTextColor

 * to this:
style "osso-color-themeing" = "osso-logical-colors" {
  fg[NORMAL] = "#ff1000"

The result of this is that (some) widget foreground text is red. For example, launch date and time settings from the marquee and month and year are red. Also, the "Starting <app>" pop-up has red text.

So, with in a running target, modify the controlling gconf key (/desktop/gnome/interface/gtk_theme) to be "mobilebasic" (instead of its default value of "Human")

The test succeeds if gtk fonts (at least in cases described above) become red dynamically.

cheers.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

One correction:
I said to test, modify the gconf key to be "mobilebasic". I meant modify it to be "testtheme", the theme in which you made the gtkrc file edit that turns fonts red.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

We also need matchbox-window-manager compiled with xsettings support as a critical piece required for dynamic gtk theme switching.

Revision history for this message
Loïc Minier (lool) wrote :

m-w-m inherits xsettings support from libmatchbox (but needs a rebuild).

Revision history for this message
Loïc Minier (lool) wrote :

It seems matchbox xsettings support is actually mostly unrelated; it's useful to have it, but not required. It will listen to these settings:
    { "Net/ThemeName", XSET_THEME },
    { "MATCHBOX/THEME", XSET_THEME },
    { "MATCHBOX/CURSOR", XSET_CURSOR },
    { "MATCHBOX/TITLEBARS", XSET_TITLEBARS }, /* XXX Not implemeted */
    { "MATCHBOX/COMPOSITE", XSET_COMPOSITE },
    { "Gtk/CursorThemeName", XSET_CURSOR_THEME_NAME },
    { "Gtk/CursorThemeSize", XSET_CURSOR_THEME_SIZE },

The first one is likely interesting and the last two perhaps to some extent; we probably don't need the other ones.

Anyway, this shouldn't prevent switching themes for all practical purposes, it will just get us a nicer mwm.

Revision history for this message
Kyle Nitzsche (knitzsche) wrote :

xsettings settings is confirmed added back to moblin-applets 0.55jax1.

Happy to say that modifying /desktop/gnome/interface/gtk_theme gconf key manually to another valid gtk theme dir now causes auto-propagation of new gtkrc info to all gtk apps, which redraw themselves accordingly. (Note: this does not work reliably in xephyr+target.)

Revision history for this message
Tony Espy (awe) wrote :

Kyle confirmed in the previous comment that this was fixed in moblin-applets_0.55jax1. The fix was actually was made in version 0.55 which we modify ( hence the jax1 ). The version in our repos now is 0.55jax2.

As per yesterday's triage meeting, I'm marking this "fix committed".

Changed in acton:
status: Confirmed → Fix Committed
Revision history for this message
ToddBrandt (todd-e-brandt) wrote :

Changed in moblin applets to fix committed

Changed in moblin-applets:
status: Confirmed → Fix Committed
Changed in libmatchbox:
status: Unknown → New
Changed in matchbox-window-manager:
status: Unknown → New
Revision history for this message
cathyli (cathy-li) wrote :

Verified in latest moblin-applets, the issue is fixed, close it.

Changed in moblin-applets:
status: Fix Committed → Fix Released
Revision history for this message
elvafu (elva-fu) wrote :

assigned to m11

Changed in moblin-applets:
milestone: none → m11
Steve Magoun (smagoun)
Changed in acton:
status: Fix Committed → Fix Released
Changed in libmatchbox:
status: New → Fix Released
Changed in matchbox-window-manager:
status: New → Fix Released
Revision history for this message
Emmet Hikory (persia) wrote :

Fixed in matchbox-window-manager as of 1.2-2

Changed in matchbox-window-manager:
status: New → Fix Released
Revision history for this message
Emmet Hikory (persia) wrote :

FIxed in libmatchbox as of 1.9-4

Changed in libmatchbox:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.