Web lists-archives.com

Re: Gtk::Window resize grip replacement


On 14 May 2015 at 20:36, Detlef Reichl <detlef.reichl@xxxxxxx> wrote:

> Am 14.05.2015 um 20:09 schrieb Emmanuele Bassi:
>> Hi;
>> On 14 May 2015 at 18:59, Detlef Reichl <detlef.reichl@xxxxxxx> wrote:
>>> the resize grip of Gtk::Window (gtk_window_set_has_resize_grip) is
>>> deprecated since 3.14. Is there a suggested replacement, or do I have to
>>> do it on my own?
>> The actual question is: why do you feel the need for a resize grip?
>> Some context: the only reason the resize grip was introduced was
>> because stacking window managers (as opposed to tiling ones) didn't
>> cope well with themes using 1px window borders; since then, window
>> managers have added invisible resize areas around the window or they
>> have window borders larger than 1 pixel. For client-side decorations,
>> GTK+ will handle the invisible resize areas itself, but in absence of
>> a compositor, GTK+ will revert to a visible border with enough padding
>> to allow resizing.
>> What it is that you're trying to achieve?
> It is simply, that from my point of view, the width of the resize area -
> with compositor and client side decorations - is to small. I don't like
> GUIs, where I have to place the mouse pointer with an accuracy of a view
> pixels. For my self, that is not such a big problem, because I have very
> good fine motor skills, but I know people, who have not and for them I
> think a dedicated quite big resize grip would be useful.

Client-side decorated windows when running under a compositor have 5
pixels around the border that can be used as a resize area. If there
is no compositor running, the border is automatically increased from
1px to, I think, 3px (I'd have to double check). Themes can influence
the border as well.

Another reason why the resize grip is gone is because it sits in the
empty space between the horizontal and the vertical scroll bars, and
given that scroll bars have become smaller indicators, the resize grip
would be just as big as the invisible resize region around the window,
except located in a single corner. The resize grip also had issues
when it came to drawing and sizing elements of the window — it
basically constrained the application developers to specific layouts.

Anyway, it's still perfectly possible to add a resize grip to your
application; you'll have to handle the resizing yourself, though. You
can use the GDK API to initiate a window resize programmatically.


[@] ebassi [@gmail.com]
gtk-list mailing list