threads / patch / 52396

patchgit-gui: allow closing console window with Escape

Subject: [PATCH] git-gui: allow closing console window with Escape

## tl;dr

9 messages between Dec 6, 2019 and Dec 13, 2019. Diffs are folded; open one to read it.

replies: 8people: 3as markdown or json

Pratyush Yadav· Dec 6, 2019, 22:20 UTC · lore

It is often expected that popup windows like the console window be close-able with Esc.

Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
---
This was requested by https://github.com/prati0100/git-gui/issues/17
 lib/console.tcl | 1 +
 1 file changed, 1 insertion(+)
Show changes to lib/console.tcl +1 −1
diff --git a/lib/console.tcl b/lib/console.tcl
index 1f3248f..8828f6f 100644
--- a/lib/console.tcl
+++ b/lib/console.tcl
@@ -88,6 +88,7 @@ method _init {} {
 	bind_button3 $w_t "tk_popup $w.ctxm %X %Y"
 	bind $w_t <$M1B-Key-a> "$w_t tag add sel 0.0 end;break"
 	bind $w_t <$M1B-Key-A> "$w_t tag add sel 0.0 end;break"
+	bind $w <Key-Escape> [list destroy $w]
 }

 method exec {cmd {after {}}} {
--
2.24.0
Johannes Schindelin· Dec 7, 2019, 16:24 UTC · re: Pratyush Yadav · lore

Re: [PATCH] git-gui: allow closing console window with Escape

Hi,
On Sat, 7 Dec 2019, Pratyush Yadav wrote:
> It is often expected that popup windows like the console window be
> close-able with Esc.

Seeing as the console windows is not your regular popup window with an "OK" button, I could see how it would be all too easy to close the window via the Esc button all too easily, annoying users.

For windows like the console one, I would expect Ctrl+W a much more natural keyboard shortcut to close it.

Ciao, Dscho

Show 24 quoted lines
>
> Signed-off-by: Pratyush Yadav <me@yadavpratyush.com>
> ---
> This was requested by https://github.com/prati0100/git-gui/issues/17
>
>  lib/console.tcl | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/lib/console.tcl b/lib/console.tcl
> index 1f3248f..8828f6f 100644
> --- a/lib/console.tcl
> +++ b/lib/console.tcl
> @@ -88,6 +88,7 @@ method _init {} {
>  	bind_button3 $w_t "tk_popup $w.ctxm %X %Y"
>  	bind $w_t <$M1B-Key-a> "$w_t tag add sel 0.0 end;break"
>  	bind $w_t <$M1B-Key-A> "$w_t tag add sel 0.0 end;break"
> +	bind $w <Key-Escape> [list destroy $w]
>  }
>
>  method exec {cmd {after {}}} {
> --
> 2.24.0
>
>
Pratyush Yadav· Dec 8, 2019, 19:40 UTC · re: Johannes Schindelin · lore

Re: [PATCH] git-gui: allow closing console window with Escape

On 07/12/19 05:24PM, Johannes Schindelin wrote:
Show 10 quoted lines
> Hi,
> 
> On Sat, 7 Dec 2019, Pratyush Yadav wrote:
> 
> > It is often expected that popup windows like the console window be
> > close-able with Esc.
> 
> Seeing as the console windows is not your regular popup window with an
> "OK" button, I could see how it would be all too easy to close the window
> via the Esc button all too easily, annoying users.
I'm not sure why it is "too easy" to hit Escape. If you're hitting Esc 
(which for most people is pretty far from other more frequently used 
keys) you expect _something_ to happen. People don't just spam Esc for 
no reason, do they?
 
> For windows like the console one, I would expect Ctrl+W a much more
> natural keyboard shortcut to close it.

But, that "something" the user expects to happen could also be "stop the command". AFAIK, Esc is often expected to stop commands. But closing the console window won't actually stop the command. It will keep running in the background, and when the command is done, the window will open again showing the final output.

So all in all, I do think Ctrl-W would be a better idea. Will re-roll.
 
> Ciao,
> Dscho
-- 
Regards,
Pratyush Yadav
Johannes Schindelin· Dec 9, 2019, 09:18 UTC · re: Pratyush Yadav · lore

Re: [PATCH] git-gui: allow closing console window with Escape

Hi Pratyush,
On Mon, 9 Dec 2019, Pratyush Yadav wrote:
Show 15 quoted lines
> On 07/12/19 05:24PM, Johannes Schindelin wrote:
> >
> > On Sat, 7 Dec 2019, Pratyush Yadav wrote:
> >
> > > It is often expected that popup windows like the console window be
> > > close-able with Esc.
> >
> > Seeing as the console windows is not your regular popup window with an
> > "OK" button, I could see how it would be all too easy to close the window
> > via the Esc button all too easily, annoying users.
>
> I'm not sure why it is "too easy" to hit Escape. If you're hitting Esc
> (which for most people is pretty far from other more frequently used
> keys) you expect _something_ to happen. People don't just spam Esc for
> no reason, do they?

Is it possible to issue a command in that console window? If yes, Esc D is what people like me would possibly use to delete entire words.

Even if not, if there is no "OK" button, it would annoy me no end if the Escape key closes the window (it is not a dialog box, after all).

Show 10 quoted lines
> > For windows like the console one, I would expect Ctrl+W a much more
> > natural keyboard shortcut to close it.
>
> But, that "something" the user expects to happen could also be "stop the
> command". AFAIK, Esc is often expected to stop commands. But closing the
> console window won't actually stop the command. It will keep running in
> the background, and when the command is done, the window will open again
> showing the final output.
>
> So all in all, I do think Ctrl-W would be a better idea. Will re-roll.

Thank you, Dscho

Vasili Novikov· Dec 9, 2019, 15:53 UTC · re: Johannes Schindelin · lore

Re: Re: [PATCH] git-gui: allow closing console window with Escape

What have console windows to do with git gui though? I'd work under the 
following assumptions:
* we're talking about a GUI window, not a TUI one
* the window has no useful information at all except the fact that 
something has "finished", is "done". There are no actions that you can 
take except to dismiss the window.
If we agree on the following assumptions, then I see these real-world 
examples:
* Mousepad > About > Esc = closes the popup
* Firefox > About > Esc = closes the popup
* Thunar > select any file and ask its properties > Esc = closes the window
* file-roller (GNOME compressed archive manager) > Extract archive > 
Observe success window upon completion > Esc = closes the window.

Are there any real-world examples where `Ctrl W` or `Esc D` work but `Esc` doesn't, to consider these alternatives as more intuitive to users?

On 09/12/2019 10.18, Johannes Schindelin wrote:
Show 40 quoted lines
> Hi Pratyush,
> 
> On Mon, 9 Dec 2019, Pratyush Yadav wrote:
> 
>> On 07/12/19 05:24PM, Johannes Schindelin wrote:
>>>
>>> On Sat, 7 Dec 2019, Pratyush Yadav wrote:
>>>
>>>> It is often expected that popup windows like the console window be
>>>> close-able with Esc.
>>>
>>> Seeing as the console windows is not your regular popup window with an
>>> "OK" button, I could see how it would be all too easy to close the window
>>> via the Esc button all too easily, annoying users.
>>
>> I'm not sure why it is "too easy" to hit Escape. If you're hitting Esc
>> (which for most people is pretty far from other more frequently used
>> keys) you expect _something_ to happen. People don't just spam Esc for
>> no reason, do they?
> 
> Is it possible to issue a command in that console window? If yes, Esc D is
> what people like me would possibly use to delete entire words.
> 
> Even if not, if there is no "OK" button, it would annoy me no end if the
> Escape key closes the window (it is not a dialog box, after all).
> 
>>> For windows like the console one, I would expect Ctrl+W a much more
>>> natural keyboard shortcut to close it.
>>
>> But, that "something" the user expects to happen could also be "stop the
>> command". AFAIK, Esc is often expected to stop commands. But closing the
>> console window won't actually stop the command. It will keep running in
>> the background, and when the command is done, the window will open again
>> showing the final output.
>>
>> So all in all, I do think Ctrl-W would be a better idea. Will re-roll.
> 
> Thank you,
> Dscho
> 
-- 
Vasilii Novikov
Software Developer
vasilii.novikov@zivver.com

ZIVVER B.V. • Koningin Wilhelminaplein 30 • 1062 KR Amsterdam
www.zivver.com • +31 85 01 60 555 <+31-85-0160555>
Follow us on: twitter <https://twitter.com/zivver_nl>, facebook
<https://www.facebook.com/zivver> and linkedin
<https://www.linkedin.com/company/zivver>

✓ Voldoe jij al aan de GDPR-wetgeving?
<https://get.zivver.eu/nl/gdpr-checklist/>
Pratyush Yadav· Dec 10, 2019, 12:02 UTC · re: Vasili Novikov · lore

Re: [PATCH] git-gui: allow closing console window with Escape

Hi Vasili,
Please try to not top-post on the list.
On 09/12/19 04:53PM, Vasili Novikov wrote:
> What have console windows to do with git gui though? I'd work under the

Well, the window/popup in question is internally named "console" and is defined in lib/console.tcl. It is used by many parts of git-gui that need to execute a command and show the output to the user.

Show 5 quoted lines
> following assumptions:
> * we're talking about a GUI window, not a TUI one
> * the window has no useful information at all except the fact that something
> has "finished", is "done". There are no actions that you can take except to
> dismiss the window.
 
It also shows you the output of a command currently in progress (like 
git-push). My main argument with avoiding Escape is that people often 
expect Escape to stop an ongoing command. In this case though, closing 
the window does not actually stop the command. It keeps going on in the 
background.

But since the window is gone, people might think the command they were running has stopped, which might lead to some unexpected results.

Show 7 quoted lines
> If we agree on the following assumptions, then I see these real-world
> examples:
> * Mousepad > About > Esc = closes the popup
> * Firefox > About > Esc = closes the popup
> * Thunar > select any file and ask its properties > Esc = closes the window
> * file-roller (GNOME compressed archive manager) > Extract archive > Observe
> success window upon completion > Esc = closes the window.
In this case, the thing is done. There is no ongoing task. Not quite the 
case with the console window in git-gui, which can also show ongoing 
tasks.
 
Show 59 quoted lines
> Are there any real-world examples where `Ctrl W` or `Esc D` work but `Esc`
> doesn't, to consider these alternatives as more intuitive to users?
> 
> 
> On 09/12/2019 10.18, Johannes Schindelin wrote:
> > Hi Pratyush,
> > 
> > On Mon, 9 Dec 2019, Pratyush Yadav wrote:
> > 
> > > On 07/12/19 05:24PM, Johannes Schindelin wrote:
> > > > 
> > > > On Sat, 7 Dec 2019, Pratyush Yadav wrote:
> > > > 
> > > > > It is often expected that popup windows like the console window be
> > > > > close-able with Esc.
> > > > 
> > > > Seeing as the console windows is not your regular popup window with an
> > > > "OK" button, I could see how it would be all too easy to close the window
> > > > via the Esc button all too easily, annoying users.
> > > 
> > > I'm not sure why it is "too easy" to hit Escape. If you're hitting Esc
> > > (which for most people is pretty far from other more frequently used
> > > keys) you expect _something_ to happen. People don't just spam Esc for
> > > no reason, do they?
> > 
> > Is it possible to issue a command in that console window? If yes, Esc D is
> > what people like me would possibly use to delete entire words.
> > 
> > Even if not, if there is no "OK" button, it would annoy me no end if the
> > Escape key closes the window (it is not a dialog box, after all).
> > 
> > > > For windows like the console one, I would expect Ctrl+W a much more
> > > > natural keyboard shortcut to close it.
> > > 
> > > But, that "something" the user expects to happen could also be "stop the
> > > command". AFAIK, Esc is often expected to stop commands. But closing the
> > > console window won't actually stop the command. It will keep running in
> > > the background, and when the command is done, the window will open again
> > > showing the final output.
> > > 
> > > So all in all, I do think Ctrl-W would be a better idea. Will re-roll.
> > 
> > Thank you,
> > Dscho
> > 
> 
> -- 
> Vasilii Novikov
> Software Developer
> vasilii.novikov@zivver.com
> 
> ZIVVER B.V. • Koningin Wilhelminaplein 30 • 1062 KR Amsterdam
> www.zivver.com • +31 85 01 60 555 <+31-85-0160555>
> Follow us on: twitter <https://twitter.com/zivver_nl>, facebook
> <https://www.facebook.com/zivver> and linkedin
> <https://www.linkedin.com/company/zivver>
> 
> ✓ Voldoe jij al aan de GDPR-wetgeving?
> <https://get.zivver.eu/nl/gdpr-checklist/>
-- 
Regards,
Pratyush Yadav
Vasili Novikov· Dec 10, 2019, 12:11 UTC · re: Pratyush Yadav · lore

Re: [PATCH] git-gui: allow closing console window with Escape

Hi all, Sorry if threading was broken: Thunderbird possibly doesn't fully support mbox import that I used. Or I did it unproperly. Either way, hope it's correct now.

Thanks for explaining. I misunderstood the purpose of the window. If it's a slow ongoing task, then indeed it should not be closeable with Esc. I'd say it makes sense to allow Esc to work when it gets into "Success" state though, as in the screenshot.

Thanks, Vasili

On 10/12/2019 13.02, Pratyush Yadav wrote:
Show 98 quoted lines
> Hi Vasili,
> 
> Please try to not top-post on the list.
> 
> On 09/12/19 04:53PM, Vasili Novikov wrote:
>> What have console windows to do with git gui though? I'd work under the
> 
> Well, the window/popup in question is internally named "console" and is
> defined in lib/console.tcl. It is used by many parts of git-gui that
> need to execute a command and show the output to the user.
> 
>> following assumptions:
>> * we're talking about a GUI window, not a TUI one
>> * the window has no useful information at all except the fact that something
>> has "finished", is "done". There are no actions that you can take except to
>> dismiss the window.
>   
> It also shows you the output of a command currently in progress (like
> git-push). My main argument with avoiding Escape is that people often
> expect Escape to stop an ongoing command. In this case though, closing
> the window does not actually stop the command. It keeps going on in the
> background.
> 
> But since the window is gone, people might think the command they were
> running has stopped, which might lead to some unexpected results.
> 
>> If we agree on the following assumptions, then I see these real-world
>> examples:
>> * Mousepad > About > Esc = closes the popup
>> * Firefox > About > Esc = closes the popup
>> * Thunar > select any file and ask its properties > Esc = closes the window
>> * file-roller (GNOME compressed archive manager) > Extract archive > Observe
>> success window upon completion > Esc = closes the window.
> 
> In this case, the thing is done. There is no ongoing task. Not quite the
> case with the console window in git-gui, which can also show ongoing
> tasks.
>   
>> Are there any real-world examples where `Ctrl W` or `Esc D` work but `Esc`
>> doesn't, to consider these alternatives as more intuitive to users?
>>
>>
>> On 09/12/2019 10.18, Johannes Schindelin wrote:
>>> Hi Pratyush,
>>>
>>> On Mon, 9 Dec 2019, Pratyush Yadav wrote:
>>>
>>>> On 07/12/19 05:24PM, Johannes Schindelin wrote:
>>>>>
>>>>> On Sat, 7 Dec 2019, Pratyush Yadav wrote:
>>>>>
>>>>>> It is often expected that popup windows like the console window be
>>>>>> close-able with Esc.
>>>>>
>>>>> Seeing as the console windows is not your regular popup window with an
>>>>> "OK" button, I could see how it would be all too easy to close the window
>>>>> via the Esc button all too easily, annoying users.
>>>>
>>>> I'm not sure why it is "too easy" to hit Escape. If you're hitting Esc
>>>> (which for most people is pretty far from other more frequently used
>>>> keys) you expect _something_ to happen. People don't just spam Esc for
>>>> no reason, do they?
>>>
>>> Is it possible to issue a command in that console window? If yes, Esc D is
>>> what people like me would possibly use to delete entire words.
>>>
>>> Even if not, if there is no "OK" button, it would annoy me no end if the
>>> Escape key closes the window (it is not a dialog box, after all).
>>>
>>>>> For windows like the console one, I would expect Ctrl+W a much more
>>>>> natural keyboard shortcut to close it.
>>>>
>>>> But, that "something" the user expects to happen could also be "stop the
>>>> command". AFAIK, Esc is often expected to stop commands. But closing the
>>>> console window won't actually stop the command. It will keep running in
>>>> the background, and when the command is done, the window will open again
>>>> showing the final output.
>>>>
>>>> So all in all, I do think Ctrl-W would be a better idea. Will re-roll.
>>>
>>> Thank you,
>>> Dscho
>>>
>>
>> -- 
>> Vasilii Novikov
>> Software Developer
>> vasilii.novikov@zivver.com
>>
>> ZIVVER B.V. • Koningin Wilhelminaplein 30 • 1062 KR Amsterdam
>> www.zivver.com • +31 85 01 60 555 <+31-85-0160555>
>> Follow us on: twitter <https://twitter.com/zivver_nl>, facebook
>> <https://www.facebook.com/zivver> and linkedin
>> <https://www.linkedin.com/company/zivver>
>>
>> ✓ Voldoe jij al aan de GDPR-wetgeving?
>> <https://get.zivver.eu/nl/gdpr-checklist/>
> 
-- 
Vasilii Novikov
Pratyush Yadav· Dec 10, 2019, 13:31 UTC · re: Vasili Novikov · lore

Re: [PATCH] git-gui: allow closing console window with Escape

(+Cc Dscho who got dropped from the Cc list somewhere along the way)
Hi Vasili,
On 10/12/19 01:11PM, Vasili Novikov wrote:
> Hi all,
> Sorry if threading was broken: Thunderbird possibly doesn't fully support
> mbox import that I used. Or I did it unproperly. Either way, hope it's
> correct now.
Threading seems to works fine for you. I meant avoiding top posting. 
More explanation on top posting and bottom posting here 
http://www.idallen.com/topposting.html
 
> Thanks for explaining. I misunderstood the purpose of the window. If it's a
> slow ongoing task, then indeed it should not be closeable with Esc. I'd say
> it makes sense to allow Esc to work when it gets into "Success" state
> though, as in the screenshot.
Hmm, I like the idea. Does that work for you Dscho?
 
Show 43 quoted lines
> 
> Thanks,
> Vasili
> 
> On 10/12/2019 13.02, Pratyush Yadav wrote:
> > Hi Vasili,
> > 
> > Please try to not top-post on the list.
> > 
> > On 09/12/19 04:53PM, Vasili Novikov wrote:
> > > What have console windows to do with git gui though? I'd work under the
> > 
> > Well, the window/popup in question is internally named "console" and is
> > defined in lib/console.tcl. It is used by many parts of git-gui that
> > need to execute a command and show the output to the user.
> > 
> > > following assumptions:
> > > * we're talking about a GUI window, not a TUI one
> > > * the window has no useful information at all except the fact that something
> > > has "finished", is "done". There are no actions that you can take except to
> > > dismiss the window.
> > It also shows you the output of a command currently in progress (like
> > git-push). My main argument with avoiding Escape is that people often
> > expect Escape to stop an ongoing command. In this case though, closing
> > the window does not actually stop the command. It keeps going on in the
> > background.
> > 
> > But since the window is gone, people might think the command they were
> > running has stopped, which might lead to some unexpected results.
> > 
> > > If we agree on the following assumptions, then I see these real-world
> > > examples:
> > > * Mousepad > About > Esc = closes the popup
> > > * Firefox > About > Esc = closes the popup
> > > * Thunar > select any file and ask its properties > Esc = closes the window
> > > * file-roller (GNOME compressed archive manager) > Extract archive > Observe
> > > success window upon completion > Esc = closes the window.
> > 
> > In this case, the thing is done. There is no ongoing task. Not quite the
> > case with the console window in git-gui, which can also show ongoing
> > tasks.
> > > Are there any real-world examples where `Ctrl W` or `Esc D` work but `Esc`
> > > doesn't, to consider these alternatives as more intuitive to users?
-- 
Regards,
Pratyush Yadav
Johannes Schindelin· Dec 13, 2019, 13:29 UTC · re: Pratyush Yadav · lore

Re: [PATCH] git-gui: allow closing console window with Escape

Hi,
On Tue, 10 Dec 2019, Pratyush Yadav wrote:
Show 16 quoted lines
> On 10/12/19 01:11PM, Vasili Novikov wrote:
>
> > Sorry if threading was broken: Thunderbird possibly doesn't fully support
> > mbox import that I used. Or I did it unproperly. Either way, hope it's
> > correct now.
>
> Threading seems to works fine for you. I meant avoiding top posting.
> More explanation on top posting and bottom posting here
> http://www.idallen.com/topposting.html
>
> > Thanks for explaining. I misunderstood the purpose of the window. If it's a
> > slow ongoing task, then indeed it should not be closeable with Esc. I'd say
> > it makes sense to allow Esc to work when it gets into "Success" state
> > though, as in the screenshot.
>
> Hmm, I like the idea. Does that work for you Dscho?

I'm fine with whatever you settle with, I am not really a Git GUI user (I just deal with a couple of those users in my role as Git for Windows maintainer).

Ciao, Dscho

← back to recent threads