diff --git a/internal/app/darktile/gui/input.go b/internal/app/darktile/gui/input.go index aea8d4e..6cd159c 100644 --- a/internal/app/darktile/gui/input.go +++ b/internal/app/darktile/gui/input.go @@ -168,6 +168,8 @@ func (g *GUI) handleInput() error { return g.terminal.WriteToPty([]byte{0x09}) // tab case g.keyState.RepeatPressed(ebiten.KeyEscape): + g.terminal.GetActiveBuffer().ClearSelection() + g.terminal.GetActiveBuffer().ClearHighlight() return g.terminal.WriteToPty([]byte{0x1b}) // escape case g.keyState.RepeatPressed(ebiten.KeyBackspace): if ebiten.IsKeyPressed(ebiten.KeyAlt) { diff --git a/internal/app/darktile/gui/mouse.go b/internal/app/darktile/gui/mouse.go index 1728b5f..8e3699b 100644 --- a/internal/app/darktile/gui/mouse.go +++ b/internal/app/darktile/gui/mouse.go @@ -121,6 +121,9 @@ func (g *GUI) handleMouse() error { Col: uint16(col), }) } + + ebiten.ScheduleFrame() + } else { g.mouseDrag = false } @@ -222,7 +225,7 @@ func (g *GUI) handleClick(clickCount, x, y int) (bool, error) { line := uint64(y / g.fontManager.CharSize().Y) g.terminal.GetActiveBuffer().SelectWordAt(termutil.Position{Col: col, Line: line}, wordMatcher) return true, nil - case 3: // triple click + default: // triple click (or more!) g.terminal.GetActiveBuffer().ExtendSelectionToEntireLines() return true, nil }