diff options
author | Alexey Yerin <yyp@disroot.org> | 2021-04-27 21:22:35 +0300 |
---|---|---|
committer | Hubert Hirtz <hubert@hirtz.pm> | 2021-04-28 10:13:54 +0200 |
commit | b455cc9ad7694268346e26fc44a7f6cd7524e877 (patch) | |
tree | 271bdf9fded36b54393dc8ce35b7b9cff0473286 | |
parent | Make sure app.s is not nil when issuing quit (diff) |
Make mouse support optional
To not break existing users, mouse is enabled by default but you have an
option to disable it with "mouse: false" in your
/.confg/senpai/senpai.yaml.
-rw-r--r-- | app.go | 6 | ||||
-rw-r--r-- | config.go | 1 | ||||
-rw-r--r-- | doc/senpai.5.scd | 3 | ||||
-rw-r--r-- | ui/ui.go | 5 |
4 files changed, 14 insertions, 1 deletions
@@ -52,12 +52,18 @@ func NewApp(cfg Config) (app *App, err error) { } } + mouse := true + if cfg.Mouse != nil { + mouse = *cfg.Mouse + } + app.win, err = ui.New(ui.Config{ NickColWidth: cfg.NickColWidth, ChanColWidth: cfg.ChanColWidth, AutoComplete: func(cursorIdx int, text []rune) []ui.Completion { return app.completions(cursorIdx, text) }, + Mouse: mouse, }) if err != nil { return @@ -16,6 +16,7 @@ type Config struct { NoTLS bool `yaml:"no-tls"` NoTypings bool `yaml:"no-typings"` + Mouse *bool Highlights []string OnHighlight string `yaml:"on-highlight"` diff --git a/doc/senpai.5.scd b/doc/senpai.5.scd index b0d27ec..1218f73 100644 --- a/doc/senpai.5.scd +++ b/doc/senpai.5.scd @@ -68,6 +68,9 @@ Some settings are required, the others are optional. Prevent senpai from sending typing notifications which let others know when you are typing a message. Defaults to false. +*mouse* + Enable or disable mouse support. Defaults to true. + *debug* Dump all sent and received data to the home buffer, useful for debugging. By default, false. @@ -12,6 +12,7 @@ type Config struct { NickColWidth int ChanColWidth int AutoComplete func(cursorIdx int, text []rune) []Completion + Mouse bool } type UI struct { @@ -40,7 +41,9 @@ func New(config Config) (ui *UI, err error) { if err != nil { return } - ui.screen.EnableMouse() + if ui.screen.HasMouse() && config.Mouse { + ui.screen.EnableMouse() + } ui.screen.EnablePaste() w, h := ui.screen.Size() |