GTK3: checkboxes don't have tab-traversal highlighting

Bug #1818999 reported by John Beard
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Invalid
Undecided
Unassigned

Bug Description

Under GTK+3, Checkbox labels don't have tab-traversal highlights applied (current master, d2d2101170a).

This makes it impossible to see what pressing space would achieve and you have to rely on counting the controls. For example, in the screenshot, the top checkbox is active, but there is no way to tell.

Other GTK+ 3 programs on the system do have the highlighting, even on a grey background.

wxFormBuilder for me is built with GTK+ 2, and that does show the highlights, so it's presumably a GTK+ 3 thing, and might be an upstream bug.

-----

Application: eeschema
Version: (5.1.0-rc2-39-gd2d210117), debug build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.63.0 OpenSSL/1.1.1a zlib/1.2.11 libidn2/2.1.0 libpsl/0.20.2 (+libidn2/2.1.0) libssh2/1.8.0 nghttp2/1.36.0
Platform: Linux 4.20.6-arch1-1-ARCH x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.69.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.63.0
    Compiler: GCC 8.2.1 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Tags: ui gtk3
Revision history for this message
John Beard (john-j-beard) wrote :
tags: added: ui
description: updated
tags: added: gtk3
Revision history for this message
Seth Hillbrand (sethh) wrote :

That's a theme setting (Yay, CSS!) Try high-contrast and you'll see the highlights I think.

Revision history for this message
Seth Hillbrand (sethh) wrote :

Try adding the following line to ~/.config/gtk-3.0/gtk.css

* { outline-color: currentColor; outline-style: dashed; outline-offset: -2px; outline-width: 1px; -gtk-outline-radius: 2px; }

Revision history for this message
John Beard (john-j-beard) wrote :

@Seth: Hmm that's right!

Any idea why I see it in, say, moserial, which is also a GTK+ 3 program, without adding to the theme?

Revision history for this message
John Beard (john-j-beard) wrote :

Seems that the focus highlight/outline doesn't screenshot!

Revision history for this message
Seth Hillbrand (sethh) wrote :

Hmm... That I couldn't tell you as I'm not sure what the Vala compiler outputs. But it could be enforcing a CSS of its own since it has access to the GTK hooks.

To screenshot the highlight, you'll probably need to maintain focus on the control. Timer+full window works for me.

I think we close this one as Invalid b/c it's a user preference outside of KiCad. Unless you can think of a way to force this.

Revision history for this message
John Beard (john-j-beard) wrote :

Interestingly, though setting that CSS does work, using any system theme does not (including HighContrast).

Revision history for this message
John Beard (john-j-beard) wrote :

@Seth, it might be a config issue, though it seems odd all other GTK 3 programs (also transmission and Geany) do this correctly, and they are not Vala programs.

Revision history for this message
Seth Hillbrand (sethh) wrote :

Neither transmission nor geany show highlights for me (using Adwaita). Can't see an easy way to install moserial.

Revision history for this message
John Beard (john-j-beard) wrote :

@seth: Note: they only show highlights on tab traversal. Click focussing doesn't do it. Are you only clicking or tabbing?

Revision history for this message
Seth Hillbrand (sethh) wrote :

Tabs. Same as KiCad. Works with the css addition and with High Contrast, doesn't work without.

Revision history for this message
John Beard (john-j-beard) wrote :

Bizarre, I can only assume it's a config thing or maybe a WX thing.

Revision history for this message
John Beard (john-j-beard) wrote :

Ok, so I reproduced it with a simple WX program. Looks like it's a WX thing, so there's not much to do here. Thanks for checking on your system @Seth!

Upstream bug report: https://trac.wxwidgets.org/ticket/18353

Changed in kicad:
status: New → Invalid
Revision history for this message
John Beard (john-j-beard) wrote :

Resolved upstream. The issue is the clipping of the widgets. It can be fixed with only this custom gtk.css (and should be in WX 3.2 when it's released):

* { outline-offset: -1px; }

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.