From a5c046efe3af8f1b3c94c9d83c214c77fa9f6697 Mon Sep 17 00:00:00 2001 From: Robin Jarry Date: Fri, 28 Jan 2022 10:17:13 +0100 Subject: dirlist: use shorter delay before listing directory contents 1 second is a bit excessive. Use 200ms which should cover most quick folder changes. Add an option to make that delay configurable by the users. References: https://todo.sr.ht/~rjarry/aerc/16 Fixes: cb3090956cfd ("dirlist: skip unnecessary change-folder action") Suggested-by: Koni Marti Signed-off-by: Robin Jarry --- config/aerc.conf.in | 7 +++++++ config/config.go | 2 ++ 2 files changed, 9 insertions(+) (limited to 'config') diff --git a/config/aerc.conf.in b/config/aerc.conf.in index 3919b39..9f45883 100644 --- a/config/aerc.conf.in +++ b/config/aerc.conf.in @@ -74,6 +74,13 @@ pinned-tab-marker='`' # Default: %n %>r dirlist-format=%n %>r +# Delay after which the messages are actually listed when entering a directory. +# This avoids loading messages when skipping over folders and makes the UI more +# responsive. If you do not want that, set it to 0s. +# +# Default: 200ms +dirlist-delay=200ms + # List of space-separated criteria to sort the messages by, see *sort* # command in *aerc*(1) for reference. Prefixing a criterion with "-r " # reverses that criterion. diff --git a/config/config.go b/config/config.go index 374fd5c..e2acbaf 100644 --- a/config/config.go +++ b/config/config.go @@ -47,6 +47,7 @@ type UIConfig struct { Spinner string `ini:"spinner"` SpinnerDelimiter string `ini:"spinner-delimiter"` DirListFormat string `ini:"dirlist-format"` + DirListDelay time.Duration `ini:"dirlist-delay"` Sort []string `delim:" "` NextMessageOnDelete bool `ini:"next-message-on-delete"` CompletionDelay time.Duration `ini:"completion-delay"` @@ -564,6 +565,7 @@ func LoadConfigFromFile(root *string, sharedir string, logger *log.Logger) (*Aer Spinner: "[..] , [..] , [..] , [..] , [..], [..] , [..] , [..] ", SpinnerDelimiter: ",", DirListFormat: "%n %>r", + DirListDelay: 200 * time.Millisecond, NextMessageOnDelete: true, CompletionDelay: 250 * time.Millisecond, CompletionPopovers: true, -- cgit v1.2.3