> From: Juri Linkov > Cc: 18132@debbugs.gnu.org > Date: Wed, 22 May 2024 09:16:18 +0300 > > > I completely agree. This is what I tried to do, > > but couldn't find a way to refactor this amalgamation > > in dired-guess-shell-alist-default. We need to split it > > to two parts, so users without XDG will have: > > > > 1. better ones from dired-guess-shell-alist-default > > 2. worse ones from dired-guess-shell-alist-default > > > > And users with XDG should be able to have: > > > > 1. better ones from dired-guess-shell-alist-default > > 2. XDG commands > > 3. worse ones from dired-guess-shell-alist-default > > > > Probably I'll move the worse ones to a new variable > > 'dired-guess-shell-alist-default-2'. > > Ok, here is a new list 'dired-guess-shell-alist-optional' > that contains rare commands that don't exist on many systems. > > So now the default order of a list of commands to select with M-n > for M-!, ! in Dired and the Dired context menu with this patch > is the following: > > 1. commands from dired-guess-shell-alist-user > 2. commands from dired-guess-shell-alist-default > 3. commands found by XDG on user's system > 4. commands found by mailcap on user's system > 5. rare commands from dired-guess-shell-alist-optional What about optionally letting the system facilities present the menu of appropriate commands and let the user select from that menu? E.g., on MS-Windows I can do (w32-shell-execute "openas" "d:/foo/bar/baz.pdf") and get this menu to select from: