Expire status errors on input
This commit is contained in:
parent
a602891768
commit
e591221509
3 changed files with 21 additions and 6 deletions
|
@ -124,6 +124,7 @@ func (aerc *Aerc) Event(event tcell.Event) bool {
|
||||||
|
|
||||||
switch event := event.(type) {
|
switch event := event.(type) {
|
||||||
case *tcell.EventKey:
|
case *tcell.EventKey:
|
||||||
|
aerc.statusline.Expire()
|
||||||
aerc.pendingKeys = append(aerc.pendingKeys, config.KeyStroke{
|
aerc.pendingKeys = append(aerc.pendingKeys, config.KeyStroke{
|
||||||
Key: event.Key(),
|
Key: event.Key(),
|
||||||
Rune: event.Rune(),
|
Rune: event.Rune(),
|
||||||
|
@ -231,8 +232,16 @@ func (aerc *Aerc) focus(item libui.Interactive) {
|
||||||
aerc.focused.Focus(false)
|
aerc.focused.Focus(false)
|
||||||
}
|
}
|
||||||
aerc.focused = item
|
aerc.focused = item
|
||||||
|
interactive, ok := aerc.tabs.Tabs[aerc.tabs.Selected].Content.(ui.Interactive)
|
||||||
if item != nil {
|
if item != nil {
|
||||||
item.Focus(true)
|
item.Focus(true)
|
||||||
|
if ok {
|
||||||
|
interactive.Focus(false)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ok {
|
||||||
|
interactive.Focus(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,10 @@ func (status *StatusLine) Push(text string, expiry time.Duration) *StatusMessage
|
||||||
return msg
|
return msg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (status *StatusLine) Expire() {
|
||||||
|
status.stack = nil
|
||||||
|
}
|
||||||
|
|
||||||
func (msg *StatusMessage) Color(bg tcell.Color, fg tcell.Color) {
|
func (msg *StatusMessage) Color(bg tcell.Color, fg tcell.Color) {
|
||||||
msg.bg = bg
|
msg.bg = bg
|
||||||
msg.fg = fg
|
msg.fg = fg
|
||||||
|
|
|
@ -310,12 +310,14 @@ func (term *Terminal) Draw(ctx *ui.Context) {
|
||||||
|
|
||||||
func (term *Terminal) Focus(focus bool) {
|
func (term *Terminal) Focus(focus bool) {
|
||||||
term.focus = focus
|
term.focus = focus
|
||||||
if !term.focus {
|
if term.ctx != nil {
|
||||||
term.ctx.HideCursor()
|
if !term.focus {
|
||||||
} else {
|
term.ctx.HideCursor()
|
||||||
state := term.vterm.ObtainState()
|
} else {
|
||||||
row, col := state.GetCursorPos()
|
state := term.vterm.ObtainState()
|
||||||
term.ctx.SetCursor(col, row)
|
row, col := state.GetCursorPos()
|
||||||
|
term.ctx.SetCursor(col, row)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue