aboutsummaryrefslogtreecommitdiffstats
path: root/config/general.go
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2023-12-05 00:15:45 +0100
committerRobin Jarry <robin@jarry.cc>2024-01-20 21:56:52 +0100
commit5b76547c3b3566ef878d0937b5cb1e91376d2206 (patch)
tree08828400ec5005ff19bbc2e1d9502ebb986bf33a /config/general.go
parent159fb38daf5336758abc425447cf2c2ed51de59a (diff)
downloadaerc-5b76547c3b3566ef878d0937b5cb1e91376d2206.tar.gz
commands: add menu
Add a new :menu command that can be used to spawn a shell command in an interactive dialog and execute aerc commands for each of the lines printed on its standard output like xargs(1) would do in a shell. The shell command can be configured in aerc.conf under [general].default-menu-cmd and overridden via the :menu -c <cmd> option. There are two flags to provide input text to the shell command which can be useful in combination with other aerc commands: -a: All account names, one per line: '<account>' LF -d: All current account directory names, one per line: '<directory>' LF -ad: All directories of all accounts, one per line: '<account>' '<directory>' LF Here are some examples: :menu -adc fzf :cf -a :menu -c 'fzf --multi' :attach :menu -dc 'fzf --multi' :cp And also for key bindings: <C-p> = :menu -adc fzf :cf -a<Enter> Changelog-added: New `:menu` command to invoke other aerc commands based on a shell command output. Signed-off-by: Robin Jarry <robin@jarry.cc> Tested-by: Bence Ferdinandy <bence@ferdinandy.com> Tested-by: Johannes Thyssen Tishman <johannes@thyssentishman.com>
Diffstat (limited to 'config/general.go')
-rw-r--r--config/general.go1
1 files changed, 1 insertions, 0 deletions
diff --git a/config/general.go b/config/general.go
index f4149583..93794b6a 100644
--- a/config/general.go
+++ b/config/general.go
@@ -19,6 +19,7 @@ type GeneralConfig struct {
DisableIPC bool `ini:"disable-ipc"`
EnableOSC8 bool `ini:"enable-osc8" default:"false"`
Term string `ini:"term" default:"xterm-256color"`
+ DefaultMenuCmd string `ini:"default-menu-cmd"`
}
var General = new(GeneralConfig)