themix-project / oomox-gtk-theme

Oomox-gtk-theme is a fork of Numix-gtk-theme with slightly different visual design choices and more customization capabilities. It can be used in Themix/Oomox app.
https://github.com/themix-project/oomox
GNU General Public License v3.0
42 stars 8 forks source link

Second-level menu shortcut key display is too dark to see #88

Closed tkna91 closed 1 year ago

tkna91 commented 1 year ago

The shortcut keys (in this case "Space") in Audacity's submenu displays (e.g. "Transport->Playing->Play/Stop Space") are too dark to see. The non "Inverse GUI Variant" is visible.

https://user-images.githubusercontent.com/102382754/204089508-2e31a2c0-1aac-4d59-8a54-4247c3eb09cc.mp4

$ pacman -Qsq themix | xargs pacman -Q
themix-export-spotify-git 1.2.6.r1.gf47c36b-1
themix-full-git 1.15-2
themix-gui-git 1.15.r28.ga78cc920-1
themix-icons-archdroid-git 1.0.3.r0.gb90779de4-1
themix-icons-gnome-colors-git 5.5.6.r0.gd2cb7eb-2
themix-icons-numix-git 22.11.17.r1.g97e19b3d5.e6197dd14-1
themix-icons-papirus-git 20221101.r10.g6fe16ea79b-1
themix-icons-suru-plus-aspromauros-git 3.0.r0.gd43a8ec4-2
themix-icons-suru-plus-git 30.0.r2.g9bd895f32-2
themix-import-images-git 1.15.r28.ga78cc920-1
themix-plugin-base16-git 1.5.1.r8.g77f0bfa-1
themix-theme-oomox-git 1.12.3.r1.ge87724dd-1
$ pacman -Q audacity sway-im-git wlroots-git linux
audacity 1:3.2.1-2
sway-im-git r7015.94b69acf-1
wlroots-git 0.17.0.r5941.c02872e0-1
linux 6.0.9.arch1-1
$ 
actionless commented 1 year ago

nothing could be done in this situation for many reasons:

1) base16 plugin is only converting between Themix and Base16 templates

2) audacity is funny, it's drawing half of widgets HARDCODED, half from gtk (2?) theme - just forget about it ;)

3) your screenshot is broken:

2022-11-26--1669479635_668x711_scrot

tkna91 commented 1 year ago

I have uploaded the screencast to another site. https://streamable.com/ex6r22

I see, understand. Thanks for your kind response.

actionless commented 1 year ago

i checked your video, and also double-checked that audacity is using gtk3,

so the correct way to verify gtk3 theme is via gtk3-widget-factory and gtk3-demos apps:

2022-11-26-183312_1920x1080_scrot

actionless commented 1 year ago

you could also check your theme with gtk3-widget-factory app and in case if it's ok in widget factory but not in audacity - you can report the bug there

actionless commented 1 year ago

in real life situation, most probably, the only thing you could do - is creating a custom shortcut/alias for your audacity to run it with a different, than system, theme:

env GTK_THEME=my-theme-name-light audacity
tkna91 commented 1 year ago

Thanks. That idea looks quite realistic. Maybe I can use adwaita-dark with sed or something to replace the color values to match my theme.

tkna91 commented 1 year ago

The gtk3-widget-factory test pattern does not seem to have a submenu shortcut key display. I am a little surprised that the menu shortcut key display and the submenu shortcut key display are two different things.

https://streamable.com/vxq4wy

actionless commented 1 year ago

I am a little surprised that the menu shortcut key display and the submenu shortcut key display are two different things.

i've checked that theory - it's indeed true, you can see in Nemo first-level hotkeys are rendered in gray but second-level items in black: 2022-11-26-193135_1920x1080_scrot

actionless commented 1 year ago

i've moved the issue to according repository

actionless commented 1 year ago

this is quite interesting situation :)

i did some debugging: that's a bug in gtk3 itself:

when menuitem's accelerator is hovered it have such css selector:

.context-menu menuitem:hover accelerator

when it's not:

.context-menu menuitem accelerator

hovewever in 2nd-level menus accelerator element always have hover status:

.context-menu menuitem:hover accelerator


because of that accelerator (hotkey) foreground color is always same as "Selection Foreground Color", half-transparent (because that's how it should like when it is hovered by mouse cursor)

and as a side-effect of that, because of dark theme - half-transparent color became less visible

the only thing which i can fix here is change color-mixing there from half-transparent to mix of fg/bg, so in dark themes it will be a bit more contrast - because of aforementioned gtk3 bug this would be still looking incorrectly, however it will be at least readable: https://github.com/themix-project/oomox-gtk-theme/commit/5bfa8b4064f6aa2536ef117e718a8edf13886560

tkna91 commented 1 year ago

Thank you, even in Base16, I brightened the "Selected Text" and now I can see it!

https://user-images.githubusercontent.com/102382754/204122086-8f7ba844-2a5b-46c4-9c08-9d47275746eb.mp4

https://streamable.com/9pcdum (same video)

Should I ask the following upstream to solve the problem you mentioned? https://gitlab.gnome.org/GNOME/gtk/-/issues

actionless commented 1 year ago

Should I ask the following upstream to solve the problem you mentioned? https://gitlab.gnome.org/GNOME/gtk/-/issues

yes, but i don't think they gon fix it due to gtk4 development

actionless commented 1 year ago

speaking of accelerators, that reminded me a moment when i lost all human respect to people from gtk:

in gtk 3.10 they removed displaying of hotkeys on MenuItems themselves (like File, View, Edit, Help)) (mnemonics), by simply hardcoding the setting which was configurable before:

https://www.reddit.com/r/gnome/comments/2xnhg9/is_there_any_way_to_force_always_show_mnemonics/

there is no real reason behind there like high maintenance cost or anything, those sick motherfuckers just wanted to make life miserable for people by replacing one line of code from mnemonics_visible = mnemonics_visible != FALSE; to mnemonics_visible = TRUE;

such people don't deserve to be called programmists or even humans in general