summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-05-06 09:27:58 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-05-06 09:27:58 +0900
commitbf184449bc8f5d6a2e4df8a86fd4d333c85cca53 (patch)
treeaf847ca1017eb4d7c0a48194504732a457d6c7dc
parent7b98c2c653389e422aa429728298dd84b7cc18b8 (diff)
Count $FZF_CLICK_HEADER_LINE from top to bottom
Regardless of `--layout`. https://github.com/junegunn/fzf/pull/3768#issuecomment-2094806558
-rw-r--r--man/man1/fzf.12
-rw-r--r--src/terminal.go21
2 files changed, 9 insertions, 14 deletions
diff --git a/man/man1/fzf.1 b/man/man1/fzf.1
index f6a24fd9..50357030 100644
--- a/man/man1/fzf.1
+++ b/man/man1/fzf.1
@@ -1280,7 +1280,7 @@ e.g.
\fIclick-header\fR
.RS
-Triggered when a mouse click occurs within the header. Sets \fBFZF_CLICK_HEADER_LINE\fR and \fBFZF_CLICK_HEADER_COLUMN\fR environment variables.
+Triggered when a mouse click occurs within the header. Sets \fBFZF_CLICK_HEADER_LINE\fR and \fBFZF_CLICK_HEADER_COLUMN\fR environment variables starting from 1.
e.g.
\fBprintf "head1\\nhead2" | fzf --header-lines=2 --bind 'click-header:transform-prompt:printf ${FZF_CLICK_HEADER_LINE}x${FZF_CLICK_HEADER_COLUMN}'\fR
diff --git a/src/terminal.go b/src/terminal.go
index a9eb6582..918c4244 100644
--- a/src/terminal.go
+++ b/src/terminal.go
@@ -4023,10 +4023,10 @@ func (t *Terminal) Loop() {
}
}
return doActions(actionsFor(evt))
- } else {
+ } else if t.headerVisible {
// Header
- lineOffset := 0
numLines := t.visibleHeaderLines()
+ lineOffset := 0
if !t.headerFirst {
// offset for info line
if t.noSeparatorLine() {
@@ -4034,20 +4034,15 @@ func (t *Terminal) Loop() {
} else {
lineOffset = 2
}
- } else {
- // adjust for too-small window
- numItems := t.areaLines - numLines
- if !t.noSeparatorLine() {
- numItems -= 1
- }
- if numItems < 0 {
- numLines += numItems
- }
}
- my = util.Constrain(my-lineOffset, -1, numLines)
+ my -= lineOffset
mx -= 2 // offset gutter
if my >= 0 && my < numLines && mx >= 0 {
- t.clickHeaderLine = my + 1
+ if t.layout == layoutReverse {
+ t.clickHeaderLine = my + 1
+ } else {
+ t.clickHeaderLine = numLines - my
+ }
t.clickHeaderColumn = mx + 1
return doActions(actionsFor(tui.ClickHeader))
}