aboutsummaryrefslogtreecommitdiffstats
path: root/widgets
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2022-10-12 00:55:49 +0200
committerRobin Jarry <robin@jarry.cc>2022-10-16 11:35:20 +0200
commitc95961fc74585b4284441863c2ebc77a31ea7332 (patch)
tree9d087fbcde3920dbb39d0f6fed405cb748f74bfa /widgets
parent9cf69747ebc9b7d1504e07cec02866e748d57377 (diff)
downloadaerc-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.go6
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
}