aerc/commands
Robin Jarry 45bff88515 open: allow overriding default program
Instead of xdg-open (or open on MacOS), allow forcing a program to open
a message part. The program is determined in that order of priority:

1) If :open has arguments, they will be used as command to open the
   attachment. If the arguments contain the {} placeholder, the
   temporary file will be substituted, otherwise the file path is added
   at the end of the arguments.

2) If a command is specified in the [openers] section of aerc.conf for
   the part MIME type, then it is used with the same rules of {}
   substitution.

3) Finally, fallback to xdg-open/open with the file path as argument.

Update the docs and default config accordingly with examples.

Fixes: https://todo.sr.ht/~rjarry/aerc/64
Co-authored-by: Jason Stewart <support@eggplantsd.com>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Moritz Poldrack <moritz@poldrack.dev>
2022-10-01 15:47:25 +02:00
..
account go: removed io/ioutil 2022-08-22 09:30:19 +02:00
compose switch: update status line 2022-09-20 21:05:15 +02:00
mode lint: simplify code (gosimple) 2022-08-04 21:57:52 +02:00
msg open: simplify code 2022-10-01 15:46:49 +02:00
msgview open: allow overriding default program 2022-10-01 15:47:25 +02:00
terminal lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
cd.go statusline-format: add %p placeholder for current path 2022-09-19 21:25:10 +02:00
choose.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
commands.go commands: implement prompt completion 2022-07-02 18:36:40 +02:00
ct.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
exec.go tabs: rename SelectedTab to SelectedTabContent 2022-07-23 22:00:21 +02:00
global.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
help.go binds: display active keybinds in a dialog box 2022-08-22 09:30:37 +02:00
history.go history: store command history in a file 2022-09-14 20:51:51 +02:00
move-tab.go lint: work nicely with wrapped errors (errorlint) 2022-08-04 21:58:04 +02:00
new-account.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
next-tab.go statusline: implement per-account status 2022-03-18 23:42:07 +01:00
pin-tab.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
prompt.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
pwd.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
quit.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
set.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
term.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
util.go util: fetch message headers for nil messages 2022-08-22 09:30:37 +02:00
z.go commands: add zoxide support via :z 2022-09-13 23:22:50 +02:00