Howto disable gecko's GTK themeing?

21 views
Skip to first unread message

Clemens Eisserer

unread,
May 3, 2010, 4:45:32 PM5/3/10
to dev-per...@lists.mozilla.org
Hi,

Because of GTK's inability to act as a theme provider for applications
which require transparency information,
gecko does ugly hacks, which cause a lot of context switches and GPU stalls.
On sites with many GTK themed elements (buttons, input fields,
scrollbars), I get a noticeable hit in painting performance.

Is there a way to disable gecko's GTK themeing, and instead let it
paint something plain & simple?

Thank you in advance, Clemens

L. David Baron

unread,
May 3, 2010, 5:08:07 PM5/3/10
to Clemens Eisserer, dev-per...@lists.mozilla.org

I thought we had a hidden pref for this, but I can't seem to find
one.

If, in fact, we don't have one, then it could be disabled with a
relatively simple extension: one that provides the contract
"@mozilla.org/chrome/chrome-native-theme;1". (All you'd need to do
is make an implementation that doesn't QueryInterface to nsITheme.)

-David

--
L. David Baron http://dbaron.org/
Mozilla Corporation http://www.mozilla.com/

L. David Baron

unread,
May 3, 2010, 5:10:53 PM5/3/10
to Clemens Eisserer, dev-per...@lists.mozilla.org
On Monday 2010-05-03 14:08 -0700, L. David Baron wrote:
> On Monday 2010-05-03 22:45 +0200, Clemens Eisserer wrote:
> > Because of GTK's inability to act as a theme provider for applications
> > which require transparency information,
> > gecko does ugly hacks, which cause a lot of context switches and GPU stalls.
> > On sites with many GTK themed elements (buttons, input fields,
> > scrollbars), I get a noticeable hit in painting performance.
> >
> > Is there a way to disable gecko's GTK themeing, and instead let it
> > paint something plain & simple?
>
> I thought we had a hidden pref for this, but I can't seem to find
> one.

Er, sorry, we do have a pref. So either go to about:config and
create a new boolean pref with the name
"mozilla.widget.disable-native-theme" and value true (and then
restart Firefox), or add (while Firefox is not running) the line:

user_pref("mozilla.widget.disable-native-theme", true);

to the prefs.js in your profile

Clemens Eisserer

unread,
May 4, 2010, 3:48:05 AM5/4/10
to dev-per...@lists.mozilla.org
Hi David,

> Er, sorry, we do have a pref.  So either go to about:config and
> create a new boolean pref with the name
> "mozilla.widget.disable-native-theme" and value true (and then

Wonderful, thanks a lot :)
I never thought that it would make such a difference, I now can even
scroll through my gmail-inbox in "real-time".

However although all websites/dialogs look fine, firefox' main window
is quite broken without native theming.
Should I file a bug about this?

Thanks again, Clemens

Boris Zbarsky

unread,
May 4, 2010, 2:37:50 PM5/4/10
to
On 5/4/10 3:48 AM, Clemens Eisserer wrote:
> Should I file a bug about this?

Please, yes.

-Boris

Clemens Eisserer

unread,
May 5, 2010, 6:44:15 PM5/5/10
to dev-per...@lists.mozilla.org
>> Should I file a bug about this?
>
> Please, yes.

Ok, thanks a lot - already filed:
https://bugzilla.mozilla.org/show_bug.cgi?id=563886

Thanks again, Clemens

NASH23ALLISON

unread,
Jul 4, 2011, 4:32:48 PM7/4/11
to
freelance writer


JacquelinePOWERS

unread,
Jul 20, 2011, 2:54:13 AM7/20/11
to
freelance writer


Reply all
Reply to author
Forward
0 new messages