From: Bert Wesarg Date: Sat, 22 Oct 2011 15:41:51 GMT Subject: Re: [PATCH] git-gui: delegate selection from gutter columns to text output Message-ID: In-Reply-To: <87ehy63rvx.fsf@fox.patthoyts.tk> On Sat, Oct 22, 2011 at 00:24, Pat Thoyts wrote: > Bert Wesarg writes: > >>Selecting in the gutter columns of the blame view should make no sense, >>so delegate any selection action in these columns to the text output >>by selecting whole lines there. >> >>Signed-off-by: Bert Wesarg >>--- >> git-gui.sh    |   20 ++++++++++++++++++++ >> lib/blame.tcl |    4 +++- >> 2 files changed, 23 insertions(+), 1 deletions(-) >> >>diff --git a/git-gui.sh b/git-gui.sh >>index 21033cb..cf5ed79 100755 >>--- a/git-gui.sh >>+++ b/git-gui.sh >>@@ -2077,6 +2077,26 @@ proc many2scrollbar {list mode sb top bottom} { >>       foreach w $list {$w $mode moveto $top} >> } >> >>+proc delegate_sel_to {w from} { >>+      set bind_list [list \ >>+               \ >>+               \ >>+               \ >>+               \ >>+               \ >>+               \ >>+               \ >>+      ] >>+ >>+      foreach seq $bind_list { >>+              set script [bind Text $seq] >>+              set new_script [string map [list %W $w %x 0 word line] $script] >>+              foreach f $from { >>+                      bind $f $seq "$new_script; break" >>+              } >>+      } >>+} >>+ >> proc incr_font_size {font {amt 1}} { >>       set sz [font configure $font -size] >>       incr sz $amt >>diff --git a/lib/blame.tcl b/lib/blame.tcl >>index 49eae19..9ab0da5 100644 >>--- a/lib/blame.tcl >>+++ b/lib/blame.tcl >>@@ -210,6 +210,8 @@ constructor new {i_commit i_path i_jump} { >> >>       set w_columns [list $w_amov $w_asim $w_line $w_file] >> >>+      delegate_sel_to $w_file [list $w_amov $w_asim $w_line] >>+ >>       ${NS}::scrollbar $w.file_pane.out.sbx \ >>               -orient h \ >>               -command [list $w_file xview] >>@@ -315,7 +317,7 @@ constructor new {i_commit i_path i_jump} { >>               $i conf -yscrollcommand \ >>                       "[list ::searchbar::scrolled $finder] >>                        [list many2scrollbar $w_columns yview $w.file_pane.out.sby]" >>-              bind $i " >>+              bind $i "+ >>                       [cb _hide_tooltip] >>                       [cb _click $i @%x,%y] >>                       focus $i > > The patch seems to be fine but I don't think I agree with the intention > here. Currently clicking anywhere that is not marked as a link (blue > underlined text) selects a commit and shows information in the lower > pane. With this change, the left hand columns become inactive in regards > to selecting a commit. I don't see why that is desirable. Sorry, this was not intended. And I thought I took care for it with the last hunk. I have a look at it again. Bert > > -- > Pat Thoyts                            http://www.patthoyts.tk/ > PGP fingerprint 2C 6E 98 07 2C 59 C8 97  10 CE 11 E6 04 E0 B9 DD >