From: Larry W. Virden on
I received a question recently about an application which was using
tk_dialog. The application shouldn't have been using tk_dialog, in my
opinion, but that isn't the issue.

On SPARC Solaris, using GNOME, when the tk_dialog appears, it has a
dialog's window manager frame . There's an "X" for dismissing the
widget that is displayed.

A user tried to use the X to dismiss the dialog, but because tk_dialog
had the grab, they were unsuccessful.

Shouldn't tk_dialog use wm overrideredirect to get rid of the frame
title bar? Otherwise, the user is led to believe there is a way to
dismiss the widget where there is in fact no way to do that.
From: Jeff Hobbs on
On Jul 16, 4:06 am, "Larry W. Virden" <lvir...(a)gmail.com> wrote:
> I received a question recently about an application which was using
> tk_dialog. The application shouldn't have been using tk_dialog, in my
> opinion, but that isn't the issue.
>
> On SPARC Solaris, using GNOME, when the tk_dialog appears, it has a
> dialog's window manager frame . There's an "X" for dismissing the
> widget that is displayed.
>
> A user tried to use the X to dismiss the dialog, but because tk_dialog
> had the grab, they were unsuccessful.
>
> Shouldn't tk_dialog use wm overrideredirect to get rid of the frame
> title bar?  Otherwise, the user is led to believe there is a way to
> dismiss the widget where there is in fact no way to do that.

wm override would cause the entire wm managed frame to disappear, but
that is not what tk_dialog does. It pops up a modal, complete with wm
frame, for user interaction. It should have the wm [X] to close it,
and that should work.

Jeff
From: Larry W. Virden on
On Jul 16, 12:22 pm, Jeff Hobbs <jeff.ho...(a)gmail.com> wrote:
>  It should have the wm [X] to close it,
> and that should work.
>

Okay, then what we are seeing is a bug rather than an oversight.
Thanks - I'll report it.
From: Jeff Hobbs on
On Jul 16, 11:26 am, "Larry W. Virden" <lvir...(a)gmail.com> wrote:
> On Jul 16, 12:22 pm, Jeff Hobbs <jeff.ho...(a)gmail.com> wrote:
>
> >  It should have the wm [X] to close it,
> > and that should work.
>
> Okay, then what we are seeing is a bug rather than an oversight.
> Thanks - I'll report it.

So I misspoke. Checking the code, tk_dialog explicitly does this:

wm protocol $w WM_DELETE_WINDOW { }

So it will ignore the [X]. I would recommend instead tklib
widget::dialog, but that would require code changes.

Jeff