From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Gtk.Message_Dialog
Date: Wed, 8 Sep 2021 21:01:32 +0200 [thread overview]
Message-ID: <shb1aa$14b4$1@gioia.aioe.org> (raw)
In-Reply-To: 96a6354d-1d37-4f61-a984-aeca00b21bcen@googlegroups.com
On 2021-09-08 19:09, AdaMagica wrote:
> Dmitry A. Kazakov schrieb am Mittwoch, 8. September 2021 um 17:02:52 UTC+2:
>> You must call Destroy on the dialog to kill its window.
> Thanks, Dmitry, that worked.
>> P.P.S. Modal dialogs is the root of all evil...
> Whar else would you recommend?
Just common sense of ergonomic UI, because I am no expert in this.
I do not like dialogs because they cover other UI elements and require
switching user attention.
If I need some input field I usually reserve a place on the screen with
confirmation and cancel buttons. I try to implement
checking-while-typing when possible and not too annoying.
A confirmation/commit button is IMO preferable, however modern UIs tend
to commit changes as soon as the UI element loses the focus.
For settings I use tabbed views. They tend to grow out of any measure.
Not a perfect solution, but IMO much better than dialogs and in any case
better than tree views when you need to expand and collapse nodes
looking for a setting parameter.
Modal dialogs are OK for emergencies when continuation is absolutely
impossible without user intervention.
One of few advantages of GTK is that widgets and containers
automatically expand and shrink. One should use this feature and avoid
fixed sizes. The minimum widget size, e.g. of a label or edit field can
be set.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2021-09-08 19:01 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-08 13:52 Gtk.Message_Dialog AdaMagica
2021-09-08 15:02 ` Gtk.Message_Dialog Dmitry A. Kazakov
2021-09-08 17:09 ` Gtk.Message_Dialog AdaMagica
2021-09-08 19:01 ` Dmitry A. Kazakov [this message]
2021-09-10 18:54 ` Gtk.Message_Dialog Mark Wilson
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox