FedoraQt / QAdwaitaDecorations

Qt decoration plugin implementing Adwaita-like client-side decorations
GNU Lesser General Public License v2.1
72 stars 8 forks source link

Clicking and dragging off of the top buttons activates the double-click maximize toggle #58

Closed TheBoctor closed 6 months ago

TheBoctor commented 6 months ago

While testing, I found that the behavior for holding the mouse button over a headerbar button and dragging is different than with the default/upstream Qt CSD, as well as the Libadwaita/legacy Mutter behavior.

In GNOME apps: If you click and hold a top bar button, then begin dragging with the mouse button held down, it will only activate if you release the mouse button with the cursor position still inside the same bounding box. If, instead, the cursor leaves the area and lands on the background of the headerbar, and the mouse button is still down, this initiates a drag of the whole window.

In Qt apps with the built-in client decorations: Top buttons will only activate if you release the mouse button over the same element you pressed it over. Leaving the area does not initiate a drag, so it is possible to move the cursor back over an element to continue activating it. Essentially, the default behavior of a QtWidgets button.

With QAdwaitaDecorations: Clicking and trying to "drag" a headerbar button as before seems to repeatedly pass the doubleClickButton checks, causing the window to rapidly maximize and restore.