add deafen toggle (F1) and move voice toggle to F4
This commit is contained in:
@@ -45,7 +45,8 @@ stdin.
|
|||||||
|
|
||||||
### Key bindings
|
### Key bindings
|
||||||
|
|
||||||
- <kbd>F1</kbd>: toggle voice transmission
|
- <kbd>F1</kbd>: toggle deafen (mute + deaf)
|
||||||
|
- <kbd>F4</kbd>: toggle voice transmission
|
||||||
- <kbd>Ctrl+L</kbd>: clear chat log
|
- <kbd>Ctrl+L</kbd>: clear chat log
|
||||||
- <kbd>Tab</kbd>: toggle focus between chat and user tree
|
- <kbd>Tab</kbd>: toggle focus between chat and user tree
|
||||||
- <kbd>Page Up</kbd>: scroll chat up
|
- <kbd>Page Up</kbd>: scroll chat up
|
||||||
|
|||||||
@@ -23,7 +23,8 @@ type Barnard struct {
|
|||||||
TreeWidth int
|
TreeWidth int
|
||||||
LogFile *os.File
|
LogFile *os.File
|
||||||
|
|
||||||
Stream *gumbleopenal.Stream
|
Stream *gumbleopenal.Stream
|
||||||
|
transmitting bool
|
||||||
|
|
||||||
Ui *uiterm.Ui
|
Ui *uiterm.Ui
|
||||||
UiOutput uiterm.Textview
|
UiOutput uiterm.Textview
|
||||||
|
|||||||
51
ui.go
51
ui.go
@@ -44,18 +44,56 @@ func (b *Barnard) AddOutputMessage(sender *gumble.User, message string) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *Barnard) OnVoiceToggle(ui *uiterm.Ui, key uiterm.Key) {
|
func (b *Barnard) updateStatus() {
|
||||||
if b.UiStatus.Text == " Tx " {
|
if b.Client == nil || b.Client.Self == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if b.Client.Self.SelfDeafened {
|
||||||
|
b.UiStatus.Text = " Deaf "
|
||||||
|
b.UiStatus.Fg = uiterm.ColorWhite | uiterm.AttrBold
|
||||||
|
b.UiStatus.Bg = uiterm.ColorBlue
|
||||||
|
} else if b.transmitting {
|
||||||
|
b.UiStatus.Text = " Tx "
|
||||||
|
b.UiStatus.Fg = uiterm.ColorWhite | uiterm.AttrBold
|
||||||
|
b.UiStatus.Bg = uiterm.ColorRed
|
||||||
|
} else {
|
||||||
b.UiStatus.Text = " Idle "
|
b.UiStatus.Text = " Idle "
|
||||||
b.UiStatus.Fg = uiterm.ColorBlack
|
b.UiStatus.Fg = uiterm.ColorBlack
|
||||||
b.UiStatus.Bg = uiterm.ColorWhite
|
b.UiStatus.Bg = uiterm.ColorWhite
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b *Barnard) OnDeafenToggle(ui *uiterm.Ui, key uiterm.Key) {
|
||||||
|
if b.Client == nil || b.Client.Self == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
deaf := !b.Client.Self.SelfDeafened
|
||||||
|
b.Client.Self.SetSelfDeafened(deaf)
|
||||||
|
if deaf && b.transmitting {
|
||||||
|
b.transmitting = false
|
||||||
|
b.Stream.StopSource()
|
||||||
|
}
|
||||||
|
b.debugf("deafen=%v", deaf)
|
||||||
|
b.updateStatus()
|
||||||
|
ui.Refresh()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (b *Barnard) OnVoiceToggle(ui *uiterm.Ui, key uiterm.Key) {
|
||||||
|
if b.Client == nil || b.Client.Self == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if b.Client.Self.SelfDeafened {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if b.transmitting {
|
||||||
|
b.transmitting = false
|
||||||
b.Stream.StopSource()
|
b.Stream.StopSource()
|
||||||
} else {
|
} else {
|
||||||
b.UiStatus.Fg = uiterm.ColorWhite | uiterm.AttrBold
|
b.transmitting = true
|
||||||
b.UiStatus.Bg = uiterm.ColorRed
|
|
||||||
b.UiStatus.Text = " Tx "
|
|
||||||
b.Stream.StartSource()
|
b.Stream.StartSource()
|
||||||
}
|
}
|
||||||
|
b.debugf("transmit=%v", b.transmitting)
|
||||||
|
b.updateStatus()
|
||||||
ui.Refresh()
|
ui.Refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -150,7 +188,8 @@ func (b *Barnard) OnUiInitialize(ui *uiterm.Ui) {
|
|||||||
ui.Add(uiViewTree, &b.UiTree)
|
ui.Add(uiViewTree, &b.UiTree)
|
||||||
|
|
||||||
b.Ui.AddKeyListener(b.OnFocusPress, uiterm.KeyTab)
|
b.Ui.AddKeyListener(b.OnFocusPress, uiterm.KeyTab)
|
||||||
b.Ui.AddKeyListener(b.OnVoiceToggle, uiterm.KeyF1)
|
b.Ui.AddKeyListener(b.OnDeafenToggle, uiterm.KeyF1)
|
||||||
|
b.Ui.AddKeyListener(b.OnVoiceToggle, uiterm.KeyF4)
|
||||||
b.Ui.AddKeyListener(b.OnQuitPress, uiterm.KeyF10)
|
b.Ui.AddKeyListener(b.OnQuitPress, uiterm.KeyF10)
|
||||||
b.Ui.AddKeyListener(b.OnClearPress, uiterm.KeyCtrlL)
|
b.Ui.AddKeyListener(b.OnClearPress, uiterm.KeyCtrlL)
|
||||||
b.Ui.AddKeyListener(b.OnScrollOutputUp, uiterm.KeyPgup)
|
b.Ui.AddKeyListener(b.OnScrollOutputUp, uiterm.KeyPgup)
|
||||||
|
|||||||
Reference in New Issue
Block a user