Insensitive (disabled) toolbar icons in GTK3 are not dimmed

Bug #1578810 reported by Marc-Andre Laperle
96
This bug affects 19 people
Affects Status Importance Assigned to Milestone
Ubuntu theme
Fix Released
Undecided
Martin Wimpress 
Wireshark
Invalid
Undecided
Unassigned
remmina
Invalid
Undecided
Unassigned
ubuntu-themes (Ubuntu)
Fix Released
Medium
Martin Wimpress 
Nominated for Yakkety by Martin Wimpress 
Xenial
Fix Released
Undecided
Unassigned
Yakkety
Fix Released
Undecided
Unassigned

Bug Description

[ Impact ]

Disabled (GTK 3.20) and Insensitive (GTK <= 3.18) icons are not dimmed, therefore there is no visual indication that an icon in the toolbar is inactionable.

[ Test Case ]

This issue can be observed in Xenial and Yakkety.

Install `gtk-3-examples` and run `gtk3-widget-factory`, look at the toolbar on Page 2, the last icon (tooltip 'Insert something') is disabled/insensitive and should be dimmed, but is not.

After applying the relevant merge proposal (see below), the disabled/insensitive icon in the toolbar on Page 2 of gtk3-widgets-factory will now be dimmed.

[ Regression Potential ]

None.

[ Other Info ]

This issue can also be reproduced on Xenial and Yakkety using:

  * Remmina (from the archive)
  * Wireshark (from the archive)
  * Eclipse (downloaded)

To reproduce with Eclipse, Eclipse has to be downloaded since the version in the archive uses GTK2+ for styling, and dims insensitive icons correctly.

  * Download a recent Eclipse https://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops4/R-4.5.2-201602121500/eclipse-SDK-4.5.2-linux-gtk-x86_64.tar.gz
  * Extract and execute the "eclipse" executable
  * In the toolbar, several icons look enabled even though they are not. For example the Save icon (Floppy).

Related branches

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :
Revision history for this message
Marc-Andre Laperle (malaperle) wrote :
Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

I have bisected the GTK code to find what commit introduced the change in behavior:

commit 99c4f2dd3947c290e3ea19153202be3e43b22add
Date: Wed Mar 18 15:22:09 2015 +0100

    render: Make image effect not depend on state

    Instead rely on -gtk-image-effect only. Adwaita should already work this
    way.

    Relying on state was a leftover feature from the GTK 2 days.

Since this change, it is required to use "-gtk-image-effect: dim;" for insensitive elements. Also, in GTK 3.20+, the attribute was renamed to "-gtk-icon-effect", see https://mail.gnome.org/archives/commits-list/2015-December/msg00151.html

So I suggest to add both gtk-image-effect and gtk-icon-effect to fix the issue in 16.04 (GTK 3.18) and for 16.10 (GTK 3.20?). I will post a patch to achieve that.

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :
Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

Actually, gtk-icon-effect shouldn't be used until GTK 3.20 otherwise it spews a warning.

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

I pushed a branch with the required theme changes but I'm not sure I made all the necessary debian package changes (changelog, etc?). Please let me know if I can do anything else to help.

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

Can someone help getting this fix in? This is a big usability issue for a lot of Eclipse users because it looks like all the buttons can be pressed at all time.

Revision history for this message
Frederik Leonhardt (frederikl) wrote :

Hi Marc-Andre, I was running into the same problem on Ubuntu 16.04.1 with Eclipse Neon (4.6.0).
Your fix works fine for me, thank you.

Revision history for this message
Andrea Del Bene (an-delbene) wrote :

Thank you for the patch! Please Canonical integrate it ASAP :-(

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

The problem can also be seen in Remmina remote desktop and this patch fixes the problem there too.

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

In the screen shot I just attached, the Copy, Edit and Delete buttons should be dimmed because nothing is selected but instead they always look "enabled" and bright.

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

Same bug in Wireshark-gtk. The toolbar should have the "Stop live session" button dimmed but it looks enabled. This patch also fixes this problem.

summary: - Insensitive (disabled) toolbar icons in Eclipse are not dimmed
+ Insensitive (disabled) toolbar icons in GTK3 are not dimmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. What GTK version do you use on xenial? I can't confirm the issue here on an updatode xenial installation... (the patch still should be reviewed and probably makes sense, just trying to understand why the issue is not consistent, do you use a ppa with a newer gtk or something?)

Will Cooke (willcooke)
Changed in ubuntu-themes:
assignee: nobody → Martin Wimpress (flexiondotorg)
Revision history for this message
Mikaël Barbero (mikael.barbero) wrote :

I can reproduce the issue with an updated xenial (save button not disabled when running Eclipse). Here are my gtk versions:

libgtk2.0-0:
  Installé : 2.24.30-1ubuntu1
  Candidat : 2.24.30-1ubuntu1
 Table de version :
 *** 2.24.30-1ubuntu1 500
        500 http://fr.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
libgtk-3-0:
  Installé : 3.18.9-1ubuntu3.1
  Candidat : 3.18.9-1ubuntu3.1
 Table de version :
 *** 3.18.9-1ubuntu3.1 500
        500 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     3.18.9-1ubuntu3 500
        500 http://fr.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Changed in ubuntu-themes (Ubuntu):
assignee: nobody → Martin Wimpress (flexiondotorg)
importance: Undecided → Medium
status: New → In Progress
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :

This issue can be observed in Xenial and Yakkety.

Install `gtk-3-examples` and run `gtk3-widget-factory`, look at the toolbar on Page 2, the last icon (tooltip 'Insert something') is disabled and should be dimmed, but is not.

I have also reproduced this issue on Xenial and Yakkety using:

  * Remmina (from the archive)
  * Wireshark (from the archive)
  * Eclipse (downloaded)

To reproduce with eclipse it has to be downloaded since the version in the archive uses GTK2+ for styling, and dims insensitive icons correctly.

Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :
Revision history for this message
Martin Wimpress  (flexiondotorg) wrote :
description: updated
Changed in remmina:
status: New → Invalid
Changed in wireshark:
status: New → Invalid
Changed in ubuntu-themes:
status: New → In Progress
Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

I tested the proposed fix for Yakkety and it also works well, thanks!

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

Ping? :)

Revision history for this message
Iain Lane (laney) wrote :

No need to ping - I was just away last week. The packages are building now and I will upload when that is done.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-themes - 16.10+17.04.20161024-0ubuntu1

---------------
ubuntu-themes (16.10+17.04.20161024-0ubuntu1) zesty; urgency=medium

  [ Martin Wimpress ]
  * Dim images of insensitive widgets. Thanks to Marc-Andre Laperle.
    (LP: #1578810)

 -- <email address hidden> (<email address hidden>) Mon, 24 Oct 2016 13:03:20 +0000

Changed in ubuntu-themes (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Marc-Andre, or anyone else affected,

Accepted ubuntu-themes into yakkety-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-themes/16.10+16.10.20161024-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ubuntu-themes (Ubuntu Yakkety):
status: New → Fix Committed
tags: added: verification-needed
Changed in ubuntu-themes (Ubuntu Xenial):
status: New → Fix Committed
Revision history for this message
Brian Murray (brian-murray) wrote :

Hello Marc-Andre, or anyone else affected,

Accepted ubuntu-themes into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-themes/14.04+16.04.20161024-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

I have verified both 16.10+16.10.20161024-0ubuntu1 on yakkety and 14.04+16.04.20161024-0ubuntu1 on xenial. It worked properly.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-themes - 14.04+16.04.20161024-0ubuntu1

---------------
ubuntu-themes (14.04+16.04.20161024-0ubuntu1) xenial; urgency=medium

  [ Iain Lane ]
  * Dim images of insensitive widgets. Thanks Marc-Andre Laperle. (LP:
    #1578810)

 -- <email address hidden> (<email address hidden>) Mon, 24 Oct 2016 16:25:22 +0000

Changed in ubuntu-themes (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for ubuntu-themes has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-themes - 16.10+16.10.20161024-0ubuntu1

---------------
ubuntu-themes (16.10+16.10.20161024-0ubuntu1) yakkety; urgency=medium

  [ Martin Wimpress ]
  * Dim images of insensitive widgets. Thanks to Marc-Andre Laperle.
    (LP: #1578810)

 -- <email address hidden> (<email address hidden>) Mon, 24 Oct 2016 13:03:52 +0000

Changed in ubuntu-themes (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Revision history for this message
Marc-Andre Laperle (malaperle) wrote :

Thanks a lot everyone for making this fix happen! :)

Changed in ubuntu-themes:
status: In Progress → 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.