git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/2] git-gui: add hotkey to toggle "Amend Last Commit" check button/menu

From
Pratyush Yadav <me@yadavpratyush.com>
Date
Sep 13, 2019, 17:47 UTC
Message-ID
<20190913174743.x2kdfotq2fnuift7@yadavpratyush.com>
In-Reply-To
<CAGr--=JDKrYT=Z8iwPVRy58OB9teH7bHXrYSZHqYHhJ=5wrJzQ@mail.gmail.com>
On 13/09/19 09:50AM, Birger Skogeng Pedersen wrote:
Show 22 quoted lines
> Hi Marc and Philip,
> 
> 
> On 12/09/2019 22:34, Marc Branchaud wrote:
> > I disagree!  Who expects anything to work properly when capslock is on?
> 
> Me :-)
> 
> 
> On Fri, Sep 13, 2019 at 12:23 AM Philip Oakley <philipoakley@iee.email> wrote:
> > I'd tend to agree. In other areas the use of shift is often used as the
> > complement of the unshifted action, so it does feel 'odd'. Thus it could
> > be used directly as the bool for amend or direct commit.
> >
> > This all assumes that Caps Lock is equivalent to having the shift on,
> > rather than being a special extra key.
> 
> It seems all the Ctrl+(lowercase character) hotkeys in git-gui have an
> equivalent Ctrl+(uppercase character).
> So for this feature, we should keep the Ctrl+E bind aswell as the
> Ctrl+e bind. If nothing else, to keep it consistent with the rest of
> the hotkey bindings.

I agree with this that we should keep it consistent with the rest of the bindings for now...

> But honestly, (as Marc pointed out) it is a quite weird that
> Ctrl+Shift+(character) has the excact same function as
> Ctrl+(character). Perhaps we should find another way to bind the
> hotkeys, where the state of Caps Lock doesn't matter? If possible.

...but I'd love to see this happen. To me shift is a modifier. No matter whether Caps Lock is pressed or not, it should not do the shift-modified behavior (that's just me, maybe other people think differently).

AFAIK, Tk does not provide any direct way to find out whether shift is pressed (correct me if I'm wrong). What you instead have to do is some bit arithmetic on the number passed to the "Key" event via the "%s" substitution. Source: [0]. We can probably have a bind_alpha procedure that takes two arguments: what to run when shift is pressed and what to run when it isn't.

This, of course, would be incompatible with the current behavior, but do people even keep the Caps Lock on? I personally use it so rarely I have my Caps Lock bound to Escape because I might as well use that key for something I use more often.

[0] https://blog.tcl.tk/4238
-- 
Regards,
Pratyush Yadav
Previous: Marc BranchaudNext: Pratyush Yadav
Message 19 of 24 in “git-gui: convert new/amend commit radiobutton to checketton”
  1. 1/2 git-gui: convert new/amend commit radiobutton to checkettonBert Wesarg, Sep 5, 2019
  2. 2/2 git-gui: add hotkey to toggle "Amend Last Commit" check button/menuBert Wesarg, Sep 5, 2019
  3. Pratyush YadavSep 11, 2019
  4. Birger Skogeng PedersenSep 12, 2019
  5. Pratyush YadavSep 12, 2019
  6. git-gui: add hotkey to toggle "Amend Last Commit"Birger Skogeng Pedersen, Sep 12, 2019
  7. Pratyush YadavSep 13, 2019
  8. git-gui: add hotkey to toggle "Amend Last Commit"Birger Skogeng Pedersen, Sep 13, 2019
  9. Birger Skogeng PedersenSep 13, 2019
  10. Pratyush YadavSep 13, 2019
  11. Birger Skogeng PedersenSep 14, 2019
  12. git-gui: add hotkey to toggle "Amend Last Commit"Birger Skogeng Pedersen, Sep 14, 2019
  13. Pratyush YadavSep 14, 2019
  14. Birger Skogeng PedersenSep 16, 2019
  15. Marc BranchaudSep 12, 2019
  16. Philip OakleySep 12, 2019
  17. Birger Skogeng PedersenSep 13, 2019
  18. Marc BranchaudSep 13, 2019
  19. Pratyush YadavSep 13, 2019
  20. Pratyush YadavSep 5, 2019
  21. Pratyush YadavSep 11, 2019
  22. Bert WesargSep 12, 2019
  23. Pratyush YadavSep 13, 2019
  24. Bert WesargSep 12, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.