[PATCH] git gui: visually wrap lines of commit message

Subsystems: the rest

DORMANTno replies

9 messages, 4 authors, 2016-06-15 · open the first message on its own page

[PATCH] git gui: visually wrap lines of commit message

From: Clemens Buchacher <hidden>
Date: 2016-06-15 22:45:07

Visually wrap lines in the commit message text box. That way we can avoid
a horizontal scroll bar (which was not available anyways).

Note: This does _not_ break lines in the actual commit message.

Signed-off-by: Clemens Buchacher <redacted>
---

I also tried to get automatic line breaks but was unable to do so. I managed
to implement a callback function triggered by the <<Modified>> event, and I
also managed to query the end position of the insertion using the 'insert'
index. So with this information it would be possible to implement automatic
line breaks. Unfortunately, this is not enough for pasting. If there is more
than one new character, the start position of the insertion is unknown.

I then tried to track cursor movement, but no luck there either. Any ideas
are welcome. For now I'll simply have to "git commit --amend<CR>gqG:x<CR>"
each time I use git gui.

Clemens

 git-gui/git-gui.sh |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 14b2d9a..3949f7d 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -2528,6 +2528,7 @@ text $ui_comm -background white -foreground black \
 	-autoseparators true \
 	-relief sunken \
 	-width $repo_config(gui.commitmsgwidth) -height 9 -wrap none \
+	-wrap char \
 	-font font_diff \
 	-yscrollcommand {.vpane.lower.commarea.buffer.sby set}
 scrollbar .vpane.lower.commarea.buffer.sby \
-- 
1.5.6.4

Re: [PATCH] git gui: visually wrap lines of commit message

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:45:07

On Samstag, 9. August 2008, Clemens Buchacher wrote:
Visually wrap lines in the commit message text box. That way we can avoid
a horizontal scroll bar (which was not available anyways).

Note: This does _not_ break lines in the actual commit message.
Please don't do that. I want to get what I see.

-- Hannes

Re: [PATCH] git gui: visually wrap lines of commit message

From: Clemens Buchacher <hidden>
Date: 2016-06-15 22:45:07

On Sat, Aug 09, 2008 at 11:44:33PM +0200, Johannes Sixt wrote:
On Samstag, 9. August 2008, Clemens Buchacher wrote:
quoted
Visually wrap lines in the commit message text box. That way we can avoid
a horizontal scroll bar (which was not available anyways).

Note: This does _not_ break lines in the actual commit message.
Please don't do that. I want to get what I see.
Currently you don't see the whole message anyways if the box is too small
for the text. I find that quite annoying, especially since there are neither
keys nor a scrollbar to scroll horizontally.

And if you break the lines manually, it really doesn't make a difference.
Unless you "forget" to do so, which is unlikely, because the virtual wrap
will wrap per-character and not per-word.

Clemens

Re: [PATCH] git gui: visually wrap lines of commit message

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:45:07

On Sonntag, 10. August 2008, Clemens Buchacher wrote:
On Sat, Aug 09, 2008 at 11:44:33PM +0200, Johannes Sixt wrote:
quoted
On Samstag, 9. August 2008, Clemens Buchacher wrote:
quoted
Visually wrap lines in the commit message text box. That way we can
avoid a horizontal scroll bar (which was not available anyways).

Note: This does _not_ break lines in the actual commit message.
Please don't do that. I want to get what I see.
Currently you don't see the whole message anyways if the box is too small
for the text. I find that quite annoying, especially since there are
neither keys nor a scrollbar to scroll horizontally.
In this case, I use the middle mouse button to pan around. And then I do see 
what I will get.

The width of the box was chosen wisely: It takes a bit less than 80 columns, 
to leave room for quoting in emails and to avoid wrapping of git log output.

-- Hannes

Re: [PATCH] git gui: visually wrap lines of commit message

From: Clemens Buchacher <hidden>
Date: 2016-06-15 22:45:07

On Sun, Aug 10, 2008 at 12:14:13AM +0200, Johannes Sixt wrote:
quoted
Currently you don't see the whole message anyways if the box is too small
for the text. I find that quite annoying, especially since there are
neither keys nor a scrollbar to scroll horizontally.
In this case, I use the middle mouse button to pan around. And then I do
see what I will get.
Ok, that's not bad. But nevertheless I think we should at least add a
scrollbar.
The width of the box was chosen wisely: It takes a bit less than 80
columns, to leave room for quoting in emails and to avoid wrapping of git
log output.
Maybe I'm doing something wrong, but on my system (wish8.5) the box width
changes with the window size, and gui.commitmsgwidth appears to be ignored.
Even if I close and restart git gui, the old window size is kept.

Clemens

Re: [PATCH] git gui: visually wrap lines of commit message

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:07

Clemens Buchacher [off-list ref] wrote:
On Sun, Aug 10, 2008 at 12:14:13AM +0200, Johannes Sixt wrote:
quoted
quoted
Currently you don't see the whole message anyways if the box is too small
for the text. I find that quite annoying, especially since there are
neither keys nor a scrollbar to scroll horizontally.
In this case, I use the middle mouse button to pan around. And then I do
see what I will get.
Ok, that's not bad. But nevertheless I think we should at least add a
scrollbar.
I thought the scrollbar took up too much vertical space, so I did
not want to put in a horizontal scrollbar on a box that never should
require horizontal scrolling.  As Johannes points out...
 
quoted
The width of the box was chosen wisely: It takes a bit less than 80
columns, to leave room for quoting in emails and to avoid wrapping of git
log output.
Maybe I'm doing something wrong, but on my system (wish8.5) the box width
changes with the window size, and gui.commitmsgwidth appears to be ignored.
Even if I close and restart git gui, the old window size is kept.
That's a bug, and I now understand why you have a problem.  That box
should not be resizing itself.  Its supposed to be using a fixed
width font, and have a fixed number of columns, so you can format
a message including drawing ASCII art to explain yourself clearly
as you write a change.

I'll consider a patch that fixes the box so it doesn't resize under
8.5, but I won't apply one that applies virtual line wrapping as
then we lose the what-you-see-is-what-you-get property of the editor,
and that is a very important property for git-gui users.

-- 
Shawn.

Re: [PATCH] git gui: visually wrap lines of commit message

From: Lars Noschinski <hidden>
Date: 2016-06-15 22:45:07

* Shawn O. Pearce [off-list ref] [08-08-10 04:25]:
quoted
Maybe I'm doing something wrong, but on my system (wish8.5) the box width
changes with the window size, and gui.commitmsgwidth appears to be ignored.
Even if I close and restart git gui, the old window size is kept.
That's a bug, and I now understand why you have a problem.  That box
should not be resizing itself.  Its supposed to be using a fixed
width font, and have a fixed number of columns, so you can format
a message including drawing ASCII art to explain yourself clearly
as you write a change.
The box always resizes, unless the window is wide enough. But I do not
see a good way to fix that.

Re: [PATCH] git gui: visually wrap lines of commit message

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:45:07

Lars Noschinski [off-list ref] wrote:
* Shawn O. Pearce [off-list ref] [08-08-10 04:25]:
quoted
quoted
Maybe I'm doing something wrong, but on my system (wish8.5) the box width
changes with the window size, and gui.commitmsgwidth appears to be ignored.
Even if I close and restart git gui, the old window size is kept.
That's a bug, and I now understand why you have a problem.  That box
should not be resizing itself.  Its supposed to be using a fixed
width font, and have a fixed number of columns, so you can format
a message including drawing ASCII art to explain yourself clearly
as you write a change.
The box always resizes, unless the window is wide enough. But I do not
see a good way to fix that.
Oh, you mean the window isn't large enough to show the full column
width of the text area?  But if you make it large enough, the box
stops expanding?

-- 
Shawn.

Re: [PATCH] git gui: visually wrap lines of commit message

From: Clemens Buchacher <hidden>
Date: 2016-06-15 22:45:07

On Sun, Aug 10, 2008 at 12:59:13AM -0700, Shawn O. Pearce wrote:
Oh, you mean the window isn't large enough to show the full column
width of the text area?  But if you make it large enough, the box
stops expanding?
Yes, that is indeed the case. Sorry I missed that.

Knowing the trick with the middle mouse button, I can also live without a
scrollbar. So this issue is resolved for me.

Clemens
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help