gnome48Extensions: init

Updating `gnomeExtensions.gtk4-desktop-icons-ng-ding` broke the patch so it was rebased.
Additionally, there were some more programs that needed to be patched in:
- `update-desktop-database` and `gtk-update-icon-cache`: https://gitlab.com/smedius/desktop-icons-ng/commit/0a8e21b105967af28e0b1c085561e7e3bfa3cced
- `xdg-user-dirs`: https://gitlab.com/smedius/desktop-icons-ng/commit/e4c237ddf147f8e95789db4c93f40cceba7ef21d
Not adding the following, users will probably need to have them installed if they expect to work with those files:
- `7z` and `zipinfo`: https://gitlab.com/smedius/desktop-icons-ng/commit/b67c3ef94e64dd4ae2e0eac745e6f340df800335

Co-Authored-By: Jan Tojnar <jtojnar@gmail.com>
This commit is contained in:
Honnip
2025-05-09 13:48:05 +02:00
committed by Jan Tojnar
co-authored by Jan Tojnar
parent 011661bdd3
commit b34b339d4e
8 changed files with 1894 additions and 1177 deletions
+13 -12
View File
@@ -4,25 +4,26 @@
"apps-menu@gnome-shell-extensions.gcampax.github.com"
],
"persian-calendar": [
"persian-calendar@iamrezamousavi.gmail.com",
"PersianCalendar@oxygenws.com"
"PersianCalendar@oxygenws.com",
"persian-calendar@iamrezamousavi.gmail.com"
],
"system-monitor": [
"system-monitor@gnome-shell-extensions.gcampax.github.com",
"System_Monitor@bghome.gmail.com"
"System_Monitor@bghome.gmail.com",
"system-monitor@gnome-shell-extensions.gcampax.github.com"
],
"fuzzy-clock": [
"fuzzy-clock@keepawayfromfire.co.uk",
"FuzzyClock@fire-man-x",
"FuzzyClock@johngoetz",
"FuzzyClock@fire-man-x"
"fuzzy-clock@keepawayfromfire.co.uk"
],
"battery-time": [
"batterytime@typeof.pw",
"batime@martin.zurowietz.de"
"batime@martin.zurowietz.de",
"battery-time@eetumos.github.com",
"batterytime@typeof.pw"
],
"nepali-calendar": [
"nepali-date@biplab",
"nepali-calendar-gs-extension@subashghimire.info.np"
"nepali-calendar-gs-extension@subashghimire.info.np",
"nepali-date@biplab"
],
"mouse-follows-focus": [
"mouse-follows-focus@crisidev.org",
@@ -33,8 +34,8 @@
"power-profile@fthx"
],
"fullscreen-to-empty-workspace": [
"fullscreen-to-empty-workspace@aiono.dev",
"fullscreen-to-empty-workspace2@corgijan.dev"
"fullscreen-to-empty-workspace2@corgijan.dev",
"fullscreen-to-empty-workspace@aiono.dev"
],
"eur-usd": [
"eur-usd-gshell@vezza.github.com",
@@ -76,6 +76,7 @@ rec {
gnome45Extensions = mapUuidNames (produceExtensionsList "45");
gnome46Extensions = mapUuidNames (produceExtensionsList "46");
gnome47Extensions = mapUuidNames (produceExtensionsList "47");
gnome48Extensions = mapUuidNames (produceExtensionsList "48");
# Keep the last three versions in here
gnomeExtensions = lib.trivial.pipe (gnome45Extensions // gnome46Extensions // gnome47Extensions) [
@@ -27,6 +27,9 @@
vte,
wrapGAppsHook3,
xdg-utils,
gtk4,
desktop-file-utils,
xdg-user-dirs,
}:
let
# Helper method to reduce redundancy
@@ -128,7 +131,10 @@ lib.trivial.pipe super [
inherit gjs;
util_linux = util-linux;
xdg_utils = xdg-utils;
nautilus_gsettings_path = "${glib.getSchemaPath nautilus}";
gtk_update_icon_cache = "${gtk4.out}/bin/gtk4-update-icon-cache";
update_desktop_database = "${desktop-file-utils.out}/bin/update-desktop-database";
xdg_user_dirs = lib.getExe xdg-user-dirs;
nautilus_gsettings_path = glib.getSchemaPath nautilus;
})
];
}))
@@ -1,19 +1,59 @@
diff --git a/app/ding.js b/app/ding.js
index 1062bc7..c312d48 100755
diff --git a/app/adw-ding.js b/app/adw-ding.js
index 42cb878c..929ddce2 100755
--- a/app/adw-ding.js
+++ b/app/adw-ding.js
@@ -1,4 +1,4 @@
-#!/usr/bin/env -S gjs -m
+#!@gjs@/bin/gjs -m
/* DING: Desktop Icons New Generation for GNOME Shell
/* ADW-DING: Desktop Icons New Generation for GNOME Shell
*
@@ -535,7 +535,7 @@ const adWDingApp = GObject.registerClass(
]);
const updated = await GLib.spawn_command_line_async(
- 'gtk-update-icon-cache ' +
+ '@gtk_update_icon_cache@ ' +
'-q -t -f ' +
`${iconCachePath}`
);
@@ -566,7 +566,7 @@ const adWDingApp = GObject.registerClass(
// and we need to do it manually for the app to be
// available sooner
const updated = await GLib.spawn_command_line_async(
- 'update-desktop-database -q ' +
+ '@update_desktop_database@ -q ' +
`${GLib.path_get_dirname(appDesktopFile)}`
);
diff --git a/app/adwPreferencesWindow.js b/app/adwPreferencesWindow.js
index 93d53554..8f5bb8fe 100644
--- a/app/adwPreferencesWindow.js
+++ b/app/adwPreferencesWindow.js
@@ -540,7 +540,7 @@ const AdwPreferencesWindow = class {
}
setDesktopFolder(path) {
- const command = 'xdg-user-dirs-update --set DESKTOP';
+ const command = '@xdg_user_dirs@/bin/xdg-user-dirs-update --set DESKTOP';
try {
GLib.spawn_command_line_async(
@@ -564,7 +564,7 @@ const AdwPreferencesWindow = class {
}
getCurrentDesktopFolder() {
- const command = 'xdg-user-dir DESKTOP';
+ const command = '@xdg_user_dirs@/bin/xdg-user-dir DESKTOP';
const decoder = new TextDecoder();
const [, out,, status] = GLib.spawn_command_line_sync(command);
diff --git a/app/enums.js b/app/enums.js
index 2b541f3..594d288 100644
index 5434fa7a..e36d3670 100644
--- a/app/enums.js
+++ b/app/enums.js
@@ -124,7 +124,8 @@ export const THUMBNAILS_DIR = '.cache/thumbnails';
export const DND_HOVER_TIMEOUT = 500; // In milliseconds
@@ -134,7 +134,8 @@ export const THUMBNAILS_DIR = '.cache/thumbnails';
export const DND_HOVER_TIMEOUT = 1500; // In milliseconds
export const DND_SHELL_HOVER_POLL = 200; // In milliseconds
export const TOOLTIP_HOVER_TIMEOUT = 1000; // In milliseconds
-export const XDG_EMAIL_CMD = 'xdg-email';
@@ -23,40 +63,40 @@ index 2b541f3..594d288 100644
export const ZIP_CMD = 'zip';
export const ZIP_CMD_OPTIONS = '-r';
diff --git a/app/preferences.js b/app/preferences.js
index 6849a86..83a7247 100644
index 95ffe60b..75370403 100644
--- a/app/preferences.js
+++ b/app/preferences.js
@@ -29,6 +29,7 @@ const Preferences = class {
this._programVersion = Data.programversion;
@@ -30,6 +30,7 @@ const Preferences = class {
this._mainApp = Data.mainApp;
this._Enums = Data.Enums;
let schemaSource = GioSSS.get_default();
+ const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
this._desktopManager = null;
// Gtk
@@ -36,7 +37,7 @@ const Preferences = class {
this.gtkSettings = new Gio.Settings({settings_schema: schemaGtk});
// Adw Style Manager
@@ -52,7 +53,7 @@ const Preferences = class {
// Gnome Files
- let schemaObj = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
+ let schemaObj = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
const schemaObj =
- schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true);
+ schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true);
if (!schemaObj) {
this.nautilusSettings = null;
this.CLICK_POLICY_SINGLE = false;
@@ -48,7 +49,7 @@ const Preferences = class {
@@ -69,7 +70,7 @@ const Preferences = class {
// Compression
- const compressionSchema = schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
+ const compressionSchema = schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
if (!compressionSchema)
const compressionSchema =
- schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
+ schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true);
if (!compressionSchema) {
this.nautilusCompression = null;
else
diff --git a/dingManager.js b/dingManager.js
index f1b497f..29f2156 100644
index 7a0de9e3..bbc23704 100644
--- a/dingManager.js
+++ b/dingManager.js
@@ -401,7 +401,7 @@ const DingManager = class {
@@ -482,7 +482,7 @@ const DingManager = class {
async _doKillAllOldDesktopProcesses() {
const procFolder = Gio.File.new_for_path('/proc');
const processes = await FileUtils.enumerateDir(procFolder);
@@ -64,21 +104,21 @@ index f1b497f..29f2156 100644
+ const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([
this.path,
'app',
'ding.js',
@@ -425,7 +425,7 @@ const DingManager = class {
}
'adw-ding.js',
@@ -510,7 +510,7 @@ const DingManager = class {
if (contents.startsWith(thisPath)) {
- let proc = new Gio.Subprocess({argv: ['/bin/kill', filename]});
+ let proc = new Gio.Subprocess({argv: ['@util_linux@/bin/kill', filename]});
let proc =
- new Gio.Subprocess({argv: ['/bin/kill', filename]});
+ new Gio.Subprocess({argv: ['@util_linux@/bin/kill', filename]});
proc.init(null);
console.log(`Killing old DING process ${filename}`);
await proc.wait_async_promise(null);
diff --git a/prefs.js b/prefs.js
index 5ed03f6..5302836 100644
index 50430fa5..82fca2e3 100644
--- a/prefs.js
+++ b/prefs.js
@@ -30,7 +30,8 @@ export default class dingPreferences extends ExtensionPreferences {
@@ -34,7 +34,8 @@ export default class dingPreferences extends ExtensionPreferences {
const schemaSource = GioSSS.get_default();
const schemaGtk = schemaSource.lookup(Enums.SCHEMA_GTK, true);
const gtkSettings = new Gio.Settings({settings_schema: schemaGtk});
@@ -86,5 +126,5 @@ index 5ed03f6..5302836 100644
+ const schemaSourceNautilus = Gio.SettingsSchemaSource.new_from_directory('@nautilus_gsettings_path@', Gio.SettingsSchemaSource.get_default(), true);
+ const schemaNautilus = schemaSourceNautilus.lookup(Enums.SCHEMA_NAUTILUS, true);
const version = this.metadata['version-name'];
let nautilusSettings;
if (!schemaNautilus)
@@ -17,6 +17,7 @@
"fuzzy-clock@keepawayfromfire.co.uk" = "fuzzy-clock-2";
"FuzzyClock@johngoetz" = "fuzzy-clock";
"battery-time@eetumos.github.com" = "battery-time-3";
"batterytime@typeof.pw" = "battery-time-2";
"batime@martin.zurowietz.de" = "battery-time";
File diff suppressed because one or more lines are too long
@@ -31,6 +31,7 @@ supported_versions = {
"45": "45",
"46": "46",
"47": "47",
"48": "48",
}
# shell versions that we want to put into the gnomeExtensions attr set
+1
View File
@@ -17527,6 +17527,7 @@ with pkgs;
gnome45Extensions
gnome46Extensions
gnome47Extensions
gnome48Extensions
;
gnome-extensions-cli = python3Packages.callPackage ../desktops/gnome/misc/gnome-extensions-cli { };