gnomeExtensions.fuzzy-app-search: 4 -> 4.0.1

This commit is contained in:
Ryan Horiguchi 2021-05-19 12:08:14 +02:00
parent 1dbb8fa2be
commit 3b34293b28
No known key found for this signature in database
GPG key ID: CA7EE98D45A1132A
2 changed files with 3 additions and 55 deletions

View file

@ -2,21 +2,19 @@
stdenv.mkDerivation rec {
pname = "gnome-shell-extension-fuzzy-app-search";
version = "4";
version = "4.0.1";
src = fetchFromGitLab {
owner = "Czarlie";
repo = "gnome-fuzzy-app-search";
rev = "da9c15d39958d9c3b38df3b616fd40b85aed24e5";
sha256 = "1r3qha530s97x818znn1wi76f4x9bhlgi7jlxfwjnrwys62cv5fn";
rev = "v${version}";
sha256 = "127n3jc5d6cl0yrpjf8acdj76br97knks1wx4f6jcswkx9x47w0a";
};
uuid = "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com";
nativeBuildInputs = [ glib ];
patches = [ ./fix-desktop-file-paths.patch ];
makeFlags = [ "INSTALL_PATH=$(out)/share/gnome-shell/extensions" ];
meta = with lib; {

View file

@ -1,50 +0,0 @@
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 = {};