parent
0575931115
commit
b6c89a6120
@ -0,0 +1,39 @@
|
||||
From b9ba6b8708c18fb14033150fdb02a508457e0a17 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 2 Feb 2024 15:39:32 +0100
|
||||
Subject: [PATCH] classification-banner: Hide from picks
|
||||
|
||||
Banners are laid out via a fullscreen actor. While the actor is
|
||||
not reactive, it can still interfere with picks (for example
|
||||
during drag-and-drop operations).
|
||||
|
||||
Avoid that by explicitly hiding the actor from picks.
|
||||
---
|
||||
extensions/classification-banner/extension.js | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/classification-banner/extension.js b/extensions/classification-banner/extension.js
|
||||
index ea788022..2bde741e 100644
|
||||
--- a/extensions/classification-banner/extension.js
|
||||
+++ b/extensions/classification-banner/extension.js
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
/* exported init */
|
||||
|
||||
-const { Clutter, Gio, GLib, GObject, St } = imports.gi;
|
||||
+const { Clutter, Gio, GLib, GObject, Shell, St } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Layout = imports.ui.layout;
|
||||
@@ -34,6 +34,8 @@ class ClassificationBanner extends Clutter.Actor {
|
||||
});
|
||||
this._monitorConstraint = constraint;
|
||||
|
||||
+ Shell.util_set_hidden_from_pick(this, true);
|
||||
+
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this.connect('destroy', () => {
|
||||
if (this._fullscreenChangedId)
|
||||
--
|
||||
2.43.0
|
||||
|
@ -0,0 +1,33 @@
|
||||
From b48dae39341a3ba24eb3d142f99eb37d6b14ab41 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 2 Nov 2023 20:51:45 +0100
|
||||
Subject: [PATCH] desktop-icons: Don't try spawn with non-existent workdir
|
||||
|
||||
g_spawn_async() will fail if the specified workdir doesn't exist.
|
||||
That means that opening a terminal from the context menu will fail
|
||||
when the desktop directory doesn't exist.
|
||||
|
||||
The extension doesn't really make sense in that case, but when we
|
||||
show an "Open in Terminal" menu item even then, users expect it
|
||||
to work.
|
||||
---
|
||||
extensions/desktop-icons/desktopIconsUtil.js | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/extensions/desktop-icons/desktopIconsUtil.js b/extensions/desktop-icons/desktopIconsUtil.js
|
||||
index 57bedc13..c3fe5977 100644
|
||||
--- a/extensions/desktop-icons/desktopIconsUtil.js
|
||||
+++ b/extensions/desktop-icons/desktopIconsUtil.js
|
||||
@@ -50,6 +50,9 @@ function launchTerminal(workdir) {
|
||||
* https://gitlab.gnome.org/GNOME/gnome-shell/blob/gnome-3-30/js/misc/util.js
|
||||
*/
|
||||
|
||||
+ if (!GLib.file_test(workdir, GLib.FileTest.EXISTS))
|
||||
+ workdir = null;
|
||||
+
|
||||
var success, pid;
|
||||
try {
|
||||
[success, pid] = GLib.spawn_async(workdir, argv, null,
|
||||
--
|
||||
2.41.0
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,70 @@
|
||||
From 34d8854677513b016a08a04cdd9973b165146215 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 19 Mar 2024 13:16:50 +0100
|
||||
Subject: [PATCH 1/2] window-list: Use more appropriate fallback icon
|
||||
|
||||
'icon-missing' is not an actual icon name. It somewhat works
|
||||
because an invalid icon name will fallback to the correct
|
||||
'image-missing', however for apps the generic app icon is
|
||||
a better fallback.
|
||||
---
|
||||
extensions/window-list/extension.js | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js
|
||||
index 91ee3e6b..1f112548 100644
|
||||
--- a/extensions/window-list/extension.js
|
||||
+++ b/extensions/window-list/extension.js
|
||||
@@ -188,7 +188,7 @@ class WindowTitle extends St.BoxLayout {
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
} else {
|
||||
this._icon.child = new St.Icon({
|
||||
- icon_name: 'icon-missing',
|
||||
+ icon_name: 'application-x-executable',
|
||||
icon_size: ICON_TEXTURE_SIZE,
|
||||
});
|
||||
}
|
||||
--
|
||||
2.44.0
|
||||
|
||||
|
||||
From 032cfb3593651c8344a59828a9c674f148329889 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 19 Mar 2024 14:07:12 +0100
|
||||
Subject: [PATCH 2/2] window-list: Override with window icon if available
|
||||
|
||||
---
|
||||
extensions/window-list/extension.js | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js
|
||||
index 1f112548..0c28692d 100644
|
||||
--- a/extensions/window-list/extension.js
|
||||
+++ b/extensions/window-list/extension.js
|
||||
@@ -192,6 +192,23 @@ class WindowTitle extends St.BoxLayout {
|
||||
icon_size: ICON_TEXTURE_SIZE,
|
||||
});
|
||||
}
|
||||
+
|
||||
+ // Override with window icon if available
|
||||
+ if (this._hasWindowIcon()) {
|
||||
+ const textureCache = St.TextureCache.get_default();
|
||||
+ this._icon.child.gicon = textureCache.bind_cairo_surface_property(
|
||||
+ this._metaWindow, 'icon');
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ _hasWindowIcon() {
|
||||
+ // HACK: GI cannot handle CairoSurface, so this
|
||||
+ // will throw if the icon property is null
|
||||
+ try {
|
||||
+ return this._metaWindow.icon !== null;
|
||||
+ } catch (e) {
|
||||
+ return true;
|
||||
+ }
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
--
|
||||
2.44.0
|
||||
|
Loading…
Reference in new issue