Bug 457730 - Additional %u in recently-used.xbel exec attributes
Summary: Additional %u in recently-used.xbel exec attributes
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kio
Classification: Frameworks and Libraries
Component: Places (other bugs)
Version First Reported In: git master
Platform: Other Linux
: NOR minor
Target Milestone: ---
Assignee: KIO Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-10 18:36 UTC by Fabian Vogt
Modified: 2023-04-20 16:28 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Vogt 2022-08-10 18:36:45 UTC
While looking at recently-used.xbel for another bug, I noticed that all exec entries had "%u" appended unconditionally, e.g.

          <bookmark:application name="org.kde.kmail2" exec="kmail -qwindowtitle %c %u %u" modified="2022-08-04T18:31:13.290000Z" count="1"/>
          <bookmark:application name="org.kde.kate" exec="kate -b %U %u" modified="2022-08-04T18:34:30.890000Z" count="1"/>
          <bookmark:application name="vivaldi-stable" exec="/usr/bin/vivaldi-stable %U %u" modified="2022-08-10T18:28:58.305000Z" count="1"/>

The specification only allows "%u" and "%f", which makes sense in this context. I don't know what effects this can have.

Maybe this can be passed through KIO::DesktopExecParser with "%u" or "%f" as "local path" to get a valid command?
Comment 1 Méven Car 2023-04-01 15:17:03 UTC
The %u is interpreted according to :
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html

This is a valid bug we should have %u or %U but not both or two %u.
Comment 2 Bug Janitor Service 2023-04-01 15:27:51 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kio/-/merge_requests/1240
Comment 3 Méven Car 2023-04-20 16:28:30 UTC
Git commit 3610d96ea04b8af1d1bac3d3a023386417782b94 by Méven Car.
Committed on 20/04/2023 at 16:28.
Pushed by meven into branch 'master'.

KRecentDocument avoid appending %u to exec when they already contain %u or %U

Ref:
https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.1.html
https://freedesktop.org/wiki/Specifications/desktop-bookmark-spec/

M  +16   -3    src/core/krecentdocument.cpp

https://invent.kde.org/frameworks/kio/commit/3610d96ea04b8af1d1bac3d3a023386417782b94