about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch')
-rwxr-xr-xnixpkgs/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch b/nixpkgs/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch
new file mode 100755
index 000000000000..1795f998c9bd
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnome-3/extensions/fuzzy-app-search/fix-desktop-file-paths.patch
@@ -0,0 +1,50 @@
+diff --git a/applicationsUtils.js b/applicationsUtils.js
+index 728223b..aa9f291 100644
+--- a/applicationsUtils.js
++++ b/applicationsUtils.js
+@@ -44,27 +44,24 @@ var Search = new Lang.Class({
+      * @return {Void}
+      */
+     _init: function () {
+-        let dir = [
+-            "/usr/share/applications",
+-            GLib.get_home_dir() + "/.local/share/applications",
+-        ];
+-
+-        // listen object - file/monitor list
+-        this._listen = dir.map((path) => {
+-            let file = Gio.File.new_for_path(path);
+-            let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null);
+-
+-            // refresh on each directory change
+-            monitor.connect(
+-                "changed",
+-                Lang.bind(this, this._handleMonitorChanged)
+-            );
+-
+-            return {
+-                file: file,
+-                monitor: monitor,
+-            };
+-        });
++        this._listen = [...new Set(GLib.get_system_data_dirs())]
++            .filter((path) => path.endsWith("/share"))
++            .map((path) => Gio.File.new_for_path(path + "/applications"))
++            .filter((file) => file.query_exists(null))
++            .map((file) => {
++                let monitor = file.monitor(Gio.FileMonitorFlags.NONE, null);
++
++                // refresh on each directory change
++                monitor.connect(
++                    "changed",
++                    Lang.bind(this, this._handleMonitorChanged)
++                );
++
++                return {
++                    file: file,
++                    monitor: monitor,
++                };
++            });
+         this._interval = null;
+         this._data = {};
+ 
\ No newline at end of file