Skip to content

Fixed menu item padding in line with regular KDE theme (2)

Twoj Stary requested to merge twojstaryzdomu/breeze-gtk:master into master

Reopening as my earlier MR was abruptly closed by @cblack (with a possible conflict of interest from her prior response) without allowing a response to @agrinev's points

What do you mean? @ngraham is one of the project's maintainers.

I posted a response to you when he's closed it. I find this sort of treatment arrogant and dismissive. It isn't particularly inclusive of the input of others who are clearly more technically inclined than offerring a mere bug report.

This MR doesn't affect menubars for me, only produces too narrow regular menu items.

This code reverses the wide horizontal menubar effect as seen in the screen clips posted directly below your post (Why am I unable to link to own post?).

The narrower menu items from the post are a result of the fix from the MR. Can you perhaps post how your menu items turn out?

Which app you plan to fix with this change?

No particular app. This problem affects a whole host of apps with many items horizontal menu headers. You can easily replicate the problem by shrinking an application's width though.

Take a popular app like Thunderbird (note it's only an example, vertical menu header item padding affects all GTK3 apps indiscriminately). Without the padding, the app can be made smaller WITHOUT affecting the menus item that are immediately visible:

Screenshot_20220527_095613

With the horizontal menu item padding to each menu item, two items are already lost at the same app width:

Screenshot_20220527_095729

As evidence this is the only change in the resulting gtk.css

# diff -y --suppress-common-lines gtk.css.orig gtk.css.new
    padding: 3px 8px;                                         |     padding: 0px 0px;

The app width needs to remain significantly larger to keep all menu header items viewable. That could be a problem at a user selected resolution (doesn't have to be widescreen 1K; please consider visually impaired).

My thinking is header menu bars shouldn't become hidden because of padding of individual items. This isn't good UI design. There isn't even a widget here that would indicate menu header items beyond the current width of the app. If padding must exist, it should be adaptive or at the very least user-adjustable somewhere easily available (at any rate not by modifying hard coded values in gtk.css). Say the padding shrinks with the size of the app. That could work.

The padding is based on a (false) premise that apps need to be expanded or viewed full screen. Not true. Apps can be both, of varied window size. The padding leads to menu items not rendered properly unless the application is at a minimal width that renders the menu header including the padding. Without the padding on, an app can be made smaller, without affecting menus, before horizontal menu items are rendered off window.

Again, please re-consider this MR and the horizontal menu header item padding exacerbating user experience for:

  1. Users with smaller displays.
  2. Users who are visually impaired.
  3. Users accustomed to a particular menu style that went with the theme originally.
  4. Applications with a long list of items in horizontal menu headers that may not render within a typical screen.
  5. Users and developers that tuned their app's visual standards to a particular style, only to find it worsened as a result of style major changes that implemented vertical menu header item padding. Maintaining an already established theme in its userbase isn't about moving goal posts!
Edited by Twoj Stary

Merge request reports