aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hotline/client.go13
-rw-r--r--hotline/ui.go2
2 files changed, 11 insertions, 4 deletions
diff --git a/hotline/client.go b/hotline/client.go
index 83bcfab..c7c1463 100644
--- a/hotline/client.go
+++ b/hotline/client.go
@@ -35,10 +35,11 @@ type Bookmark struct {
}
type ClientPrefs struct {
- Username string `yaml:"Username"`
- IconID int `yaml:"IconID"`
- Bookmarks []Bookmark `yaml:"Bookmarks"`
- Tracker string `yaml:"Tracker"`
+ Username string `yaml:"Username"`
+ IconID int `yaml:"IconID"`
+ Bookmarks []Bookmark `yaml:"Bookmarks"`
+ Tracker string `yaml:"Tracker"`
+ EnableBell bool `yaml:"EnableBell"`
}
func (cp *ClientPrefs) IconBytes() []byte {
@@ -466,6 +467,10 @@ func (c *Client) renderUserList() {
}
func handleClientChatMsg(c *Client, t *Transaction) (res []Transaction, err error) {
+ if c.pref.EnableBell {
+ fmt.Println("\a")
+ }
+
_, _ = fmt.Fprintf(c.UI.chatBox, "%s \n", t.GetField(fieldData).Data)
return res, err
diff --git a/hotline/ui.go b/hotline/ui.go
index 709137e..8b0a8c5 100644
--- a/hotline/ui.go
+++ b/hotline/ui.go
@@ -145,6 +145,7 @@ func (ui *UI) renderSettingsForm() *tview.Flex {
return err == nil
}, nil)
settingsForm.AddInputField("Tracker", ui.HLClient.pref.Tracker, 0, nil, nil)
+ settingsForm.AddCheckbox("Enable Terminal Bell", ui.HLClient.pref.EnableBell, nil)
settingsForm.AddButton("Save", func() {
usernameInput := settingsForm.GetFormItem(0).(*tview.InputField).GetText()
if len(usernameInput) == 0 {
@@ -154,6 +155,7 @@ func (ui *UI) renderSettingsForm() *tview.Flex {
iconStr = settingsForm.GetFormItem(1).(*tview.InputField).GetText()
ui.HLClient.pref.IconID, _ = strconv.Atoi(iconStr)
ui.HLClient.pref.Tracker = settingsForm.GetFormItem(2).(*tview.InputField).GetText()
+ ui.HLClient.pref.EnableBell = settingsForm.GetFormItem(3).(*tview.Checkbox).IsChecked()
out, err := yaml.Marshal(&ui.HLClient.pref)
if err != nil {