Commit b34b339d authored by Honnip's avatar Honnip Committed by Jan Tojnar
Browse files

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: default avatarJan Tojnar <jtojnar@gmail.com>
parent 011661bd
Loading
Loading
Loading
Loading
+13 −12
Original line number Diff line number Diff line
@@ -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",
+1 −0
Original line number Diff line number Diff line
@@ -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) [
+7 −1
Original line number Diff line number Diff line
@@ -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;
      })
    ];
  }))
+72 −32
Original line number Diff line number Diff line
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)
+1 −0
Original line number Diff line number Diff line
@@ -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";

Loading