Client Side Decoration Improvements Land In GTK+

Written by Michael Larabel in GNOME on 13 January 2014 at 06:30 AM EST. 6 Comments
GNOME
Matthias Clasen landed a few client-side decoration improvements on Sunday night for the GTK tool-kit.

Client-Side Decorations (CSD) are used by the GTK tool-kit on Wayland and optionally under X11 environments.

The first interesting commit by Red Hat's Matthias Clasen on Sunday was redoing how window dragging his handled with CSD. "The window-dragging code had a number of issues: The code was starting a drag on every button press, never bothering to cancel them. This leads to the odd hand cursor occurring between the two clicks to maximize. We relied on GDK's multi-click detection, which gives us triple-clicks when we really want sequences of double-clicks. Lastly, we didn't propery restrict double-click handling to the primary button, so e.g. if you had a window on an empty workspace, double-right click on the titlebar would maximize it, which is not intended. This commit solves all three problem by a doing our own double-click detection, and only starting a drag when the pointer goes out of 'double-click range'. We change the way dragging is implemented for menubars and toolbars to just letting events bubble up, so they get the same behaviour as the titlebar. To make this work, we have to select for pointer motion events in a few more places."

In another commit he makes support for keyboard-initiative move and resize operations. That was followed by another commit for adding move and resize to the CSD window menu.

These improvements landed for the GTK+ 3.11 development series and will form the basis of the GTK+ 3.12 stable release in March. Overall GNOME 3.12 is shaping up to be an interesting GNOME update with GNOME Shell and Mutter improvements, greater Facebook integration, the GNOME Terminal finally has text rewrap on resizing, and there will be much better support for Wayland.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week