Subject: Re: bug#18132: Time for a smarter dired-guess-shell-alist-default? (dired-x.el)

From: Eli Zaretskii <[email-masked]>
Date: Wed, 22 May 2024 15:42:48 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked]
> 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:

I'd expect XDG to be able to do something very similar, can it?  If
so, can we offer that as optional behavior?

Thanks.