summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Yerin <yyp@disroot.org>2021-04-27 21:22:35 +0300
committerHubert Hirtz <hubert@hirtz.pm>2021-04-28 10:13:54 +0200
commitb455cc9ad7694268346e26fc44a7f6cd7524e877 (patch)
tree271bdf9fded36b54393dc8ce35b7b9cff0473286
parentMake 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.go6
-rw-r--r--config.go1
-rw-r--r--doc/senpai.5.scd3
-rw-r--r--ui/ui.go5
4 files changed, 14 insertions, 1 deletions
diff --git a/app.go b/app.go
index 2d5be8c..a336588 100644
--- a/app.go
+++ b/app.go
@@ -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
diff --git a/config.go b/config.go
index dde65de..fcd4cc3 100644
--- a/config.go
+++ b/config.go
@@ -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.
diff --git a/ui/ui.go b/ui/ui.go
index 86608d1..9f730a3 100644
--- a/ui/ui.go
+++ b/ui/ui.go
@@ -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()