On Tue, 5 Sep 2006 at 3:38pm, Bram Moolenaar wrote: > > Benji Fisher wrote: > > > On Sun, Sep 03, 2006 at 11:54:11AM -0700, Hari Krishna Dara wrote: > > > > > > On Sun, 3 Sep 2006 at 8:21pm, Bram Moolenaar wrote: > > > > > > > I have tried the win32 console version and it works properly there. Do > > > > you mean the GUI version? Please be specific, trying all kinds of > > > > things to find out what you mean is a waste of time. > > > > > > I reported that the console version works fine in a separate email, so > > > yes, it is the GUI version. Sorry for not being clear. > > > > In the original post, Hari did say "gvim". On Linux (FC2, GTK-2) I > > find that it works as expected in vim (with the GUI not running) but > > shows the same problem in gvim (with the GUI running). > > > > $ vim > > :echo confirm("Save changes?", "&Yes\n&No\n&Cancel", 0) > > <user types <CR>> > > 0 > > :gui > > :echo confirm("Save changes?", "&Yes\n&No\n&Cancel", 0) > > <user types <CR>> > > 1 > > > > I did it that way to make sure that I was actually using the same binary > > with and without the GUI running. The second time I invoked confirm(), > > a dialogue box popped up with the "Yes" button highlighted. > > Many GUIs don't support a dialog without a button selected. Disabling > the use of Enter to select a button isn't a good idea either. Thus for > some GUIs it simply won't work to have a dialog without a default.
I know for sure Windows native UI supports dialogs without a default button, and Motif also should support this as well. I will in fact be surprised if GUIs always force the programmer to specify a default button, as there should be a choice not to have one (especially when there is a complex interface). In my case, I was trying to set no default button when I know there is some important information to read, but the user might routinely press <Space> or <Enter> to get rid off it. If the dialog doesn't get hidden, the user will more likely read it. Right now I resorted to doing an echohl with WarningMsg followed by an input(), but this introduces a drastic difference from the routine case where the user still sees a dialog. -- Thanks, Hari __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com