Re-render terminal on invalidate
This commit is contained in:
parent
3cd0d5bc28
commit
2925bdfd6c
|
@ -134,7 +134,7 @@ func NewTerminal(cmd *exec.Cmd) (*Terminal, error) {
|
||||||
}
|
}
|
||||||
screen.Flush()
|
screen.Flush()
|
||||||
term.flushTerminal()
|
term.flushTerminal()
|
||||||
term.Invalidate()
|
term.invalidate()
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
screen.OnDamage = term.onDamage
|
screen.OnDamage = term.onDamage
|
||||||
|
@ -230,6 +230,15 @@ func (term *Terminal) OnInvalidate(cb func(d ui.Drawable)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (term *Terminal) Invalidate() {
|
func (term *Terminal) Invalidate() {
|
||||||
|
if term.vterm != nil {
|
||||||
|
width, height := term.vterm.Size()
|
||||||
|
rect := vterm.NewRect(0, width, 0, height)
|
||||||
|
term.damage = append(term.damage, *rect)
|
||||||
|
}
|
||||||
|
term.invalidate()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (term *Terminal) invalidate() {
|
||||||
if term.onInvalidate != nil {
|
if term.onInvalidate != nil {
|
||||||
term.onInvalidate(term)
|
term.onInvalidate(term)
|
||||||
}
|
}
|
||||||
|
@ -415,7 +424,7 @@ func (term *Terminal) styleFromCell(cell *vterm.ScreenCell) tcell.Style {
|
||||||
|
|
||||||
func (term *Terminal) onDamage(rect *vterm.Rect) int {
|
func (term *Terminal) onDamage(rect *vterm.Rect) int {
|
||||||
term.damage = append(term.damage, *rect)
|
term.damage = append(term.damage, *rect)
|
||||||
term.Invalidate()
|
term.invalidate()
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -428,7 +437,7 @@ func (term *Terminal) onMoveCursor(old *vterm.Pos,
|
||||||
}
|
}
|
||||||
|
|
||||||
term.cursorPos = *pos
|
term.cursorPos = *pos
|
||||||
term.Invalidate()
|
term.invalidate()
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -440,7 +449,7 @@ func (term *Terminal) onSetTermProp(prop int, val *vterm.VTermValue) int {
|
||||||
}
|
}
|
||||||
case vterm.VTERM_PROP_CURSORVISIBLE:
|
case vterm.VTERM_PROP_CURSORVISIBLE:
|
||||||
term.cursorShown = val.Boolean
|
term.cursorShown = val.Boolean
|
||||||
term.Invalidate()
|
term.invalidate()
|
||||||
}
|
}
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue