[PATCH v3] git-gui: Handle Ctrl + BS/Del in the commit msg

Subsystems: the rest

STALE2268d

4 messages, 2 authors, 2020-05-21 · open the first message on its own page

[PATCH v3] git-gui: Handle Ctrl + BS/Del in the commit msg

From: Ismael Luceno <ismael@iodev.co.uk>
Date: 2020-05-12 10:37:09

From: Ismael Luceno <redacted>

- Control+BackSpace: Delete word to the left of the cursor.
- Control+Delete   : Delete word to the right of the cursor.

Originally introduced by BRIEF and Turbo Vision between 1985 and 1992,
they were adopted by most CUA-Compliant UIs, including those of: OS/2,
Windows, Mac OS, Qt, GTK, Open/Libre Office, Gecko, and GNU Emacs.

In both cases Tk already implements the functionality bound to other key
combination, so we use that.

Graphical examples:

Deleting to the left:
        v------ pointer
X_WORD____X
  ^-----^------ selection

Deleting to the right:
  v--------- pointer
X_WORD_X
  ^--^------ selection

Signed-off-by: Ismael Luceno <redacted>

---
I'm re-submitting the patch after >1 year.

CC: Junio C Hamano <redacted>
CC: "brian m. carlson" <redacted>
CC: Pat Thoyts <redacted>
CC: Johannes Schindelin <redacted>

Notes:
    Changes since v2:
    - Reimplemented via existing events, which correctly delete spaces.
    - Further improved commit message.
    
    Changes since v1:
    - Improved commit message.

 git-gui/git-gui.sh | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 6de74ce639..c4e0270626 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -3812,6 +3812,8 @@ bind $ui_comm <$M1B-Key-KP_Subtract> {show_less_context;break}
 bind $ui_comm <$M1B-Key-equal> {show_more_context;break}
 bind $ui_comm <$M1B-Key-plus> {show_more_context;break}
 bind $ui_comm <$M1B-Key-KP_Add> {show_more_context;break}
+bind $ui_comm <Control-Key-BackSpace> {event generate %W <Meta-Delete>;break}
+bind $ui_comm <Control-Key-Delete> {event generate %W <Meta-d>;break}
 
 bind $ui_diff <$M1B-Key-x> {tk_textCopy %W;break}
 bind $ui_diff <$M1B-Key-X> {tk_textCopy %W;break}
-- 
2.19.1

Re: [PATCH v3] git-gui: Handle Ctrl + BS/Del in the commit msg

From: Pratyush Yadav <hidden>
Date: 2020-05-12 13:02:48

Hi Ismael,

On 12/05/20 12:28PM, Ismael Luceno wrote:
quoted hunk
From: Ismael Luceno <redacted>

- Control+BackSpace: Delete word to the left of the cursor.
- Control+Delete   : Delete word to the right of the cursor.

Originally introduced by BRIEF and Turbo Vision between 1985 and 1992,
they were adopted by most CUA-Compliant UIs, including those of: OS/2,
Windows, Mac OS, Qt, GTK, Open/Libre Office, Gecko, and GNU Emacs.

In both cases Tk already implements the functionality bound to other key
combination, so we use that.

Graphical examples:

Deleting to the left:
        v------ pointer
X_WORD____X
  ^-----^------ selection

Deleting to the right:
  v--------- pointer
X_WORD_X
  ^--^------ selection

Signed-off-by: Ismael Luceno <redacted>

---
I'm re-submitting the patch after >1 year.

CC: Junio C Hamano <redacted>
CC: "brian m. carlson" <redacted>
CC: Pat Thoyts <redacted>
CC: Johannes Schindelin <redacted>

Notes:
    Changes since v2:
    - Reimplemented via existing events, which correctly delete spaces.
    - Further improved commit message.
    
    Changes since v1:
    - Improved commit message.

 git-gui/git-gui.sh | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 6de74ce639..c4e0270626 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
You based the patch on top of the Git tree. Since Git Gui is maintained 
separate from Git, patches are expected to be based on top of the Git 
Gui tree [0]. I fixed it up and applied the patch on my tree.
quoted hunk
@@ -3812,6 +3812,8 @@ bind $ui_comm <$M1B-Key-KP_Subtract> {show_less_context;break}
 bind $ui_comm <$M1B-Key-equal> {show_more_context;break}
 bind $ui_comm <$M1B-Key-plus> {show_more_context;break}
 bind $ui_comm <$M1B-Key-KP_Add> {show_more_context;break}
+bind $ui_comm <Control-Key-BackSpace> {event generate %W <Meta-Delete>;break}
+bind $ui_comm <Control-Key-Delete> {event generate %W <Meta-d>;break}
Don't use "Control" directly to maintain compatibility with MacOS. Use 
$M1B like the surrounding code does. I fixed it up locally, so no need 
to send in a new version. You can find the fixed up version here [1]. 
Test it if you'd like.

Will merge it in. Thanks.
  
[0] https://github.com/prati0100/git-gui/
[1] https://github.com/prati0100/git-gui/tree/il/ctrl-bs-del

-- 
Regards,
Pratyush Yadav

Re: [PATCH v3] git-gui: Handle Ctrl + BS/Del in the commit msg

From: Ismael Luceno <ismael@iodev.co.uk>
Date: 2020-05-12 13:27:48

On 12/May/2020 18:32, Pratyush Yadav wrote:
Hi Ismael,

On 12/05/20 12:28PM, Ismael Luceno wrote:
quoted
From: Ismael Luceno <redacted>

- Control+BackSpace: Delete word to the left of the cursor.
- Control+Delete   : Delete word to the right of the cursor.

Originally introduced by BRIEF and Turbo Vision between 1985 and 1992,
they were adopted by most CUA-Compliant UIs, including those of: OS/2,
Windows, Mac OS, Qt, GTK, Open/Libre Office, Gecko, and GNU Emacs.

In both cases Tk already implements the functionality bound to other key
combination, so we use that.

Graphical examples:

Deleting to the left:
        v------ pointer
X_WORD____X
  ^-----^------ selection

Deleting to the right:
  v--------- pointer
X_WORD_X
  ^--^------ selection

Signed-off-by: Ismael Luceno <redacted>

---
I'm re-submitting the patch after >1 year.

CC: Junio C Hamano <redacted>
CC: "brian m. carlson" <redacted>
CC: Pat Thoyts <redacted>
CC: Johannes Schindelin <redacted>

Notes:
    Changes since v2:
    - Reimplemented via existing events, which correctly delete spaces.
    - Further improved commit message.
    
    Changes since v1:
    - Improved commit message.

 git-gui/git-gui.sh | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 6de74ce639..c4e0270626 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
You based the patch on top of the Git tree. Since Git Gui is maintained 
separate from Git, patches are expected to be based on top of the Git 
Gui tree [0]. I fixed it up and applied the patch on my tree.
quoted
@@ -3812,6 +3812,8 @@ bind $ui_comm <$M1B-Key-KP_Subtract> {show_less_context;break}
 bind $ui_comm <$M1B-Key-equal> {show_more_context;break}
 bind $ui_comm <$M1B-Key-plus> {show_more_context;break}
 bind $ui_comm <$M1B-Key-KP_Add> {show_more_context;break}
+bind $ui_comm <Control-Key-BackSpace> {event generate %W <Meta-Delete>;break}
+bind $ui_comm <Control-Key-Delete> {event generate %W <Meta-d>;break}
Don't use "Control" directly to maintain compatibility with MacOS. Use 
$M1B like the surrounding code does. I fixed it up locally, so no need 
to send in a new version. You can find the fixed up version here [1]. 
Test it if you'd like.

Will merge it in. Thanks.
Thanks.

Re: [PATCH v3] git-gui: Handle Ctrl + BS/Del in the commit msg

From: Pratyush Yadav <hidden>
Date: 2020-05-21 13:01:02

On 12/05/20 12:28PM, Ismael Luceno wrote:
From: Ismael Luceno <redacted>

- Control+BackSpace: Delete word to the left of the cursor.
- Control+Delete   : Delete word to the right of the cursor.

Originally introduced by BRIEF and Turbo Vision between 1985 and 1992,
they were adopted by most CUA-Compliant UIs, including those of: OS/2,
Windows, Mac OS, Qt, GTK, Open/Libre Office, Gecko, and GNU Emacs.

In both cases Tk already implements the functionality bound to other key
combination, so we use that.

Graphical examples:

Deleting to the left:
        v------ pointer
X_WORD____X
  ^-----^------ selection

Deleting to the right:
  v--------- pointer
X_WORD_X
  ^--^------ selection

Signed-off-by: Ismael Luceno <redacted>
Merged to git-gui/master.
 

-- 
Regards,
Pratyush Yadav
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help