Prefer window icons in window list
Resolves: RHEL-24713
This commit is contained in:
parent
b240af3eb0
commit
68f3eab84d
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
Name: gnome-shell-extensions
|
Name: gnome-shell-extensions
|
||||||
Version: 40.7
|
Version: 40.7
|
||||||
Release: 13%{?dist}
|
Release: 14%{?dist}
|
||||||
Summary: Modify and extend GNOME Shell functionality and behavior
|
Summary: Modify and extend GNOME Shell functionality and behavior
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -44,6 +44,7 @@ Patch021: 0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch
|
|||||||
Patch022: 0001-docking-Only-remove-spacer-if-necessary.patch
|
Patch022: 0001-docking-Only-remove-spacer-if-necessary.patch
|
||||||
Patch023: 0001-classification-banner-Hide-from-picks.patch
|
Patch023: 0001-classification-banner-Hide-from-picks.patch
|
||||||
Patch024: 0001-desktop-icons-Notify-icon-drags.patch
|
Patch024: 0001-desktop-icons-Notify-icon-drags.patch
|
||||||
|
Patch025: prefer-window-icon.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GNOME Shell Extensions is a collection of extensions providing additional and
|
GNOME Shell Extensions is a collection of extensions providing additional and
|
||||||
@ -447,6 +448,10 @@ workspaces.
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Mar 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-14
|
||||||
|
- Prefer window icons in window list
|
||||||
|
Resolves: RHEL-24713
|
||||||
|
|
||||||
* Wed Mar 06 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-13
|
* Wed Mar 06 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-13
|
||||||
- Notify on desktop icon drags
|
- Notify on desktop icon drags
|
||||||
Resolves: RHEL-26989
|
Resolves: RHEL-26989
|
||||||
|
70
prefer-window-icon.patch
Normal file
70
prefer-window-icon.patch
Normal file
@ -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
Block a user