marquee panels do not change with gtk theme

Bug #225235 reported by Kyle Nitzsche
8
Affects Status Importance Assigned to Milestone
Moblin UI Framework
Fix Released
High
Bob Spencer

Bug Description

All gtk modules should redraw themselves at run time when a new gtk theme is selected. (No restart required.) Marquee panels do not, even though they get their images from the theme directory (for example: /usr/share/themes/mobilebasic/ ).

Gtk theme changes are made by setting the following gconf key to the name of a theme directory: /desktop/gnome/interface/gtk_theme . For example, this could be set to "mobilebasic" or any other valid theme directory in that location/

When that key changes, the change is propagated to xsettings and, through this, all gtk apps are notified of the new theme, and they immediately redraw themselves. Gtk applications launched later launch using the new theme. This now works for all gtk applications except for marquee panels. They do no redraw on theme change.

Marquee panels should redraw dynamically at run time when informed through the mechanism described above that the theme has changed.

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

Required for acton PRD commitment..

Changed in acton:
importance: Undecided → Medium
status: New → Triaged
Revision history for this message
Tony Espy (awe) wrote :

Changed priority per Compal's request.

Changed in acton:
importance: Medium → High
cathyli (cathy-li)
Changed in moblin-ui-framework:
assignee: nobody → horace-li
Jing Wang (jing-j-wang)
Changed in moblin-ui-framework:
importance: Undecided → Medium
Horace (horace-li)
Changed in moblin-ui-framework:
status: New → Triaged
Revision history for this message
Bill Filler (bfiller) wrote :

the priority of this needs to be moved to Critical per Customer's request. We have a deliverable that needs this fix done before 05.14.08. Please let us know if this can be accomplished.

Changed in acton:
assignee: nobody → kylenitz
importance: High → Critical
milestone: none → beta2
status: Triaged → In Progress
Changed in moblin-ui-framework:
assignee: horace-li → bob-spencer
milestone: none → m11
Revision history for this message
May Xie (may-xie) wrote :

Change it to high.

Changed in moblin-ui-framework:
importance: Medium → High
Revision history for this message
Horace (horace-li) wrote :

Hi, All,

Sorry for the late reply, I was working on the fix these days to support dynamic theme update.

Hildon desktop apply theme that is exported to environment variable GTK2_RC_FILES, and will not get updated once it is launched up. I am still finding out the root cause but it seems that desktop theme could be dynamically updated according to gconf key (/desktop/gnome/interface/gtk_theme), as long as no GTK2_RC_FILES is set in a solid way.

I am working out a patch now to hildon-desktop, mainly to remove its gtkrc parse code and apply theme according to what is set currently in /desktop/gnome/interface/gtk_theme, as well as monitoring the key changes and update the theme whenever there is a new theme set. Besides, hildon-theme-mobile-basic need some updates too so as to get marquee plugins look properly.

Any comments are welcome.

Thanks,
Horace

Revision history for this message
Horace (horace-li) wrote :

Hi, All,

Attached is a patch to hildon-desktop 2.0.11, to support marquee panel theme update at runtime. The patch will read what is set in gconf key /desktop/gnome/interface/gtk_theme, apply the theme and then monitor any changes of /desktop/gnome/interface/gtk_theme at runtime.

Meanwhile, I updated hildon-theme-mobile-basic in hardy PPA to support theme update, moving MID theme settings from gtkrc.maemo-af-desktop to gtkrc, since gnome-xsettings-daemon will not recognize gtkrc.maemo-af-desktop.

To get marquee panel change theme, you need also remove default GTK2_RC_FILES setting in /etc/X11/Xsession.d/25ume-config-common_startup.

Any questions, please feel free to let me know.

Thanks,
Horace

Revision history for this message
Horace (horace-li) wrote :

Some of status bar plugins still have theme update problem, which is described in another bug: https://bugs.launchpad.net/moblin-ui-framework/+bug/225238

Revision history for this message
Bob Spencer (bob-spencer) wrote :

Changes made:
 hildon-desktop (main change from Horace): Not hard-coded theme. Will listen for changes and auto-update marquee and statusbar icons
 moblin-applet: Sets default gtk_theme = "mobilebasic" and icon_theme="gnome" These were previously set to non-existent "Human" theme.
 mobilebasic theme: Moved maemo_af_desktop contents into gtkrc. Theme only knows about gtkrc.
 ume-config-common: Remove hard-coding of GTK2_RC_FILES=mobilebasic theme
 midbrowser changes: Nothing, but with above changes, the icons are now correctly pulled from "gnome" icon set and look much cleaner (and also bluer). Previously they were 24pixel icons that were getting stretched. They are now true 48pixel icons.

Changed in moblin-ui-framework:
status: Triaged → Fix Committed
Revision history for this message
yanglei (lei-a-yang) wrote :

verified on the image 20080528

Changed in moblin-ui-framework:
status: Fix Committed → Fix Released
Revision history for this message
Bill Filler (bfiller) wrote :

I've grabbed the latest out of the PPA and it works much better. But there are still a few problems. Looks like the statusbar background and all of the statusbar plugin now update correctly on a theme change. But the clock, x, and drop-down menu are not updating on theme change. They maintain the background image of the old theme. Do you need to make the same changes to tasknavigator-item as you did for statusbar-item and hildon-desktop-panel-exapandable?

Tony Espy (awe)
Changed in acton:
importance: Critical → Medium
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.