M config/ui.go => config/ui.go +2 -0
@@ 45,6 45,7 @@ type UIConfig struct {
NewMessageBell bool `ini:"new-message-bell"`
Spinner string `ini:"spinner"`
SpinnerDelimiter string `ini:"spinner-delimiter"`
+ SpinnerInterval time.Duration `ini:"spinner-interval"`
IconUnencrypted string `ini:"icon-unencrypted"`
IconEncrypted string `ini:"icon-encrypted"`
IconSigned string `ini:"icon-signed"`
@@ 150,6 151,7 @@ func defaultUiConfig() *UIConfig {
FuzzyComplete: false,
Spinner: "[..] , [..] , [..] , [..] , [..], [..] , [..] , [..] ",
SpinnerDelimiter: ",",
+ SpinnerInterval: 200 * time.Millisecond,
IconUnencrypted: "",
IconSigned: "[s]",
IconEncrypted: "[e]",
M doc/aerc-config.5.scd => doc/aerc-config.5.scd +5 -0
@@ 183,6 183,11 @@ These options are configured in the *[ui]* section of _aerc.conf_.
Default: _,_
+*spinner-interval* = _<duration>_
+ The delay between each spinner frame
+
+ Default: _200ms_
+
*sort* = _<criteria>_
List of space-separated criteria to sort the messages by, see *:sort*
command in *aerc*(1) for reference. Prefixing a criterion with _-r_
M widgets/spinner.go => widgets/spinner.go +11 -9
@@ 13,18 13,20 @@ import (
)
type Spinner struct {
- frame int64 // access via atomic
- frames []string
- stop chan struct{}
- style tcell.Style
+ frame int64 // access via atomic
+ frames []string
+ interval time.Duration
+ stop chan struct{}
+ style tcell.Style
}
func NewSpinner(uiConf *config.UIConfig) *Spinner {
spinner := Spinner{
- stop: make(chan struct{}),
- frame: -1,
- frames: strings.Split(uiConf.Spinner, uiConf.SpinnerDelimiter),
- style: uiConf.GetStyle(config.STYLE_SPINNER),
+ stop: make(chan struct{}),
+ frame: -1,
+ interval: uiConf.SpinnerInterval,
+ frames: strings.Split(uiConf.Spinner, uiConf.SpinnerDelimiter),
+ style: uiConf.GetStyle(config.STYLE_SPINNER),
}
return &spinner
}
@@ 45,7 47,7 @@ func (s *Spinner) Start() {
atomic.StoreInt64(&s.frame, -1)
s.stop <- struct{}{}
return
- case <-time.After(200 * time.Millisecond):
+ case <-time.After(s.interval):
atomic.AddInt64(&s.frame, 1)
ui.QueueRedraw()
}