UX - Activating title buttons by moving cursor to corner on maximized windows is inconsistent

As described here, it is a better user experience to be able to put a cursor in the corner to activate a corner button rather than precisely aim the cursor on a small, corner offset button.

This functionality appears to be inconsistent across programs.

It does not work in Document viewer, gedit, (most programs and most system utilities)

document-viewer gedit system-monitor

It works correctly in Gnome Terminal, Audacity, Sublime Text, Krusader…

terminal audacity-pointer sublime krusader

Is there a way for me to make this consistent across all maximized windows? Should I submit this as a bug report/feature request?

Are you using Zorin Core or Zorin Lite?

Whether or not you are using Zorin Lite or Zorin Core is important to answering your question. If you are using Zorin Core… Well, you can ignore this entire post, but it would mean something Oddball is going on with your system.
If you are using Zorin Lite, then I can answer why it is inconsistent, explain it is not a bug (not really) and also give a suggestion on how to fix it and bring consistency to your Desktop.
So, the following Only Applies if you are using Zorin Lite.

While Zorin Core uses Gnome Desktop Environment, Zorin Lite uses XFCE.
Gnome, in its rather self-centrist wisdom, adopted CSD’s, or Client Side Decorations. Essentially, this means that rather than the Gnome Window manager handling the window borders, titlebars, headerbars and Titlebuttons, they dumped it off on all other developers to deal with that. This reduced the amount of coding that goes into Gnome D.E. (While increasing the workload of Everyone Else.)
All apps developed For Gnome use CSD’s.

XFCE4 currently does not use CSD. So all XFCE apps (as well as many others) rely on the Window Manager for borders and titlebuttons. In XFCE4, it is XFWM4 that handles all of that (This is soon changing as XFCE developers decided to tell us what we want and that we are going to like it; and have developed the upcoming XFCE 4.16 to be a Gnome-Clone with CSD). As it is now, XFCE 4.14 is SSD, not CSD.
So… It is inconsistent because all the native apps use the proper Window Borders and the Gnome apps use the CSD. This is not a bug, nor anything to do with Zorin (Or Manjaro or MXlinux or any other distro using XFCE) but really just boils down to Gnome’s selfishness and throwing all app developers under the bus.

THE FIX:
The way to create consistency and to get rid of CSD’s is to force the system to use the XFWM4 window manager on ALL apps (By… breaking Gnomes CSD engine…)
PCman developed a great product to do this, which I use on every single installation:

sudo apt-get install gtk3-nocsd

Gtk3 -No-CSD is a rebuild of gtk-mushrooms. All you need to do is install it with the command above, then reboot. Be warned: it does NOT effect apps that you directly open AS Root. For example, let’s say you elevate your File Manager to Root, then navigate to /etc/environment and open it in Gedit- then the CSD window will open. (My own fix for that is- I do nto use gedit. It is clunky and not user friendly, anyway. Pluma is Much better. If you are using Zorin Lite, then you should have Mousepad for XFCE4 installed, or you can install it with

sudo apt-get install mousepad

which is a good and very user friendly alternative, as well. )

But under normal usage and operation, it works perfectly.

2 Likes

Thank you for the detailed explanation! I use Zorin Core.

So it is up to the developers of each individual program to get it right? It’s weird to me that most gnome built in programs get it wrong but the programs I installed myself work the way I would expect. I would think it should be the other way around.

Well… “getting it right/wrong” is subjective.
As you are using Gnome Desktop, what I said above does not quite apply in the same way. All your apps are CSD.
So, the next thing to look at is going to be the .css margins and headerbar or titlebutton padding. It may be that the Gnome Apps are allowing more space around the titlebutton, meaning that when you move the mouse cursor beyond that space, then it extends past the Button.
Fortunately, you do not need to access any system theme files to test it. You can use
~/.config/gtk-3.0/gtk.css

If there is no gtk.css file in that directory, you can just create it.

I do not use Gnome and I do not know the exact padding for the theme you are using for CSD and SSD titlebuttons; You may need to play around with it a bit. Looking at your screenshots above:

.titlebar:not(headerbar), headerbar {
padding: 0px 6px;
min-height: 46px;}

.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton {
min-height: 26px;
min-width: 26px;
margin: 0;
padding: 0; }

You can paste in the above, then try changing the values and observe the effect after logging out and in to enact the changes. Try changing “min height” of the headerbar to 40px for example. Or button padding to 4px.
For example:

.titlebar:not(headerbar), headerbar {
padding: 0px 6px;
min-height: 40px;}

.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton {
min-height: 26px;
min-width: 26px;
margin: 0px;
padding: 4px; }