import CS gnome-shell-extensions-40.7-15.el9_4
This commit is contained in:
parent
0860f8254b
commit
d85f0ce318
@ -1,4 +1,4 @@
|
||||
From 38c4fc02dea622f198b078eb4003c777d982119c Mon Sep 17 00:00:00 2001
|
||||
From cca3ca69a5b5a5551a9130ab4b9ea6909666108a Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 28 Jan 2021 00:06:12 +0100
|
||||
Subject: [PATCH 1/5] Add gesture-inhibitor extension
|
||||
@ -170,22 +170,22 @@ index 00000000..37b93f21
|
||||
@@ -0,0 +1 @@
|
||||
+/* Add your custom extension styling here */
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 3600e824..b3812b8d 100644
|
||||
index ec600041..615dc5b0 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -49,6 +49,7 @@ all_extensions += [
|
||||
'classification-banner',
|
||||
@@ -50,6 +50,7 @@ all_extensions += [
|
||||
'custom-menu',
|
||||
'dash-to-dock',
|
||||
'dash-to-panel',
|
||||
+ 'gesture-inhibitor',
|
||||
'native-window-placement',
|
||||
'panel-favorites',
|
||||
'systemMonitor',
|
||||
--
|
||||
2.38.1
|
||||
2.41.0
|
||||
|
||||
|
||||
From aff83154aa639e33e5ba925b5ddcc824a9beaf6e Mon Sep 17 00:00:00 2001
|
||||
From 45e88e7b5bb9537c44384a23af7d00f023d55793 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 20 Oct 2021 19:48:46 +0200
|
||||
Subject: [PATCH 2/5] gesture-inhibitor: Fix up indentation
|
||||
@ -273,10 +273,10 @@ index e74ede2f..734d61cc 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.38.1
|
||||
2.41.0
|
||||
|
||||
|
||||
From 5c8b087e99f79cc6bd83b5e7ad0775f8510e1a5d Mon Sep 17 00:00:00 2001
|
||||
From fe0dd05f0c8c5cfeb5edbc6b9bb73417d42f6ee8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 20 Oct 2021 19:47:05 +0200
|
||||
Subject: [PATCH 3/5] gesture-inhibitor: Adjust for GNOME 40 changes
|
||||
@ -344,10 +344,10 @@ index 1d67dcc0..4bdf9260 100644
|
||||
<default>true</default>
|
||||
<summary>Show OSK gesture</summary>
|
||||
--
|
||||
2.38.1
|
||||
2.41.0
|
||||
|
||||
|
||||
From 7f8031a97046a18ebb39972150376b9f1cf9a70b Mon Sep 17 00:00:00 2001
|
||||
From 952fa19311faecf50b02ab0f8807c2bc890848be Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 18 Nov 2021 15:54:23 +0100
|
||||
Subject: [PATCH 4/5] gesture-inhibitor: Unbind setting on disable
|
||||
@ -374,10 +374,10 @@ index 13586108..02b34ec4 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.38.1
|
||||
2.41.0
|
||||
|
||||
|
||||
From 15b4dde292cd1dd33c881289e6182d7261bee544 Mon Sep 17 00:00:00 2001
|
||||
From ef7a6cb1eac7b3d6d4d047174502d88f4e78959e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 18 Nov 2021 16:06:09 +0100
|
||||
Subject: [PATCH 5/5] gesture-inhibitor: Override :enabled property
|
||||
@ -434,5 +434,5 @@ index 02b34ec4..fb8a6dc0 100644
|
||||
});
|
||||
}
|
||||
--
|
||||
2.38.1
|
||||
2.41.0
|
||||
|
||||
|
39
SOURCES/0001-classification-banner-Hide-from-picks.patch
Normal file
39
SOURCES/0001-classification-banner-Hide-from-picks.patch
Normal file
@ -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
|
||||
|
242
SOURCES/0001-desktop-icons-Handle-touch-events.patch
Normal file
242
SOURCES/0001-desktop-icons-Handle-touch-events.patch
Normal file
@ -0,0 +1,242 @@
|
||||
From a796215ddce14ebe80774b99e29d0d28109c818b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 6 Mar 2024 20:14:14 +0100
|
||||
Subject: [PATCH] desktop-icons: Handle touch events
|
||||
|
||||
File icons currently only deal with button events. Split up the
|
||||
current handlers and use them to handle touch events as well.
|
||||
---
|
||||
extensions/desktop-icons/fileItem.js | 181 +++++++++++++++++++--------
|
||||
1 file changed, 128 insertions(+), 53 deletions(-)
|
||||
|
||||
diff --git a/extensions/desktop-icons/fileItem.js b/extensions/desktop-icons/fileItem.js
|
||||
index 37ee54db..26afddb2 100644
|
||||
--- a/extensions/desktop-icons/fileItem.js
|
||||
+++ b/extensions/desktop-icons/fileItem.js
|
||||
@@ -140,6 +140,7 @@ var FileItem = GObject.registerClass({
|
||||
this._container.connect('leave-event', (actor, event) => this._onLeave(actor, event));
|
||||
this._container.connect('enter-event', (actor, event) => this._onEnter(actor, event));
|
||||
this._container.connect('button-release-event', (actor, event) => this._onReleaseButton(actor, event));
|
||||
+ this._container.connect('touch-event', (actor, event) => this._onTouchEvent(actor, event));
|
||||
|
||||
/* Set the metadata and update relevant UI */
|
||||
this._updateMetadataFromFileInfo(fileInfo);
|
||||
@@ -229,6 +230,10 @@ var FileItem = GObject.registerClass({
|
||||
if (this._iconAllocationIdleId)
|
||||
GLib.source_remove(this._iconAllocationIdleId);
|
||||
|
||||
+ if (this._longPressTimeoutId)
|
||||
+ GLib.source_remove(this._longPressTimeoutId);
|
||||
+ delete this._longPressTimeoutId;
|
||||
+
|
||||
/* Menu */
|
||||
this._removeMenu();
|
||||
}
|
||||
@@ -731,58 +736,141 @@ var FileItem = GObject.registerClass({
|
||||
}
|
||||
|
||||
_updateClickState(event) {
|
||||
+ const eventType = event.type();
|
||||
+ const isButton =
|
||||
+ eventType === Clutter.EventType.BUTTON_PRESS ||
|
||||
+ eventType === Clutter.EventType.BUTTON_RELEASE;
|
||||
+ const button = isButton ? event.get_button() : 0;
|
||||
+ const time = event.get_time();
|
||||
+
|
||||
let settings = Clutter.Settings.get_default();
|
||||
- if ((event.get_button() == this._lastClickButton) &&
|
||||
- ((event.get_time() - this._lastClickTime) < settings.double_click_time))
|
||||
+ if (button === this._lastClickButton &&
|
||||
+ (time - this._lastClickTime) < settings.double_click_time)
|
||||
this._clickCount++;
|
||||
else
|
||||
this._clickCount = 1;
|
||||
|
||||
- this._lastClickTime = event.get_time();
|
||||
- this._lastClickButton = event.get_button();
|
||||
+ this._lastClickTime = time;
|
||||
+ this._lastClickButton = button;
|
||||
}
|
||||
|
||||
_getClickCount() {
|
||||
return this._clickCount;
|
||||
}
|
||||
|
||||
+ _handlePressEvent(event) {
|
||||
+ const pressSequence = event.get_event_sequence();
|
||||
+ if (this._pressSequence &&
|
||||
+ pressSequence?.get_slot() !== this._pressSequence.get_slot())
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ this._primaryButtonPressed = true;
|
||||
+ this._pressSequence = pressSequence;
|
||||
+ this._pressDevice = event.get_device();
|
||||
+
|
||||
+ if (this._getClickCount() !== 1)
|
||||
+ return Clutter.EVENT_STOP;
|
||||
+
|
||||
+ const [x, y] = event.get_coords();
|
||||
+ this._buttonPressInitialX = x;
|
||||
+ this._buttonPressInitialY = y;
|
||||
+
|
||||
+ const shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK);
|
||||
+ const controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK);
|
||||
+ if (controlPressed || shiftPressed)
|
||||
+ this.emit('selected', true, false, !this._isSelected);
|
||||
+ else if (!this._isSelected)
|
||||
+ this.emit('selected', false, false, true);
|
||||
+
|
||||
+ return Clutter.EVENT_STOP;
|
||||
+ }
|
||||
+
|
||||
+ _handleSecondaryPress() {
|
||||
+ if (!this.isSelected)
|
||||
+ this.emit('selected', false, false, true);
|
||||
+ this._ensureMenu().toggle();
|
||||
+ if (this._actionOpenWith) {
|
||||
+ let allowOpenWith = Extension.desktopManager.getNumberOfSelectedItems() === 1;
|
||||
+ this._actionOpenWith.setSensitive(allowOpenWith);
|
||||
+ }
|
||||
+ const specialFilesSelected =
|
||||
+ Extension.desktopManager.checkIfSpecialFilesAreSelected();
|
||||
+ if (this._actionCut)
|
||||
+ this._actionCut.setSensitive(!specialFilesSelected);
|
||||
+ if (this._actionCopy)
|
||||
+ this._actionCopy.setSensitive(!specialFilesSelected);
|
||||
+ if (this._actionTrash)
|
||||
+ this._actionTrash.setSensitive(!specialFilesSelected);
|
||||
+ return Clutter.EVENT_STOP;
|
||||
+ }
|
||||
+
|
||||
+ _handleReleaseEvent(event) {
|
||||
+ if (this._longPressTimeoutId)
|
||||
+ GLib.source_remove(this._longPressTimeoutId);
|
||||
+ delete this._longPressTimeoutId;
|
||||
+
|
||||
+ if (!this._primaryButtonPressed || this._pressDevice !== event.get_device())
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ const pressSequence = event.get_event_sequence();
|
||||
+ if (this._pressSequence &&
|
||||
+ pressSequence?.get_slot() !== this._pressSequence.get_slot())
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ // primaryButtonPressed is TRUE only if the user has pressed the button
|
||||
+ // over an icon, and if (s)he has not started a drag&drop operation
|
||||
+ this._primaryButtonPressed = false;
|
||||
+ delete this._pressDevice;
|
||||
+ delete this._pressSequence;
|
||||
+
|
||||
+ let shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK);
|
||||
+ let controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK);
|
||||
+ if (!controlPressed && !shiftPressed)
|
||||
+ this.emit('selected', false, false, true);
|
||||
+ if (this._getClickCount() === 1 && Prefs.CLICK_POLICY_SINGLE && !shiftPressed && !controlPressed)
|
||||
+ this.doOpen();
|
||||
+ if (this._getClickCount() === 2 && !Prefs.CLICK_POLICY_SINGLE)
|
||||
+ this.doOpen();
|
||||
+ return Clutter.EVENT_STOP;
|
||||
+ }
|
||||
+
|
||||
+ _onTouchEvent(actor, event) {
|
||||
+ // on X11, let pointer emulation deal with touch
|
||||
+ if (!Meta.is_wayland_compositor())
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ const type = event.type();
|
||||
+ if (type === Clutter.EventType.TOUCH_BEGIN) {
|
||||
+ Extension.desktopManager.endRubberBand();
|
||||
+ this._updateClickState(event);
|
||||
+
|
||||
+ if (!this._handlePressEvent(event))
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+
|
||||
+ const { longPressDuration } = Clutter.Settings.get_default();
|
||||
+ this._longPressTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||
+ longPressDuration,
|
||||
+ () => {
|
||||
+ this._handleSecondaryPress();
|
||||
+ delete this._longPressTimeoutId;
|
||||
+ return GLib.SOURCE_REMOVE;
|
||||
+ });
|
||||
+
|
||||
+ return Clutter.EVENT_STOP;
|
||||
+ } else if (type === Clutter.EventType.TOUCH_END) {
|
||||
+ return this._handleReleaseEvent(event);
|
||||
+ }
|
||||
+ return Clutter.EVENT_PROPAGATE;
|
||||
+ }
|
||||
+
|
||||
_onPressButton(actor, event) {
|
||||
Extension.desktopManager.endRubberBand();
|
||||
this._updateClickState(event);
|
||||
let button = event.get_button();
|
||||
- if (button == 3) {
|
||||
- if (!this.isSelected)
|
||||
- this.emit('selected', false, false, true);
|
||||
- this._ensureMenu().toggle();
|
||||
- if (this._actionOpenWith) {
|
||||
- let allowOpenWith = (Extension.desktopManager.getNumberOfSelectedItems() == 1);
|
||||
- this._actionOpenWith.setSensitive(allowOpenWith);
|
||||
- }
|
||||
- let specialFilesSelected = Extension.desktopManager.checkIfSpecialFilesAreSelected();
|
||||
- if (this._actionCut)
|
||||
- this._actionCut.setSensitive(!specialFilesSelected);
|
||||
- if (this._actionCopy)
|
||||
- this._actionCopy.setSensitive(!specialFilesSelected);
|
||||
- if (this._actionTrash)
|
||||
- this._actionTrash.setSensitive(!specialFilesSelected);
|
||||
- return Clutter.EVENT_STOP;
|
||||
- } else if (button == 1) {
|
||||
- if (this._getClickCount() == 1) {
|
||||
- let [x, y] = event.get_coords();
|
||||
- this._primaryButtonPressed = true;
|
||||
- this._buttonPressInitialX = x;
|
||||
- this._buttonPressInitialY = y;
|
||||
- let shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK);
|
||||
- let controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK);
|
||||
- if (controlPressed || shiftPressed) {
|
||||
- this.emit('selected', true, false, !this._isSelected);
|
||||
- } else {
|
||||
- if (!this._isSelected)
|
||||
- this.emit('selected', false, false, true);
|
||||
- }
|
||||
- }
|
||||
- return Clutter.EVENT_STOP;
|
||||
- }
|
||||
+ if (button == 3)
|
||||
+ return this._handleSecondaryPress();
|
||||
+ if (button == 1)
|
||||
+ return this._handlePressEvent(event);
|
||||
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
@@ -821,22 +909,9 @@ var FileItem = GObject.registerClass({
|
||||
|
||||
_onReleaseButton(actor, event) {
|
||||
let button = event.get_button();
|
||||
- if (button == 1) {
|
||||
- // primaryButtonPressed is TRUE only if the user has pressed the button
|
||||
- // over an icon, and if (s)he has not started a drag&drop operation
|
||||
- if (this._primaryButtonPressed) {
|
||||
- this._primaryButtonPressed = false;
|
||||
- let shiftPressed = !!(event.get_state() & Clutter.ModifierType.SHIFT_MASK);
|
||||
- let controlPressed = !!(event.get_state() & Clutter.ModifierType.CONTROL_MASK);
|
||||
- if (!controlPressed && !shiftPressed)
|
||||
- this.emit('selected', false, false, true);
|
||||
- if ((this._getClickCount() == 1) && Prefs.CLICK_POLICY_SINGLE && !shiftPressed && !controlPressed)
|
||||
- this.doOpen();
|
||||
- return Clutter.EVENT_STOP;
|
||||
- }
|
||||
- if ((this._getClickCount() == 2) && (!Prefs.CLICK_POLICY_SINGLE))
|
||||
- this.doOpen();
|
||||
- }
|
||||
+ if (button == 1)
|
||||
+ return this._handleReleaseEvent(event);
|
||||
+
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
|
||||
--
|
||||
2.44.0
|
||||
|
40
SOURCES/0001-desktop-icons-Notify-icon-drags.patch
Normal file
40
SOURCES/0001-desktop-icons-Notify-icon-drags.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From 8389801814c84c797a29f986f15e7ea4dd27bccc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 6 Mar 2024 13:48:49 +0100
|
||||
Subject: [PATCH] desktop-icons: Notify icon drags
|
||||
|
||||
Components like the message tray will use the signal to hide
|
||||
their layout actor from picks, so that it does no interfere
|
||||
with the DND operation.
|
||||
---
|
||||
extensions/desktop-icons/desktopManager.js | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/extensions/desktop-icons/desktopManager.js b/extensions/desktop-icons/desktopManager.js
|
||||
index 75b2a22a..c3b3f7e4 100644
|
||||
--- a/extensions/desktop-icons/desktopManager.js
|
||||
+++ b/extensions/desktop-icons/desktopManager.js
|
||||
@@ -547,17 +547,20 @@ var DesktopManager = GObject.registerClass({
|
||||
this._draggableContainer.allocate_preferred_size(0, 0);
|
||||
|
||||
this._draggable.startDrag(x, y, global.get_current_time(), event.get_event_sequence());
|
||||
+ Main.overview.beginItemDrag(this._draggableContainer);
|
||||
}
|
||||
|
||||
_onDragCancelled() {
|
||||
let event = Clutter.get_current_event();
|
||||
let [x, y] = event.get_coords();
|
||||
this._dragCancelled = true;
|
||||
+ Main.overview.cancelledItemDrag(this._draggableContainer);
|
||||
}
|
||||
|
||||
_onDragEnd() {
|
||||
this._inDrag = false;
|
||||
Main.layoutManager.uiGroup.remove_child(this._draggableContainer);
|
||||
+ Main.overview.endItemDrag(this._draggableContainer);
|
||||
}
|
||||
|
||||
_dragActorDropped(event) {
|
||||
--
|
||||
2.44.0
|
||||
|
File diff suppressed because it is too large
Load Diff
70
SOURCES/prefer-window-icon.patch
Normal file
70
SOURCES/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
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2e00e631c7def6d58bdb1eb0fa3254ae82a37574 Mon Sep 17 00:00:00 2001
|
||||
From c5e26a4c25754dc74e5f2aa9953bc2e30cfea94e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 17 May 2017 19:13:50 +0200
|
||||
Subject: [PATCH 1/6] extensions: Resurrect systemMonitor extension
|
||||
@ -26,7 +26,7 @@ This reverts commit c9a6421f362cd156cf731289eadc11f44f6970ac.
|
||||
|
||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||
new file mode 100644
|
||||
index 0000000..7b09df0
|
||||
index 00000000..7b09df01
|
||||
--- /dev/null
|
||||
+++ b/extensions/systemMonitor/extension.js
|
||||
@@ -0,0 +1,376 @@
|
||||
@ -408,7 +408,7 @@ index 0000000..7b09df0
|
||||
+}
|
||||
diff --git a/extensions/systemMonitor/meson.build b/extensions/systemMonitor/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..48504f6
|
||||
index 00000000..48504f63
|
||||
--- /dev/null
|
||||
+++ b/extensions/systemMonitor/meson.build
|
||||
@@ -0,0 +1,5 @@
|
||||
@ -419,7 +419,7 @@ index 0000000..48504f6
|
||||
+)
|
||||
diff --git a/extensions/systemMonitor/metadata.json.in b/extensions/systemMonitor/metadata.json.in
|
||||
new file mode 100644
|
||||
index 0000000..fa75007
|
||||
index 00000000..fa750074
|
||||
--- /dev/null
|
||||
+++ b/extensions/systemMonitor/metadata.json.in
|
||||
@@ -0,0 +1,11 @@
|
||||
@ -436,7 +436,7 @@ index 0000000..fa75007
|
||||
+}
|
||||
diff --git a/extensions/systemMonitor/stylesheet.css b/extensions/systemMonitor/stylesheet.css
|
||||
new file mode 100644
|
||||
index 0000000..13f95ec
|
||||
index 00000000..13f95ec7
|
||||
--- /dev/null
|
||||
+++ b/extensions/systemMonitor/stylesheet.css
|
||||
@@ -0,0 +1,35 @@
|
||||
@ -476,11 +476,11 @@ index 0000000..13f95ec
|
||||
+ font-weight: bold;
|
||||
+}
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 6a2fdf0..afc0133 100644
|
||||
index fa9e622a..70dbf007 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -48,6 +48,7 @@ all_extensions += [
|
||||
'dash-to-dock',
|
||||
@@ -51,6 +51,7 @@ all_extensions += [
|
||||
'dash-to-panel',
|
||||
'native-window-placement',
|
||||
'panel-favorites',
|
||||
+ 'systemMonitor',
|
||||
@ -488,10 +488,10 @@ index 6a2fdf0..afc0133 100644
|
||||
'updates-dialog',
|
||||
'user-theme'
|
||||
--
|
||||
2.32.0
|
||||
2.41.0
|
||||
|
||||
|
||||
From 59927edac1f40239d7926f0285249c933ea42caf Mon Sep 17 00:00:00 2001
|
||||
From efe89316c5ae1721306defcdbb80227fe61414c4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 17 May 2019 22:55:48 +0000
|
||||
Subject: [PATCH 2/6] systemMonitor: Modernise code
|
||||
@ -507,7 +507,7 @@ Subject: [PATCH 2/6] systemMonitor: Modernise code
|
||||
1 file changed, 212 insertions(+), 210 deletions(-)
|
||||
|
||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||
index 7b09df0..f7c6a4a 100644
|
||||
index 7b09df01..f7c6a4a9 100644
|
||||
--- a/extensions/systemMonitor/extension.js
|
||||
+++ b/extensions/systemMonitor/extension.js
|
||||
@@ -1,56 +1,57 @@
|
||||
@ -1081,10 +1081,10 @@ index 7b09df0..f7c6a4a 100644
|
||||
function init() {
|
||||
return new Extension();
|
||||
--
|
||||
2.32.0
|
||||
2.41.0
|
||||
|
||||
|
||||
From 71e275ba45b09c5f8c6ca5445a459196dc65474b Mon Sep 17 00:00:00 2001
|
||||
From fe1916c1b29ab64c73179ab4c86e106ff69f977d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 26 May 2021 19:50:37 +0200
|
||||
Subject: [PATCH 3/6] systemMonitor: Make label property private
|
||||
@ -1096,7 +1096,7 @@ clash when we subclass St.Button.
|
||||
1 file changed, 18 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||
index f7c6a4a..bde25a1 100644
|
||||
index f7c6a4a9..bde25a1d 100644
|
||||
--- a/extensions/systemMonitor/extension.js
|
||||
+++ b/extensions/systemMonitor/extension.js
|
||||
@@ -19,6 +19,7 @@ const ITEM_HOVER_TIMEOUT = 300;
|
||||
@ -1187,10 +1187,10 @@ index f7c6a4a..bde25a1 100644
|
||||
|
||||
_initValues() {
|
||||
--
|
||||
2.32.0
|
||||
2.41.0
|
||||
|
||||
|
||||
From b310c3a5b532a18af38390021daa332961e404ef Mon Sep 17 00:00:00 2001
|
||||
From b8457707c2b05b88d443587b729e1893cf8b8d3d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 17 May 2017 19:31:58 +0200
|
||||
Subject: [PATCH 4/6] systemMonitor: Move indicators to calendar
|
||||
@ -1206,7 +1206,7 @@ it up quickly).
|
||||
2 files changed, 50 insertions(+), 70 deletions(-)
|
||||
|
||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||
index bde25a1..1fd01ab 100644
|
||||
index bde25a1d..1fd01ab4 100644
|
||||
--- a/extensions/systemMonitor/extension.js
|
||||
+++ b/extensions/systemMonitor/extension.js
|
||||
@@ -2,10 +2,11 @@
|
||||
@ -1418,7 +1418,7 @@ index bde25a1..1fd01ab 100644
|
||||
return;
|
||||
|
||||
diff --git a/extensions/systemMonitor/stylesheet.css b/extensions/systemMonitor/stylesheet.css
|
||||
index 13f95ec..978ac12 100644
|
||||
index 13f95ec7..978ac12a 100644
|
||||
--- a/extensions/systemMonitor/stylesheet.css
|
||||
+++ b/extensions/systemMonitor/stylesheet.css
|
||||
@@ -1,17 +1,4 @@
|
||||
@ -1448,10 +1448,10 @@ index 13f95ec..978ac12 100644
|
||||
|
||||
.extension-systemMonitor-indicator-label {
|
||||
--
|
||||
2.32.0
|
||||
2.41.0
|
||||
|
||||
|
||||
From 432f525336a5da1a545546ab40f882f44ac42bb7 Mon Sep 17 00:00:00 2001
|
||||
From bc05d47dbd45f761b14d90f60fd16259486bcb53 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 18 May 2017 16:20:07 +0200
|
||||
Subject: [PATCH 5/6] systemMonitor: Handle clicks on section title
|
||||
@ -1467,7 +1467,7 @@ Fixes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions3
|
||||
1 file changed, 17 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||
index 1fd01ab..57bdb51 100644
|
||||
index 1fd01ab4..57bdb51f 100644
|
||||
--- a/extensions/systemMonitor/extension.js
|
||||
+++ b/extensions/systemMonitor/extension.js
|
||||
@@ -300,6 +300,22 @@ class MemoryIndicator extends Indicator {
|
||||
@ -1503,10 +1503,10 @@ index 1fd01ab..57bdb51 100644
|
||||
for (let i = 0; i < INDICATORS.length; i++) {
|
||||
let indicator = new INDICATORS[i]();
|
||||
--
|
||||
2.32.0
|
||||
2.41.0
|
||||
|
||||
|
||||
From 657155f8f37a8d0ddf7c39dbff954d87202c681e Mon Sep 17 00:00:00 2001
|
||||
From 597086c27823a7eb0b2124bfbe2c0572bbd1783d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 18 May 2017 18:00:17 +0200
|
||||
Subject: [PATCH 6/6] systemMonitor: Provide classic styling
|
||||
@ -1524,7 +1524,7 @@ Fixes: #4
|
||||
|
||||
diff --git a/extensions/systemMonitor/classic.css b/extensions/systemMonitor/classic.css
|
||||
new file mode 100644
|
||||
index 0000000..946863d
|
||||
index 00000000..946863dc
|
||||
--- /dev/null
|
||||
+++ b/extensions/systemMonitor/classic.css
|
||||
@@ -0,0 +1,6 @@
|
||||
@ -1535,7 +1535,7 @@ index 0000000..946863d
|
||||
+ border: 1px solid #a1a1a1;
|
||||
+}
|
||||
diff --git a/extensions/systemMonitor/meson.build b/extensions/systemMonitor/meson.build
|
||||
index 48504f6..b6548b1 100644
|
||||
index 48504f63..b6548b14 100644
|
||||
--- a/extensions/systemMonitor/meson.build
|
||||
+++ b/extensions/systemMonitor/meson.build
|
||||
@@ -3,3 +3,7 @@ extension_data += configure_file(
|
||||
@ -1547,5 +1547,5 @@ index 48504f6..b6548b1 100644
|
||||
+ extension_data += files('classic.css')
|
||||
+endif
|
||||
--
|
||||
2.32.0
|
||||
2.41.0
|
||||
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
Name: gnome-shell-extensions
|
||||
Version: 40.7
|
||||
Release: 9%{?dist}
|
||||
Release: 15%{?dist}
|
||||
Summary: Modify and extend GNOME Shell functionality and behavior
|
||||
|
||||
License: GPLv2+
|
||||
@ -40,7 +40,12 @@ Patch017: 0001-desktopManager-Hook-into-LayoutManager-to-create-gri.patch
|
||||
Patch018: 0001-gesture-inhibitor-Allow-inhibiting-workspace-switch-.patch
|
||||
Patch019: 0001-desktop-icons-Don-t-use-blocking-IO.patch
|
||||
Patch020: 0001-window-list-Explicitly-dispose-settings-on-destroy.patch
|
||||
Patch021: 0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch
|
||||
Patch022: 0001-docking-Only-remove-spacer-if-necessary.patch
|
||||
Patch023: 0001-classification-banner-Hide-from-picks.patch
|
||||
Patch024: 0001-desktop-icons-Notify-icon-drags.patch
|
||||
Patch025: prefer-window-icon.patch
|
||||
Patch026: 0001-desktop-icons-Handle-touch-events.patch
|
||||
|
||||
%description
|
||||
GNOME Shell Extensions is a collection of extensions providing additional and
|
||||
@ -52,6 +57,7 @@ Enabled extensions:
|
||||
* classification-banner
|
||||
* custom-menu
|
||||
* dash-to-dock
|
||||
* dash-to-panel
|
||||
* desktop-icons
|
||||
* drive-menu
|
||||
* gesture-inhibitor
|
||||
@ -147,6 +153,15 @@ Requires: %{pkg_prefix}-common = %{version}-%{release}
|
||||
This GNOME Shell extension makes the dash available outside the activities overview.
|
||||
|
||||
|
||||
%package -n %{pkg_prefix}-dash-to-panel
|
||||
Summary: Show the dash in the top bar
|
||||
License: GPLv2+
|
||||
Requires: %{pkg_prefix}-common = %{version}-%{release}
|
||||
|
||||
%description -n %{pkg_prefix}-dash-to-panel
|
||||
This GNOME Shell extension makes the dash available in the top bar
|
||||
|
||||
|
||||
%package -n %{pkg_prefix}-desktop-icons
|
||||
Summary: Desktop icons support for the classic experience
|
||||
License: GPLv2+
|
||||
@ -356,6 +371,11 @@ workspaces.
|
||||
%{_datadir}/gnome-shell/extensions/dash-to-dock*/
|
||||
|
||||
|
||||
%files -n %{pkg_prefix}-dash-to-panel
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml
|
||||
%{_datadir}/gnome-shell/extensions/dash-to-panel*/
|
||||
|
||||
|
||||
%files -n %{pkg_prefix}-desktop-icons
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml
|
||||
%{_datadir}/gnome-shell/extensions/desktop-icons*/
|
||||
@ -429,10 +449,34 @@ workspaces.
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Mar 07 2024 Craig Guiller <craig.guiller@oracle.com> - 40.7-9
|
||||
* Wed Mar 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-15
|
||||
- Handle touch events in desktop icons
|
||||
Resolves: RHEL-22713
|
||||
|
||||
* 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
|
||||
- Notify on desktop icon drags
|
||||
Resolves: RHEL-26989
|
||||
|
||||
* Fri Feb 02 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-12
|
||||
- Hide classification banners from picks
|
||||
Resolves: RHEL-22789
|
||||
|
||||
* Thu Dec 14 2023 Florian Müllner <fmuellner@redhat.com> - 40.7-11
|
||||
- Handle missing main dock when restoring dash
|
||||
Resolves: RHEL-16723
|
||||
|
||||
* Tue Nov 07 2023 Florian Müllner <fmuellner@redhat.com> - 40.7-10
|
||||
- Include dash-to-panel extension
|
||||
Resolves: RHEL-14935
|
||||
|
||||
* Thu Nov 02 2023 Florian Müllner <fmuellner@redhat.com> - 40.7-9
|
||||
- Fix spawning terminal without desktop directory
|
||||
Resolves: RHEL-15366
|
||||
|
||||
* Thu Aug 17 2023 Florian Müllner <fmuellner@redhat.com> - 40.7-8
|
||||
- Rebuild for custom context menu
|
||||
Resolves: #2232332
|
||||
|
Loading…
Reference in New Issue
Block a user