gnome-shell-extensions/0001-desktop-icons-Fix-k-in-.desktop-files.patch
2025-01-07 19:27:49 +01:00

43 lines
1.9 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From f65b9f2df5bf913f8c152ea770795d2cdcb14c6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Tue, 7 Jan 2025 19:09:01 +0100
Subject: [PATCH] desktop-icons: Fix '%k' in .desktop files
In order to support Link-type .desktop files, we load the file
ourselves, and then create the AppInfo from the loaded keyfile
to avoid reading the file twice.
Unfortunately that means that the AppInfo loses the filename
information, which is necessary to substitute the '%k' macro.
In order to support both the macro and Link-type .desktop files,
we have to take the hit and let GIO read the file again.
---
extensions/desktop-icons/fileItem.js | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/extensions/desktop-icons/fileItem.js b/extensions/desktop-icons/fileItem.js
index 1c9a1e55..c765967b 100644
--- a/extensions/desktop-icons/fileItem.js
+++ b/extensions/desktop-icons/fileItem.js
@@ -241,13 +241,14 @@ var FileItem = class {
if (this._isDesktopFile) {
try {
const keyFile = new GLib.KeyFile();
- keyFile.load_from_file(this._file.get_path(), GLib.KeyFileFlags.NONE);
+ const path = this._file.get_path();
+ keyFile.load_from_file(path, GLib.KeyFileFlags.NONE);
const type = keyFile.get_string(
GLib.KEY_FILE_DESKTOP_GROUP, GLib.KEY_FILE_DESKTOP_KEY_TYPE);
switch (type) {
case GLib.KEY_FILE_DESKTOP_TYPE_APPLICATION:
- this._desktopFile = Gio.DesktopAppInfo.new_from_keyfile(keyFile);
+ this._desktopFile = Gio.DesktopAppInfo.new_from_filename(path);
if (!this._desktopFile) {
log(`Couldnt parse ${this._displayName} as a desktop file, will treat it as a regular file.`);
this._isValidDesktopFile = false;
--
2.47.1