diff options
author | Robin Jarry <robin@jarry.cc> | 2022-10-12 00:55:49 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2022-10-16 11:35:20 +0200 |
commit | c95961fc74585b4284441863c2ebc77a31ea7332 (patch) | |
tree | 9d087fbcde3920dbb39d0f6fed405cb748f74bfa /widgets | |
parent | 9cf69747ebc9b7d1504e07cec02866e748d57377 (diff) | |
download | aerc-c95961fc74585b4284441863c2ebc77a31ea7332.tar.gz |
filters: append well known dirs to exec PATH
To allow referencing built-in filters without hard coding a path during
installation, append the following folders to the exec PATH when running
the filter commands:
~/.config/aerc/filters
~/.local/share/aerc/filters
$PREFIX/share/aerc/filters
/usr/share/aerc/filters
If a filter script has the same name than a command in the default exec
PATH, it will not shadow it. In that edge case, the absolute path to the
filter script must be specified.
Suggested-by: Teo Luppi <me@luppi.uk>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
Diffstat (limited to 'widgets')
-rw-r--r-- | widgets/msgviewer.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/widgets/msgviewer.go b/widgets/msgviewer.go index 8904758d..19a28f02 100644 --- a/widgets/msgviewer.go +++ b/widgets/msgviewer.go @@ -577,6 +577,12 @@ func NewPartViewer(acct *AccountView, conf *config.AercConfig, } } if filter != nil { + path, _ := os.LookupEnv("PATH") + for _, dir := range config.SearchDirs { + path += fmt.Sprintf(":%s/filters", dir) + } + filter.Env = os.Environ() + filter.Env = append(filter.Env, fmt.Sprintf("PATH=%s", path)) if pipe, err = filter.StdinPipe(); err != nil { return nil, err } |