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 /* 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/enums.js b/app/enums.js index 5434fa7a..e36d3670 100644 --- a/app/enums.js +++ b/app/enums.js @@ -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'; +// Currently only used via https://gjs-docs.gnome.org/glib20~2.0/glib.find_program_in_path so using an absolute path is fine +export const XDG_EMAIL_CMD = '@xdg_utils@/bin/xdg-email'; export const XDG_EMAIL_CMD_OPTIONS = '--attach'; export const ZIP_CMD = 'zip'; export const ZIP_CMD_OPTIONS = '-r'; diff --git a/app/preferences.js b/app/preferences.js index 95ffe60b..75370403 100644 --- a/app/preferences.js +++ b/app/preferences.js @@ -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; // Adw Style Manager @@ -52,7 +53,7 @@ const Preferences = class { // Gnome Files const schemaObj = - schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true); + schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS, true); if (!schemaObj) { this.nautilusSettings = null; @@ -69,7 +70,7 @@ const Preferences = class { // Compression const compressionSchema = - schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true); + schemaSourceNautilus.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true); if (!compressionSchema) { this.nautilusCompression = null; diff --git a/dingManager.js b/dingManager.js index 7a0de9e3..bbc23704 100644 --- a/dingManager.js +++ b/dingManager.js @@ -482,7 +482,7 @@ const DingManager = class { async _doKillAllOldDesktopProcesses() { const procFolder = Gio.File.new_for_path('/proc'); const processes = await FileUtils.enumerateDir(procFolder); - const thisPath = `gjs ${GLib.build_filenamev([ + const thisPath = `@gjs@/bin/gjs ${GLib.build_filenamev([ this.path, 'app', 'adw-ding.js', @@ -510,7 +510,7 @@ const DingManager = class { if (contents.startsWith(thisPath)) { 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}`); diff --git a/prefs.js b/prefs.js index 50430fa5..82fca2e3 100644 --- a/prefs.js +++ b/prefs.js @@ -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}); - const schemaNautilus = schemaSource.lookup(Enums.SCHEMA_NAUTILUS, true); + 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;