* bug#74467: 31.0.50; org-protocol emacsclient.desktop change is not fully functional
@ 2024-11-21 18:53 Alexey Lebedeff via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-23 13:12 ` Eli Zaretskii
0 siblings, 1 reply; 3+ messages in thread
From: Alexey Lebedeff via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-21 18:53 UTC (permalink / raw)
To: 74467
The change introduced by
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65469 doesn't work anymore
in 'generic' desktop environment (as detected by 'xdg-open').
I assume it works in some desktop environments, where `xdg-open`
delegates opening to the desktop environment itself. But there is also a
`generic` version, which tries to implent XDG specification itself.
On 2023-10-03 there was a change introduced in xdg-utils
https://cgit.freedesktop.org/xdg/xdg-utils/commit/?id=b9d3ecf8180c57dbb5ca47253898ba0553e81c60
to more strictly follow xdg specification, and only pass URL-like
arguments to programs that explicitly requested this by using '%u' or
'%U' parameters.
'etc/emacsclient.desktop' uses '%F' parameter, which should be used for
programs that do not understand the URL syntax
(https://specifications.freedesktop.org/desktop-entry-spec/latest/exec-variables.html
- section about '%f', but also applies to '%F').
"x-scheme-handler/org-protocol" is the only URL-like protocol that's
mentioned in the 'etc/emacsclient.desktop', but 'xdg-open' refuses to
use it.
Just changing '%F' to '%U' in 'etc/emacsclient.desktop' is not possible,
as it allows 'xdg-open' to pass local files as "file:/" URL's if it
wants to.
One solution would be introducing separate .desktop file
(i.e. 'etc/emacsclient-org-protocol.desktop'), analoguous to the already
existing 'etc/emacsclient-mail.desktop' (which uses '%u').
In GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
3.24.43, cairo version 1.18.0)
Repository revision: 9cfd13ff44e8d6f56a1025207c833ab45a7d51ba
Repository branch: master
System Description: NixOS 24.05 (Uakari)
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#74467: 31.0.50; org-protocol emacsclient.desktop change is not fully functional
2024-11-21 18:53 bug#74467: 31.0.50; org-protocol emacsclient.desktop change is not fully functional Alexey Lebedeff via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-11-23 13:12 ` Eli Zaretskii
2024-11-23 19:58 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 3+ messages in thread
From: Eli Zaretskii @ 2024-11-23 13:12 UTC (permalink / raw)
To: Alexey Lebedeff, Ihor Radchenko; +Cc: 74467
> Date: Thu, 21 Nov 2024 18:53:21 +0000
> From: Alexey Lebedeff via "Bug reports for GNU Emacs,
> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
> The change introduced by
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65469 doesn't work anymore
> in 'generic' desktop environment (as detected by 'xdg-open').
>
> I assume it works in some desktop environments, where `xdg-open`
> delegates opening to the desktop environment itself. But there is also a
> `generic` version, which tries to implent XDG specification itself.
>
> On 2023-10-03 there was a change introduced in xdg-utils
> https://cgit.freedesktop.org/xdg/xdg-utils/commit/?id=b9d3ecf8180c57dbb5ca47253898ba0553e81c60
> to more strictly follow xdg specification, and only pass URL-like
> arguments to programs that explicitly requested this by using '%u' or
> '%U' parameters.
>
> 'etc/emacsclient.desktop' uses '%F' parameter, which should be used for
> programs that do not understand the URL syntax
> (https://specifications.freedesktop.org/desktop-entry-spec/latest/exec-variables.html
> - section about '%f', but also applies to '%F').
>
> "x-scheme-handler/org-protocol" is the only URL-like protocol that's
> mentioned in the 'etc/emacsclient.desktop', but 'xdg-open' refuses to
> use it.
>
> Just changing '%F' to '%U' in 'etc/emacsclient.desktop' is not possible,
> as it allows 'xdg-open' to pass local files as "file:/" URL's if it
> wants to.
>
> One solution would be introducing separate .desktop file
> (i.e. 'etc/emacsclient-org-protocol.desktop'), analoguous to the already
> existing 'etc/emacsclient-mail.desktop' (which uses '%u').
Ihor, could you please look into this?
(Each time such issues pop up, I regret again that we agreed to
include these *.desktop files in our source tree, sigh.)
^ permalink raw reply [flat|nested] 3+ messages in thread
* bug#74467: 31.0.50; org-protocol emacsclient.desktop change is not fully functional
2024-11-23 13:12 ` Eli Zaretskii
@ 2024-11-23 19:58 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 0 replies; 3+ messages in thread
From: Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-11-23 19:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 74467, Alexey Lebedeff, Ihor Radchenko
Eli Zaretskii <eliz@gnu.org> writes:
> (Each time such issues pop up, I regret again that we agreed to
> include these *.desktop files in our source tree, sigh.)
Part of the issue with the desktop files is that someone of some them
try to execute multiple lines of shell script in them which can always
create issues.
It would be much better if desktop file calls only emacsclient
and it takes care by itself if DISPLAY is set and doesn't use sh.
Can Emacs handle file:/ URI's? If so simply changing from %F to %U would
be an option.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-11-23 19:58 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-21 18:53 bug#74467: 31.0.50; org-protocol emacsclient.desktop change is not fully functional Alexey Lebedeff via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-23 13:12 ` Eli Zaretskii
2024-11-23 19:58 ` Björn Bidar via Bug reports for GNU Emacs, the Swiss army knife of text editors
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).