import OL gnome-shell-extensions-40.7-29.el9_7
This commit is contained in:
parent
58ac207a9d
commit
01eb8db6f9
231
SOURCES/0001-Add-move-notifications-extension.patch
Normal file
231
SOURCES/0001-Add-move-notifications-extension.patch
Normal file
@ -0,0 +1,231 @@
|
||||
From 50c6c0c2137fded5f89be5bbee2292071e464cd2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 21 May 2024 19:01:30 +0200
|
||||
Subject: [PATCH] Add move-notifications extension
|
||||
|
||||
---
|
||||
extensions/move-notifications/extension.js | 49 +++++++++++
|
||||
extensions/move-notifications/meson.build | 8 ++
|
||||
.../move-notifications/metadata.json.in | 10 +++
|
||||
....extensions.move-notifications.gschema.xml | 14 +++
|
||||
extensions/move-notifications/prefs.js | 86 +++++++++++++++++++
|
||||
meson.build | 1 +
|
||||
6 files changed, 168 insertions(+)
|
||||
create mode 100644 extensions/move-notifications/extension.js
|
||||
create mode 100644 extensions/move-notifications/meson.build
|
||||
create mode 100644 extensions/move-notifications/metadata.json.in
|
||||
create mode 100644 extensions/move-notifications/org.gnome.shell.extensions.move-notifications.gschema.xml
|
||||
create mode 100644 extensions/move-notifications/prefs.js
|
||||
|
||||
diff --git a/extensions/move-notifications/extension.js b/extensions/move-notifications/extension.js
|
||||
new file mode 100644
|
||||
index 00000000..0211696d
|
||||
--- /dev/null
|
||||
+++ b/extensions/move-notifications/extension.js
|
||||
@@ -0,0 +1,49 @@
|
||||
+/* exported init */
|
||||
+const Clutter = imports.gi.Clutter;
|
||||
+
|
||||
+const ExtensionUtils = imports.misc.extensionUtils;
|
||||
+const Main = imports.ui.main;
|
||||
+
|
||||
+class MoveNotificationsExtension {
|
||||
+ enable() {
|
||||
+ const updatePanel = Main.panel._updatePanel;
|
||||
+ this._updatePanelOrig = updatePanel;
|
||||
+
|
||||
+ Main.panel._updatePanel = () => {
|
||||
+ updatePanel.call(Main.panel);
|
||||
+
|
||||
+ Main.messageTray.bannerAlignment = this._getAlignment();
|
||||
+ };
|
||||
+
|
||||
+ this._settings = ExtensionUtils.getSettings();
|
||||
+ this._changedId = this._settings.connect('changed::position',
|
||||
+ () => Main.panel._updatePanel());
|
||||
+ Main.panel._updatePanel();
|
||||
+ }
|
||||
+
|
||||
+ disable() {
|
||||
+ this._settings.disconnect(this._changedId);
|
||||
+ this._settings = null;
|
||||
+
|
||||
+ Main.panel._updatePanel = this._updatePanelOrig;
|
||||
+ delete this._updatePanelOrig;
|
||||
+
|
||||
+ Main.panel._updatePanel();
|
||||
+ }
|
||||
+
|
||||
+ _getAlignment() {
|
||||
+ switch (this._settings.get_string('position')) {
|
||||
+ case 'top-left':
|
||||
+ return Clutter.ActorAlign.START;
|
||||
+ case 'top-right':
|
||||
+ return Clutter.ActorAlign.END;
|
||||
+ case 'top-center':
|
||||
+ default:
|
||||
+ return Clutter.ActorAlign.CENTER;
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+function init() {
|
||||
+ return new MoveNotificationsExtension();
|
||||
+}
|
||||
diff --git a/extensions/move-notifications/meson.build b/extensions/move-notifications/meson.build
|
||||
new file mode 100644
|
||||
index 00000000..c55a7830
|
||||
--- /dev/null
|
||||
+++ b/extensions/move-notifications/meson.build
|
||||
@@ -0,0 +1,8 @@
|
||||
+extension_data += configure_file(
|
||||
+ input: metadata_name + '.in',
|
||||
+ output: metadata_name,
|
||||
+ configuration: metadata_conf
|
||||
+)
|
||||
+
|
||||
+extension_sources += files('prefs.js')
|
||||
+extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
diff --git a/extensions/move-notifications/metadata.json.in b/extensions/move-notifications/metadata.json.in
|
||||
new file mode 100644
|
||||
index 00000000..cae9352c
|
||||
--- /dev/null
|
||||
+++ b/extensions/move-notifications/metadata.json.in
|
||||
@@ -0,0 +1,10 @@
|
||||
+{
|
||||
+ "uuid": "@uuid@",
|
||||
+ "extension-id": "@extension_id@",
|
||||
+ "settings-schema": "@gschemaname@",
|
||||
+ "gettext-domain": "@gettext_domain@",
|
||||
+ "name": "Move notifications",
|
||||
+ "description": "Move notification banners",
|
||||
+ "shell-version": [ "@shell_current@" ],
|
||||
+ "url": "@url@"
|
||||
+}
|
||||
diff --git a/extensions/move-notifications/org.gnome.shell.extensions.move-notifications.gschema.xml b/extensions/move-notifications/org.gnome.shell.extensions.move-notifications.gschema.xml
|
||||
new file mode 100644
|
||||
index 00000000..a78d72bb
|
||||
--- /dev/null
|
||||
+++ b/extensions/move-notifications/org.gnome.shell.extensions.move-notifications.gschema.xml
|
||||
@@ -0,0 +1,14 @@
|
||||
+<schemalist gettext-domain="gnome-shell-extensions">
|
||||
+ <enum id="org.gnome.shell.extensions.move-notifications.position">
|
||||
+ <value nick="top-center" value="0"/>
|
||||
+ <value nick="top-right" value="1"/>
|
||||
+ <value nick="top-left" value="2"/>
|
||||
+ </enum>
|
||||
+
|
||||
+ <schema id="org.gnome.shell.extensions.move-notifications" path="/org/gnome/shell/extensions/move-notifications/">
|
||||
+ <key name="position" enum="org.gnome.shell.extensions.move-notifications.position">
|
||||
+ <default>"top-right"</default>
|
||||
+ <summary>Notification position</summary>
|
||||
+ </key>
|
||||
+ </schema>
|
||||
+</schemalist>
|
||||
diff --git a/extensions/move-notifications/prefs.js b/extensions/move-notifications/prefs.js
|
||||
new file mode 100644
|
||||
index 00000000..a3ecdacf
|
||||
--- /dev/null
|
||||
+++ b/extensions/move-notifications/prefs.js
|
||||
@@ -0,0 +1,86 @@
|
||||
+// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
+/* exported init buildPrefsWidget */
|
||||
+
|
||||
+const { Gio, GLib, GObject, Gtk } = imports.gi;
|
||||
+
|
||||
+const ExtensionUtils = imports.misc.extensionUtils;
|
||||
+const Me = ExtensionUtils.getCurrentExtension();
|
||||
+
|
||||
+const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
||||
+const _ = Gettext.gettext;
|
||||
+
|
||||
+/** */
|
||||
+function init() {
|
||||
+ ExtensionUtils.initTranslations();
|
||||
+}
|
||||
+
|
||||
+const MoveNotificationsPrefsWidget = GObject.registerClass(
|
||||
+class MoveNotificationsPrefsWidget extends Gtk.Box {
|
||||
+ _init() {
|
||||
+ super._init({
|
||||
+ orientation: Gtk.Orientation.VERTICAL,
|
||||
+ spacing: 6,
|
||||
+ margin_top: 36,
|
||||
+ margin_bottom: 36,
|
||||
+ margin_start: 36,
|
||||
+ margin_end: 36,
|
||||
+ halign: Gtk.Align.CENTER,
|
||||
+ });
|
||||
+
|
||||
+ this._actionGroup = new Gio.SimpleActionGroup();
|
||||
+ this.insert_action_group('move-notifications', this._actionGroup);
|
||||
+
|
||||
+ this._settings = ExtensionUtils.getSettings();
|
||||
+ this._actionGroup.add_action(
|
||||
+ this._settings.create_action('position'));
|
||||
+
|
||||
+ const title = new Gtk.Label({
|
||||
+ label: _('Notification Position'),
|
||||
+ halign: Gtk.Align.START,
|
||||
+ });
|
||||
+ title.add_css_class('heading');
|
||||
+ this.append(title);
|
||||
+
|
||||
+ const box = new Gtk.Box({
|
||||
+ orientation: Gtk.Orientation.VERTICAL,
|
||||
+ spacing: 12,
|
||||
+ margin_bottom: 12,
|
||||
+ });
|
||||
+ this.append(box);
|
||||
+
|
||||
+ const context = box.get_style_context();
|
||||
+ const cssProvider = new Gtk.CssProvider();
|
||||
+ cssProvider.load_from_data(
|
||||
+ 'box { padding: 12px; }', -1);
|
||||
+
|
||||
+ context.add_provider(cssProvider,
|
||||
+ Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
+ context.add_class('boxed-list');
|
||||
+ context.add_class('view');
|
||||
+
|
||||
+ const positions = [
|
||||
+ { pos: 'top-right', label: _('Top–Right') },
|
||||
+ { pos: 'top-center', label: _('Top–Center') },
|
||||
+ { pos: 'top-left', label: _('Top–Left') },
|
||||
+ ];
|
||||
+ let group = null;
|
||||
+ for (const { pos, label } of positions) {
|
||||
+ const check = new Gtk.CheckButton({
|
||||
+ action_name: 'move-notifications.position',
|
||||
+ action_target: new GLib.Variant('s', pos),
|
||||
+ label,
|
||||
+ group,
|
||||
+ margin_end: 12,
|
||||
+ });
|
||||
+ group = check;
|
||||
+ box.append(check);
|
||||
+ }
|
||||
+ }
|
||||
+});
|
||||
+
|
||||
+/**
|
||||
+ * @returns {Gtk.Widget} - the prefs widget
|
||||
+ */
|
||||
+function buildPrefsWidget() {
|
||||
+ return new MoveNotificationsPrefsWidget();
|
||||
+}
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 7e6ed3e8..0a31d2f6 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -53,6 +53,7 @@ all_extensions += [
|
||||
'dash-to-dock',
|
||||
'dash-to-panel',
|
||||
'gesture-inhibitor',
|
||||
+ 'move-notifications',
|
||||
'native-window-placement',
|
||||
'panel-favorites',
|
||||
'systemMonitor',
|
||||
--
|
||||
2.46.0
|
||||
|
||||
48
SOURCES/0001-dash-to-panel-Remove-faulty-version-check.patch
Normal file
48
SOURCES/0001-dash-to-panel-Remove-faulty-version-check.patch
Normal file
@ -0,0 +1,48 @@
|
||||
From 7ed5e50cc978b7fda34aaaf56e8bf4d499f4676d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 2 Dec 2024 17:34:58 +0100
|
||||
Subject: [PATCH] dash-to-panel: Remove faulty version check
|
||||
|
||||
In a string comparison, '40.10' is *smaller* than '40.3', so the
|
||||
overview ends up being monkey-patched for an older version.
|
||||
|
||||
Unbreak the app grid by removing the check altogether, as we don't
|
||||
have to care about older versions.
|
||||
---
|
||||
extensions/dash-to-panel/overview.js | 20 ++++++++------------
|
||||
1 file changed, 8 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/extensions/dash-to-panel/overview.js b/extensions/dash-to-panel/overview.js
|
||||
index 57600a5c..38f04c75 100644
|
||||
--- a/extensions/dash-to-panel/overview.js
|
||||
+++ b/extensions/dash-to-panel/overview.js
|
||||
@@ -581,18 +581,14 @@ var dtpOverview = Utils.defineClass({
|
||||
const workspaceAppGridBox =
|
||||
this._cachedWorkspaceBoxes.get(OverviewControls.ControlsState.APP_GRID);
|
||||
|
||||
- if (Config.PACKAGE_VERSION > '40.3') {
|
||||
- const monitor = Main.layoutManager.findMonitorForActor(this._container);
|
||||
- const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index);
|
||||
- const workAreaBox = new Clutter.ActorBox();
|
||||
-
|
||||
- workAreaBox.set_origin(startX, startY);
|
||||
- workAreaBox.set_size(workArea.width, workArea.height);
|
||||
-
|
||||
- params = [workAreaBox, searchHeight, dashHeight, workspaceAppGridBox]
|
||||
- } else {
|
||||
- params = [box, startX, searchHeight, dashHeight, workspaceAppGridBox];
|
||||
- }
|
||||
+ const monitor = Main.layoutManager.findMonitorForActor(this._container);
|
||||
+ const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index);
|
||||
+ const workAreaBox = new Clutter.ActorBox();
|
||||
+
|
||||
+ workAreaBox.set_origin(startX, startY);
|
||||
+ workAreaBox.set_size(workArea.width, workArea.height);
|
||||
+
|
||||
+ params = [workAreaBox, searchHeight, dashHeight, workspaceAppGridBox]
|
||||
|
||||
let appDisplayBox;
|
||||
if (!transitionParams.transitioning) {
|
||||
--
|
||||
2.47.1
|
||||
|
||||
@ -0,0 +1,261 @@
|
||||
From 21c6b13e951e342e4f1e1178afa28f1303b19f2a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 5 May 2025 15:31:12 +0200
|
||||
Subject: [PATCH] dash-to-panel: Stop messing with overview allocation
|
||||
|
||||
See upstream commits facbdbd437a and e544d2c7a.
|
||||
---
|
||||
extensions/dash-to-panel/overview.js | 225 ---------------------------
|
||||
1 file changed, 225 deletions(-)
|
||||
|
||||
diff --git a/extensions/dash-to-panel/overview.js b/extensions/dash-to-panel/overview.js
|
||||
index 38f04c75..9b0a8e71 100644
|
||||
--- a/extensions/dash-to-panel/overview.js
|
||||
+++ b/extensions/dash-to-panel/overview.js
|
||||
@@ -70,7 +70,6 @@ var dtpOverview = Utils.defineClass({
|
||||
this._optionalNumberOverlay();
|
||||
this._optionalClickToExit();
|
||||
this._toggleDash();
|
||||
- this._hookupAllocation();
|
||||
|
||||
this._signalsHandler.add([
|
||||
Me.settings,
|
||||
@@ -81,10 +80,6 @@ var dtpOverview = Utils.defineClass({
|
||||
},
|
||||
|
||||
disable: function () {
|
||||
- Utils.hookVfunc(Workspace.WorkspaceBackground.prototype, 'allocate', Workspace.WorkspaceBackground.prototype.vfunc_allocate);
|
||||
- Utils.hookVfunc(OverviewControls.ControlsManagerLayout.prototype, 'allocate', OverviewControls.ControlsManagerLayout.prototype.vfunc_allocate);
|
||||
- OverviewControls.ControlsManagerLayout.prototype._computeWorkspacesBoxForState = this._oldComputeWorkspacesBoxForState;
|
||||
-
|
||||
this._signalsHandler.destroy();
|
||||
this._injectionsHandler.destroy();
|
||||
|
||||
@@ -481,224 +476,4 @@ var dtpOverview = Utils.defineClass({
|
||||
]);
|
||||
return true;
|
||||
},
|
||||
-
|
||||
- _hookupAllocation: function() {
|
||||
- Utils.hookVfunc(OverviewControls.ControlsManagerLayout.prototype, 'allocate', function vfunc_allocate(container, box) {
|
||||
- const childBox = new Clutter.ActorBox();
|
||||
-
|
||||
- const { spacing } = this;
|
||||
-
|
||||
- let startY = 0;
|
||||
- let startX = 0;
|
||||
-
|
||||
- if (Me.settings.get_boolean('stockgs-keep-top-panel') && Main.layoutManager.panelBox.y === Main.layoutManager.primaryMonitor.y) {
|
||||
- startY = Main.layoutManager.panelBox.height;
|
||||
- box.y1 += startY;
|
||||
- }
|
||||
-
|
||||
- const panel = global.dashToPanel.panels[0];
|
||||
- if(panel) {
|
||||
- switch (panel.getPosition()) {
|
||||
- case St.Side.TOP:
|
||||
- startY = panel.panelBox.height;
|
||||
- box.y1 += startY;
|
||||
- break;
|
||||
- case St.Side.LEFT:
|
||||
- startX = panel.panelBox.width;
|
||||
- box.x1 += startX;
|
||||
- break;
|
||||
- case St.Side.RIGHT:
|
||||
- box.x2 -= panel.panelBox.width;
|
||||
- break;
|
||||
-
|
||||
- }
|
||||
- }
|
||||
-
|
||||
-
|
||||
- const [width, height] = box.get_size();
|
||||
- let availableHeight = height;
|
||||
-
|
||||
- // Search entry
|
||||
- let [searchHeight] = this._searchEntry.get_preferred_height(width);
|
||||
- childBox.set_origin(startX, startY);
|
||||
- childBox.set_size(width, searchHeight);
|
||||
- this._searchEntry.allocate(childBox);
|
||||
-
|
||||
- availableHeight -= searchHeight + spacing;
|
||||
-
|
||||
- // Dash
|
||||
- const maxDashHeight = Math.round(box.get_height() * DASH_MAX_HEIGHT_RATIO);
|
||||
- this._dash.setMaxSize(width, maxDashHeight);
|
||||
-
|
||||
- let [, dashHeight] = this._dash.get_preferred_height(width);
|
||||
- if (Me.settings.get_boolean('stockgs-keep-dash'))
|
||||
- dashHeight = Math.min(dashHeight, maxDashHeight);
|
||||
- else
|
||||
- dashHeight = spacing*5; // todo: determine proper spacing for window labels on maximized windows on workspace display
|
||||
- childBox.set_origin(startX, startY + height - dashHeight);
|
||||
- childBox.set_size(width, dashHeight);
|
||||
- this._dash.allocate(childBox);
|
||||
-
|
||||
- availableHeight -= dashHeight + spacing;
|
||||
-
|
||||
- // Workspace Thumbnails
|
||||
- let thumbnailsHeight = 0;
|
||||
- if (this._workspacesThumbnails.visible) {
|
||||
- const { expandFraction } = this._workspacesThumbnails;
|
||||
- [thumbnailsHeight] =
|
||||
- this._workspacesThumbnails.get_preferred_height(width);
|
||||
- thumbnailsHeight = Math.min(
|
||||
- thumbnailsHeight * expandFraction,
|
||||
- height * WorkspaceThumbnail.MAX_THUMBNAIL_SCALE);
|
||||
- childBox.set_origin(startX, startY + searchHeight + spacing);
|
||||
- childBox.set_size(width, thumbnailsHeight);
|
||||
- this._workspacesThumbnails.allocate(childBox);
|
||||
- }
|
||||
-
|
||||
- // Workspaces
|
||||
- let params = [box, startX, startY, searchHeight, dashHeight, thumbnailsHeight];
|
||||
- const transitionParams = this._stateAdjustment.getStateTransitionParams();
|
||||
-
|
||||
- // Update cached boxes
|
||||
- for (const state of Object.values(OverviewControls.ControlsState)) {
|
||||
- this._cachedWorkspaceBoxes.set(
|
||||
- state, this._computeWorkspacesBoxForState(state, ...params));
|
||||
- }
|
||||
-
|
||||
- let workspacesBox;
|
||||
- if (!transitionParams.transitioning) {
|
||||
- workspacesBox = this._cachedWorkspaceBoxes.get(transitionParams.currentState);
|
||||
- } else {
|
||||
- const initialBox = this._cachedWorkspaceBoxes.get(transitionParams.initialState);
|
||||
- const finalBox = this._cachedWorkspaceBoxes.get(transitionParams.finalState);
|
||||
- workspacesBox = initialBox.interpolate(finalBox, transitionParams.progress);
|
||||
- }
|
||||
-
|
||||
- this._workspacesDisplay.allocate(workspacesBox);
|
||||
-
|
||||
- // AppDisplay
|
||||
- if (this._appDisplay.visible) {
|
||||
- const workspaceAppGridBox =
|
||||
- this._cachedWorkspaceBoxes.get(OverviewControls.ControlsState.APP_GRID);
|
||||
-
|
||||
- const monitor = Main.layoutManager.findMonitorForActor(this._container);
|
||||
- const workArea = Main.layoutManager.getWorkAreaForMonitor(monitor.index);
|
||||
- const workAreaBox = new Clutter.ActorBox();
|
||||
-
|
||||
- workAreaBox.set_origin(startX, startY);
|
||||
- workAreaBox.set_size(workArea.width, workArea.height);
|
||||
-
|
||||
- params = [workAreaBox, searchHeight, dashHeight, workspaceAppGridBox]
|
||||
-
|
||||
- let appDisplayBox;
|
||||
- if (!transitionParams.transitioning) {
|
||||
- appDisplayBox =
|
||||
- this._getAppDisplayBoxForState(transitionParams.currentState, ...params);
|
||||
- } else {
|
||||
- const initialBox =
|
||||
- this._getAppDisplayBoxForState(transitionParams.initialState, ...params);
|
||||
- const finalBox =
|
||||
- this._getAppDisplayBoxForState(transitionParams.finalState, ...params);
|
||||
-
|
||||
- appDisplayBox = initialBox.interpolate(finalBox, transitionParams.progress);
|
||||
- }
|
||||
-
|
||||
- this._appDisplay.allocate(appDisplayBox);
|
||||
- }
|
||||
-
|
||||
- // Search
|
||||
- childBox.set_origin(0, startY + searchHeight + spacing);
|
||||
- childBox.set_size(width, availableHeight);
|
||||
-
|
||||
- this._searchController.allocate(childBox);
|
||||
-
|
||||
- this._runPostAllocation();
|
||||
- });
|
||||
-
|
||||
- this._oldComputeWorkspacesBoxForState = OverviewControls.ControlsManagerLayout.prototype._computeWorkspacesBoxForState;
|
||||
- OverviewControls.ControlsManagerLayout.prototype._computeWorkspacesBoxForState = function _computeWorkspacesBoxForState(state, box, startX, startY, searchHeight, dashHeight, thumbnailsHeight) {
|
||||
- const workspaceBox = box.copy();
|
||||
- const [width, height] = workspaceBox.get_size();
|
||||
- const { spacing } = this;
|
||||
- const { expandFraction } = this._workspacesThumbnails;
|
||||
-
|
||||
- switch (state) {
|
||||
- case OverviewControls.ControlsState.HIDDEN:
|
||||
- break;
|
||||
- case OverviewControls.ControlsState.WINDOW_PICKER:
|
||||
- workspaceBox.set_origin(startX,
|
||||
- startY + searchHeight + spacing +
|
||||
- thumbnailsHeight + spacing * expandFraction);
|
||||
- workspaceBox.set_size(width,
|
||||
- height -
|
||||
- dashHeight - spacing -
|
||||
- searchHeight - spacing -
|
||||
- thumbnailsHeight - spacing * expandFraction);
|
||||
- break;
|
||||
- case OverviewControls.ControlsState.APP_GRID:
|
||||
- workspaceBox.set_origin(startX, startY + searchHeight + spacing);
|
||||
- workspaceBox.set_size(
|
||||
- width,
|
||||
- Math.round(height * SMALL_WORKSPACE_RATIO));
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- return workspaceBox;
|
||||
- }
|
||||
-
|
||||
- Utils.hookVfunc(Workspace.WorkspaceBackground.prototype, 'allocate', function vfunc_allocate(box) {
|
||||
- const [width, height] = box.get_size();
|
||||
- const { scaleFactor } = St.ThemeContext.get_for_stage(global.stage);
|
||||
- const scaledHeight = height - (BACKGROUND_MARGIN * 2 * scaleFactor);
|
||||
- const scaledWidth = (scaledHeight / height) * width;
|
||||
-
|
||||
- const scaledBox = box.copy();
|
||||
- scaledBox.set_origin(
|
||||
- box.x1 + (width - scaledWidth) / 2,
|
||||
- box.y1 + (height - scaledHeight) / 2);
|
||||
- scaledBox.set_size(scaledWidth, scaledHeight);
|
||||
-
|
||||
- const progress = this._stateAdjustment.value;
|
||||
-
|
||||
- if (progress === 1)
|
||||
- box = scaledBox;
|
||||
- else if (progress !== 0)
|
||||
- box = box.interpolate(scaledBox, progress);
|
||||
-
|
||||
- this.set_allocation(box);
|
||||
-
|
||||
- const themeNode = this.get_theme_node();
|
||||
- const contentBox = themeNode.get_content_box(box);
|
||||
-
|
||||
- this._bin.allocate(contentBox);
|
||||
-
|
||||
-
|
||||
- const [contentWidth, contentHeight] = contentBox.get_size();
|
||||
- const monitor = Main.layoutManager.monitors[this._monitorIndex];
|
||||
- let xOff = (contentWidth / this._workarea.width) *
|
||||
- (this._workarea.x - monitor.x);
|
||||
- let yOff = (contentHeight / this._workarea.height) *
|
||||
- (this._workarea.y - monitor.y);
|
||||
-
|
||||
- let startX = -xOff;
|
||||
- let startY = -yOff;
|
||||
- const panel = Utils.find(global.dashToPanel.panels, p => p.monitor.index == this._monitorIndex);
|
||||
- switch (panel.getPosition()) {
|
||||
- case St.Side.TOP:
|
||||
- yOff += panel.panelBox.height;
|
||||
- startY -= panel.panelBox.height;
|
||||
- break;
|
||||
- case St.Side.BOTTOM:
|
||||
- yOff += panel.panelBox.height;
|
||||
- break;
|
||||
- case St.Side.RIGHT:
|
||||
- xOff += panel.panelBox.width;
|
||||
- break;
|
||||
- }
|
||||
- contentBox.set_origin(startX, startY);
|
||||
- contentBox.set_size(xOff + contentWidth, yOff + contentHeight);
|
||||
- this._backgroundGroup.allocate(contentBox);
|
||||
- });
|
||||
-
|
||||
- }
|
||||
});
|
||||
--
|
||||
2.49.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
|
||||
|
||||
@ -0,0 +1,51 @@
|
||||
From 64d4841a77293a45e769b868e1109b63811be7d1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 2 Jul 2024 19:04:10 +0200
|
||||
Subject: [PATCH] workspace-indicator: Re-fittsify workspace previews
|
||||
|
||||
For the window-list extension, it is important that the workspace
|
||||
previews extend to the bottom edge for easier click targets.
|
||||
|
||||
That broke while merging the code with the workspace-indicator,
|
||||
fix it again by moving the padding from the parent box into the
|
||||
thumbnail children.
|
||||
---
|
||||
.../workspace-indicator/stylesheet-dark.css | 15 ++++++++++++++-
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/stylesheet-dark.css b/extensions/workspace-indicator/stylesheet-dark.css
|
||||
index fb0e8b1a..017d844a 100644
|
||||
--- a/extensions/workspace-indicator/stylesheet-dark.css
|
||||
+++ b/extensions/workspace-indicator/stylesheet-dark.css
|
||||
@@ -11,7 +11,6 @@
|
||||
}
|
||||
|
||||
.workspace-indicator .workspaces-box {
|
||||
- padding: 5px;
|
||||
spacing: 3px;
|
||||
}
|
||||
|
||||
@@ -20,6 +19,20 @@
|
||||
spacing: 6px;
|
||||
}
|
||||
|
||||
+.workspace-indicator .workspace-box {
|
||||
+ padding-top: 5px;
|
||||
+ padding-bottom: 5px;
|
||||
+}
|
||||
+
|
||||
+.workspace-indicator StButton:first-child:ltr > .workspace-box,
|
||||
+.workspace-indicator StButton:last-child:rtl > .workspace-box {
|
||||
+ padding-left: 5px;
|
||||
+}
|
||||
+.workspace-indicator StButton:last-child:ltr > .workspace-box,
|
||||
+.workspace-indicator StButton:first-child:rtl > .workspace-box {
|
||||
+ padding-right: 5px;
|
||||
+}
|
||||
+
|
||||
.workspace-indicator-menu .workspace-box {
|
||||
spacing: 6px;
|
||||
}
|
||||
--
|
||||
2.45.2
|
||||
|
||||
2402
SOURCES/improve-workspace-names.patch
Normal file
2402
SOURCES/improve-workspace-names.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
||||
From c4fafbcf01fc3c3846e5fe7d60d9aac623afdd9f Mon Sep 17 00:00:00 2001
|
||||
From 2bc8aa48edae1465a5c51be9d864a159b1009bc7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 18 Apr 2024 18:09:40 +0200
|
||||
Subject: [PATCH 01/29] prefs: Fix loading custom CSS
|
||||
@ -80,10 +80,10 @@ index 567f3e99..d307dcac 100644
|
||||
context.add_provider(cssProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From a6e988875f52a49289677ca4d883a98b5515033f Mon Sep 17 00:00:00 2001
|
||||
From d1380931b47adb23c36e5499cbd931fba4d63bd0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 23 Mar 2022 19:59:14 +0100
|
||||
Subject: [PATCH 02/29] build: Remove unused stylesheets
|
||||
@ -363,10 +363,10 @@ index 71efa039..19858a39 100644
|
||||
|
||||
extension_sources += files('prefs.js')
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 071226445e95d1a5551378aaf3c83db625fc2422 Mon Sep 17 00:00:00 2001
|
||||
From c97c668cf178968d70a9f2de3308e37e0b931acb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 12:38:33 +0100
|
||||
Subject: [PATCH 03/29] workspace-indicator: Move indicator code into separate
|
||||
@ -859,7 +859,7 @@ index 19858a39..eb25b9cc 100644
|
||||
+extension_sources += files('prefs.js', 'workspaceIndicator.js')
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
new file mode 100644
|
||||
index 00000000..b98de047
|
||||
index 00000000..c88ffc9c
|
||||
--- /dev/null
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -0,0 +1,454 @@
|
||||
@ -1180,7 +1180,7 @@ index 00000000..b98de047
|
||||
+ }
|
||||
+
|
||||
+ _onDestroy() {
|
||||
+ for (let i = i; i < this._workspaceManagerSignals.length; i++)
|
||||
+ for (let i = 0; i < this._workspaceManagerSignals.length; i++)
|
||||
+ global.workspace_manager.disconnect(this._workspaceManagerSignals[i]);
|
||||
+
|
||||
+ if (this._settingsChangedId) {
|
||||
@ -1329,10 +1329,10 @@ index 10b1d517..bd39ab61 100644
|
||||
extensions/workspace-indicator/prefs.js
|
||||
+extensions/workspace-indicator/workspaceIndicator.js
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 4720bf9f69c91c6fa39897534921eb4f2eceb8eb Mon Sep 17 00:00:00 2001
|
||||
From 34ba767aa622ac9122463f4649f7a8854a56f25d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 19:09:38 +0100
|
||||
Subject: [PATCH 04/29] workspace-indicator: Use descendant style selectors
|
||||
@ -1375,7 +1375,7 @@ index 84aaf454..4e12cce4 100644
|
||||
}
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index b98de047..101c89c6 100644
|
||||
index c88ffc9c..28fc3ea8 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -263,6 +263,8 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -1406,10 +1406,10 @@ index b98de047..101c89c6 100644
|
||||
reactive: true,
|
||||
});
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 22f44ae9f21337a11a09447763fbd223e37f3d56 Mon Sep 17 00:00:00 2001
|
||||
From c5843b7870e0ce0cbf7b2f587193b93c63062105 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 12:48:43 +0100
|
||||
Subject: [PATCH 05/29] window-list: Use consistent style class prefix
|
||||
@ -1473,10 +1473,10 @@ index cdfe5b61..c24f159f 100644
|
||||
|
||||
this._delegate = this;
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From c8bb217d2053cf8d7db5f4866f834b6d06250427 Mon Sep 17 00:00:00 2001
|
||||
From a81dbea8250c85b950c83048f178c700635a8c38 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 23 Feb 2024 01:59:15 +0100
|
||||
Subject: [PATCH 06/29] workspace-indicator: Allow overriding base style class
|
||||
@ -1489,7 +1489,7 @@ to one of the extensions.
|
||||
1 file changed, 10 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 101c89c6..ba1e05d7 100644
|
||||
index 28fc3ea8..01604b91 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -25,11 +25,13 @@ const TOOLTIP_ANIMATION_TIME = 150;
|
||||
@ -1526,10 +1526,10 @@ index 101c89c6..ba1e05d7 100644
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From fc27a7f0e6da8647380b5bbe901b27ec0e5aa728 Mon Sep 17 00:00:00 2001
|
||||
From e1c5b589fca9021b960e19f043ca26735c8b02de Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 23 Feb 2024 01:58:50 +0100
|
||||
Subject: [PATCH 07/29] window-list: Override base style class
|
||||
@ -1600,10 +1600,10 @@ index c24f159f..1a1d15cd 100644
|
||||
this.menu.actor.remove_style_class_name('panel-menu');
|
||||
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 3838a915d953b910aa2d9ec82cd22dcf2e0f7440 Mon Sep 17 00:00:00 2001
|
||||
From c673a9d7169cc1a2f6df9c3eeea4b11f8968dc19 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 12:48:43 +0100
|
||||
Subject: [PATCH 08/29] window-list: Externally adjust workspace menu
|
||||
@ -1688,10 +1688,10 @@ index 1a1d15cd..4290d58a 100644
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true,
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 7d2abee5e5de19bba95e4fb66692e08ace67c972 Mon Sep 17 00:00:00 2001
|
||||
From 3271e93695782d06ada9752144c650605ceed76a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 21 Mar 2024 16:49:35 +0100
|
||||
Subject: [PATCH 09/29] window-list: Handle changes to workspace menu
|
||||
@ -1731,10 +1731,10 @@ index c58df434..a011bc90 100644
|
||||
this.set_position(
|
||||
this._monitor.x,
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From bc71e5e7a21249868a481238193e1ca15eba5699 Mon Sep 17 00:00:00 2001
|
||||
From 314072792bba618a85897dc085bb72debe3ec6b1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 15:58:39 +0100
|
||||
Subject: [PATCH 10/29] workspace-indicator: Don't use SCHEMA/KEY constants
|
||||
@ -1749,7 +1749,7 @@ do the same here.
|
||||
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index ba1e05d7..60e084e2 100644
|
||||
index 01604b91..6e3ad7b5 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -17,9 +17,6 @@ const Main = imports.ui.main;
|
||||
@ -1775,10 +1775,10 @@ index ba1e05d7..60e084e2 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 66cf82e0676179a2565a75bbad1c31bb539c065c Mon Sep 17 00:00:00 2001
|
||||
From 002a0bb8036a997a70acda017e4016fd9fd51806 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 18:59:23 +0100
|
||||
Subject: [PATCH 11/29] workspace-indicator: Use existing property
|
||||
@ -1790,7 +1790,7 @@ instead of getting it from the workspace manager again.
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 60e084e2..4f2188be 100644
|
||||
index 6e3ad7b5..60356d74 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -454,7 +454,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -1803,10 +1803,10 @@ index 60e084e2..4f2188be 100644
|
||||
}
|
||||
});
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From c51f0d790c7e4d575d770b63ad7c9632b4af79b1 Mon Sep 17 00:00:00 2001
|
||||
From 4e2785910ceccc079305da1b9d0e2c810b1f982a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 16:14:24 +0100
|
||||
Subject: [PATCH 12/29] workspace-indicator: Don't use menu section
|
||||
@ -1820,7 +1820,7 @@ This removes another difference with the window-list copy.
|
||||
1 file changed, 5 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 4f2188be..66b71cd6 100644
|
||||
index 60356d74..39d4e296 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -296,8 +296,6 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -1872,10 +1872,10 @@ index 4f2188be..66b71cd6 100644
|
||||
this._workspacesItems[i].label_actor = this._statusLabel;
|
||||
this._workspacesItems[i].connect('activate', (actor, _event) => {
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From ef3a5860782e67dffcb63c705422102f68bd68ad Mon Sep 17 00:00:00 2001
|
||||
From 5f33bc574aee51700c92b940b23df0b7966450d6 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 13:05:15 +0100
|
||||
Subject: [PATCH 13/29] workspace-indicator: Support showing tooltips above
|
||||
@ -1889,7 +1889,7 @@ used in the copy that is included with the window-list extension.
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 66b71cd6..bc9e222b 100644
|
||||
index 39d4e296..83713b6f 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -227,16 +227,17 @@ class WorkspaceThumbnail extends St.Button {
|
||||
@ -1915,10 +1915,10 @@ index 66b71cd6..bc9e222b 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 3161d6c59fc8f7dd1b5c5f21082a5fd00cbcf5a9 Mon Sep 17 00:00:00 2001
|
||||
From a65fd9e61cf3f3a83116815482843b1b20eef20f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 17:37:16 +0100
|
||||
Subject: [PATCH 14/29] workspace-indicator: Only change top bar redirect when
|
||||
@ -1931,7 +1931,7 @@ the check will allow to use the same code in the window list.
|
||||
1 file changed, 21 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index bc9e222b..ac270d64 100644
|
||||
index 83713b6f..fa05a54c 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -309,6 +309,16 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -1981,10 +1981,10 @@ index bc9e222b..ac270d64 100644
|
||||
: Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY);
|
||||
}
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 3afe55799368e1f899d2949bcc981718c6498623 Mon Sep 17 00:00:00 2001
|
||||
From 521b224b17cb15df49a32d5c2dffe5ce65285df4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 16:13:00 +0100
|
||||
Subject: [PATCH 15/29] workspace-indicator: Small cleanup
|
||||
@ -1996,7 +1996,7 @@ window-list extension, so use that.
|
||||
1 file changed, 9 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index ac270d64..9b22102a 100644
|
||||
index fa05a54c..bbb51c41 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -422,19 +422,18 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -2029,10 +2029,10 @@ index ac270d64..9b22102a 100644
|
||||
|
||||
this._statusLabel.set_text(this._labelText());
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 2eef4f6dd803021303be7c4f15775a41389debb3 Mon Sep 17 00:00:00 2001
|
||||
From 3145e45a2d897b177e7395cec71a1293b6857a36 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 16:13:00 +0100
|
||||
Subject: [PATCH 16/29] workspace-indicator: Simplify getting status text
|
||||
@ -2049,7 +2049,7 @@ for menu items.
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 9b22102a..d8b29f58 100644
|
||||
index bbb51c41..d401b6ab 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -283,7 +283,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -2115,10 +2115,10 @@ index 9b22102a..d8b29f58 100644
|
||||
|
||||
_updateThumbnails() {
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 8785f56bf69272e664c207856bfb7417342550c6 Mon Sep 17 00:00:00 2001
|
||||
From 30adbc349b382c69c7592cd674d7837f6c9185c5 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 16:35:09 +0100
|
||||
Subject: [PATCH 17/29] workspace-indicator: Include n-workspaces in status
|
||||
@ -2136,7 +2136,7 @@ bigger click/touch target, so copy the window-list behavior.
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index d8b29f58..756758b3 100644
|
||||
index d401b6ab..29b8a671 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -403,8 +403,9 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -2151,10 +2151,10 @@ index d8b29f58..756758b3 100644
|
||||
|
||||
_updateMenuLabels() {
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 6e483b472fa4b5a7be8f00b1ef87f28658f815aa Mon Sep 17 00:00:00 2001
|
||||
From 675e91b7b521b4c8d7f53a9f3d028ab7300281dd Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 22 Feb 2024 04:45:23 +0100
|
||||
Subject: [PATCH 18/29] workspace-indicator: Tweak preview style
|
||||
@ -2206,10 +2206,10 @@ index 4e12cce4..f74f7e88 100644
|
||||
|
||||
.workspace-indicator-window-preview.active {
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From cf06ac2f9b7e2412fc555721b9c6d34fea7e0b45 Mon Sep 17 00:00:00 2001
|
||||
From 011af97ab27a4e7be9dab937754470e890bc131c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 23:22:58 +0100
|
||||
Subject: [PATCH 19/29] workspace-indicator: Support light style
|
||||
@ -2344,10 +2344,10 @@ index f74f7e88..b0f7d171 100644
|
||||
-}
|
||||
+@import url("stylesheet-dark.css");
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From a5fd131564600f3117f0dbd27a1bb82592ec1132 Mon Sep 17 00:00:00 2001
|
||||
From bcb34a3a91a5140b5ecc6f9582dd9f80272c7e32 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Wed, 21 Feb 2024 13:08:52 +0100
|
||||
Subject: [PATCH 20/29] window-list: Use actual copy of workspace-indicator
|
||||
@ -2905,10 +2905,10 @@ index 4290d58a..00000000
|
||||
-});
|
||||
-
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From fbcf6cb317b58dc32c67952b54cec925adfbad34 Mon Sep 17 00:00:00 2001
|
||||
From 36e4714c31398b74eb1727197f40bbd81ccfd6f7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 20 Feb 2024 17:39:49 +0100
|
||||
Subject: [PATCH 21/29] workspace-indicator: Simplify scroll handling
|
||||
@ -2920,7 +2920,7 @@ via scroll events. Use that instead of implementing our own.
|
||||
1 file changed, 4 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 756758b3..8e3fec56 100644
|
||||
index 29b8a671..1dd3ed6b 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -307,8 +307,10 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -2957,10 +2957,10 @@ index 756758b3..8e3fec56 100644
|
||||
- }
|
||||
});
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 346960098322af549c55a6eaf1628f1743585df1 Mon Sep 17 00:00:00 2001
|
||||
From f3154702594a814e5131252ab84b9daf0553ada3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 27 Feb 2024 21:20:45 +0100
|
||||
Subject: [PATCH 22/29] workspace-indicator: Handle active indication in
|
||||
@ -2974,7 +2974,7 @@ workspace ourselves.
|
||||
1 file changed, 24 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 8e3fec56..01b831f7 100644
|
||||
index 1dd3ed6b..ae526929 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -116,8 +116,14 @@ class WorkspaceLayout extends Clutter.LayoutManager {
|
||||
@ -3058,10 +3058,10 @@ index 8e3fec56..01b831f7 100644
|
||||
|
||||
_activate(index) {
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 76ec37876c295b9150e98c04e11189e464af7a94 Mon Sep 17 00:00:00 2001
|
||||
From e854ad2e483489952691d5fbede37e3fec63737c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 20 Feb 2024 17:27:57 +0100
|
||||
Subject: [PATCH 23/29] workspace-indicator: Split out WorkspacePreviews
|
||||
@ -3073,7 +3073,7 @@ into a dedicated class.
|
||||
1 file changed, 49 insertions(+), 25 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 01b831f7..a559b8e2 100644
|
||||
index ae526929..e5be8081 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -280,6 +280,51 @@ const WorkspaceThumbnail = GObject.registerClass({
|
||||
@ -3209,10 +3209,10 @@ index 01b831f7..a559b8e2 100644
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 69c5eefbca44f58d10072115dd46ffada862cd48 Mon Sep 17 00:00:00 2001
|
||||
From 18b40e7f586d4546bd64745a0b2d617655b87af3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 19 Feb 2024 14:42:04 +0100
|
||||
Subject: [PATCH 24/29] workspace-indicator: Handle preview overflow
|
||||
@ -3246,7 +3246,7 @@ index f74f7e88..61d1e982 100644
|
||||
padding: 5px;
|
||||
spacing: 3px;
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index a559b8e2..17cf7c89 100644
|
||||
index e5be8081..d496d22d 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -20,6 +20,8 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
@ -3342,10 +3342,10 @@ index a559b8e2..17cf7c89 100644
|
||||
|
||||
_onDestroy() {
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 609674b2763bfd1536e8854b79d3c1bf265f00b9 Mon Sep 17 00:00:00 2001
|
||||
From 422a5e6f67b23c3b9b0764ec313ad0ad864249db Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Sun, 3 Mar 2024 15:05:23 +0100
|
||||
Subject: [PATCH 25/29] workspace-indicator: Support labels in previews
|
||||
@ -3359,7 +3359,7 @@ names to not lose functionality with regards to the current menu.
|
||||
1 file changed, 55 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 17cf7c89..5e6d6300 100644
|
||||
index d496d22d..f5ffdbb7 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -124,10 +124,23 @@ const WorkspaceThumbnail = GObject.registerClass({
|
||||
@ -3504,10 +3504,10 @@ index 17cf7c89..5e6d6300 100644
|
||||
}
|
||||
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 40cfe3a41fa3823fce06824b82e663b8f63f4e6d Mon Sep 17 00:00:00 2001
|
||||
From a0985eb24eafee329b6af6c2c2f7db4de7b103e3 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 20 Feb 2024 21:43:55 +0100
|
||||
Subject: [PATCH 26/29] workspace-indicator: Stop handling vertical layouts
|
||||
@ -3524,7 +3524,7 @@ previews and the actual layout.
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 5e6d6300..aad2716a 100644
|
||||
index f5ffdbb7..362c6372 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -475,8 +475,6 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
@ -3548,10 +3548,10 @@ index 5e6d6300..aad2716a 100644
|
||||
|
||||
this._statusLabel.visible = useMenu;
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 1cad76230f8f70a08a8ccbe0970641a7b6a717b5 Mon Sep 17 00:00:00 2001
|
||||
From 74b64e860757d56f0d500165ba2e49024ead48d2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Sun, 3 Mar 2024 15:05:23 +0100
|
||||
Subject: [PATCH 27/29] workspace-indicator: Also show previews in menu
|
||||
@ -3614,7 +3614,7 @@ index 61d1e982..fb0e8b1a 100644
|
||||
border-color: #9f9f9f;
|
||||
}
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index aad2716a..7b3c6fbe 100644
|
||||
index 362c6372..ed5645db 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -439,7 +439,7 @@ const WorkspacePreviews = GObject.registerClass({
|
||||
@ -3649,7 +3649,7 @@ index aad2716a..7b3c6fbe 100644
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
for (let i = i; i < this._workspaceManagerSignals.length; i++)
|
||||
for (let i = 0; i < this._workspaceManagerSignals.length; i++)
|
||||
global.workspace_manager.disconnect(this._workspaceManagerSignals[i]);
|
||||
|
||||
- if (this._settingsChangedId) {
|
||||
@ -3748,10 +3748,10 @@ index aad2716a..7b3c6fbe 100644
|
||||
}
|
||||
});
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 20a2122ab7a435cb1a0840747a5d13be0d838a9e Mon Sep 17 00:00:00 2001
|
||||
From f810340e1e7ffd7c1964ec950be8b0585afe9e7f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 20 Feb 2024 22:00:57 +0100
|
||||
Subject: [PATCH 28/29] workspace-indicator: Make previews configurable
|
||||
@ -3898,7 +3898,7 @@ index 00000000..c7c634ca
|
||||
+ </schema>
|
||||
+</schemalist>
|
||||
diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
index 7b3c6fbe..9d566f41 100644
|
||||
index ed5645db..14359a0e 100644
|
||||
--- a/extensions/workspace-indicator/workspaceIndicator.js
|
||||
+++ b/extensions/workspace-indicator/workspaceIndicator.js
|
||||
@@ -22,8 +22,6 @@ const TOOLTIP_ANIMATION_TIME = 150;
|
||||
@ -3966,10 +3966,10 @@ index bd39ab61..4d551780 100644
|
||||
+extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml
|
||||
extensions/workspace-indicator/workspaceIndicator.js
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
From 597ed15f9e4a1fd6eeaaedaae59db30c4d379c3f Mon Sep 17 00:00:00 2001
|
||||
From 952d2ca4e3e5b35b3a25336506b06ef0dca734a9 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 21 Mar 2024 17:27:09 +0100
|
||||
Subject: [PATCH 29/29] window-list: Expose workspace preview option
|
||||
@ -3998,5 +3998,5 @@ index e35990ff..79cd1355 100644
|
||||
});
|
||||
|
||||
--
|
||||
2.44.0
|
||||
2.47.0
|
||||
|
||||
|
||||
206
SOURCES/window-list-attention-indicator.patch
Normal file
206
SOURCES/window-list-attention-indicator.patch
Normal file
@ -0,0 +1,206 @@
|
||||
From 984a2672b4c4c41d9dab85c068f76efa98f81a56 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Tue, 17 Dec 2024 01:09:34 +0100
|
||||
Subject: [PATCH] window-list: Add attention indicator
|
||||
|
||||
Some X11 clients still rely on the traditional urgent/demand-attention
|
||||
hints instead of notifications to request the user's attention.
|
||||
|
||||
Support these by adding a visual indication to the corresponding
|
||||
buttons, based on the visual indicator in libadwaita's tabs.
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/543
|
||||
---
|
||||
extensions/window-list/extension.js | 90 +++++++++++++++++++++++++--
|
||||
extensions/window-list/stylesheet.css | 9 +++
|
||||
2 files changed, 95 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js
|
||||
index bb9ca80f..477ed8fe 100644
|
||||
--- a/extensions/window-list/extension.js
|
||||
+++ b/extensions/window-list/extension.js
|
||||
@@ -160,23 +160,30 @@ const TitleWidget = GObject.registerClass({
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false),
|
||||
},
|
||||
-}, class TitleWidget extends St.BoxLayout {
|
||||
+}, class TitleWidget extends St.Widget {
|
||||
_init() {
|
||||
super._init({
|
||||
+ layout_manager: new Clutter.BinLayout(),
|
||||
+ x_expand: true,
|
||||
+ y_expand: true,
|
||||
+ });
|
||||
+
|
||||
+ const hbox = new St.BoxLayout({
|
||||
style_class: 'window-button-box',
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
});
|
||||
+ this.add_child(hbox);
|
||||
|
||||
this._icon = new St.Bin({
|
||||
style_class: 'window-button-icon',
|
||||
});
|
||||
- this.add_child(this._icon);
|
||||
+ hbox.add_child(this._icon);
|
||||
|
||||
this._label = new St.Label({
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
- this.add_child(this._label);
|
||||
+ hbox.add_child(this._label);
|
||||
this.label_actor = this._label;
|
||||
|
||||
this.bind_property('abstract-label',
|
||||
@@ -189,11 +196,28 @@ const TitleWidget = GObject.registerClass({
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
});
|
||||
- this.add_child(this._abstractLabel);
|
||||
+ hbox.add_child(this._abstractLabel);
|
||||
|
||||
this.bind_property('abstract-label',
|
||||
this._abstractLabel, 'visible',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
+
|
||||
+ this._attentionIndicator = new St.Widget({
|
||||
+ style_class: 'window-button-attention-indicator',
|
||||
+ x_expand: true,
|
||||
+ y_expand: true,
|
||||
+ y_align: Clutter.ActorAlign.END,
|
||||
+ scale_x: 0,
|
||||
+ });
|
||||
+ this._attentionIndicator.set_pivot_point(0.5, 0.5);
|
||||
+ this.add_child(this._attentionIndicator);
|
||||
+ }
|
||||
+
|
||||
+ setNeedsAttention(enable) {
|
||||
+ this._attentionIndicator.ease({
|
||||
+ scaleX: enable ? 0.4 : 0,
|
||||
+ duration: 300,
|
||||
+ });
|
||||
}
|
||||
});
|
||||
|
||||
@@ -219,7 +243,12 @@ class WindowTitle extends TitleWidget {
|
||||
'notify::title', this._updateTitle.bind(this));
|
||||
this._notifyMinimizedId = this._metaWindow.connect(
|
||||
'notify::minimized', this._minimizedChanged.bind(this));
|
||||
+ this._notifyDemandsAttentionId = this._metaWindow.connect(
|
||||
+ 'notify::demands-attention', this._updateNeedsAttention.bind(this));
|
||||
+ this._notifyUrgentId = this._metaWindow.connect(
|
||||
+ 'notify::urgent', this._updateNeedsAttention.bind(this));
|
||||
this._minimizedChanged();
|
||||
+ this._updateNeedsAttention();
|
||||
}
|
||||
|
||||
_minimizedChanged() {
|
||||
@@ -227,6 +256,11 @@ class WindowTitle extends TitleWidget {
|
||||
this._updateTitle();
|
||||
}
|
||||
|
||||
+ _updateNeedsAttention() {
|
||||
+ const { urgent, demandsAttention } = this._metaWindow;
|
||||
+ this.setNeedsAttention(urgent || demandsAttention);
|
||||
+ }
|
||||
+
|
||||
_updateTitle() {
|
||||
if (!this._metaWindow.title)
|
||||
return;
|
||||
@@ -272,6 +306,8 @@ class WindowTitle extends TitleWidget {
|
||||
this._metaWindow.disconnect(this._notifyMinimizedId);
|
||||
this._metaWindow.disconnect(this._notifyWmClass);
|
||||
this._metaWindow.disconnect(this._notifyAppId);
|
||||
+ this._metaWindow.disconnect(this._notifyDemandsAttentionId);
|
||||
+ this._metaWindow.disconnect(this._notifyUrgentId);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -281,6 +317,7 @@ class AppTitle extends TitleWidget {
|
||||
super._init();
|
||||
|
||||
this._app = app;
|
||||
+ this._windows = new Map();
|
||||
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
this._label.text = app.get_name();
|
||||
@@ -291,6 +328,10 @@ class AppTitle extends TitleWidget {
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
});
|
||||
|
||||
+ this._windowsChangedId = this._app.connect(
|
||||
+ 'windows-changed', this._onWindowsChanged.bind(this));
|
||||
+ this._onWindowsChanged();
|
||||
+
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
}
|
||||
|
||||
@@ -299,6 +340,47 @@ class AppTitle extends TitleWidget {
|
||||
this._textureCache.disconnect(this._iconThemeChangedId);
|
||||
this._iconThemeChangedId = 0;
|
||||
this._textureCache = null;
|
||||
+
|
||||
+ for (const [window, ids] of this._windows)
|
||||
+ ids.forEach(id => window.disconnect(id));
|
||||
+ this._windows.clear();
|
||||
+ this._app.disconnect(this._windowsChangedId);
|
||||
+ }
|
||||
+
|
||||
+ _onWindowsChanged() {
|
||||
+ const windows = this._app.get_windows();
|
||||
+ const removed = [...this._windows].filter(w => !windows.includes(w));
|
||||
+ removed.forEach(w => this._untrackWindow(w));
|
||||
+ windows.forEach(w => this._trackWindow(w));
|
||||
+ this._updateNeedsAttention();
|
||||
+ }
|
||||
+
|
||||
+ _trackWindow(window) {
|
||||
+ if (this._windows.has(window))
|
||||
+ return;
|
||||
+
|
||||
+ const signals = [
|
||||
+ window.connect('notify::urgent',
|
||||
+ () => this._updateNeedsAttention()),
|
||||
+ window.connect('notify::demands-attention',
|
||||
+ () => this._updateNeedsAttention()),
|
||||
+ ];
|
||||
+ this._windows.set(window, signals);
|
||||
+ }
|
||||
+
|
||||
+ _untrackWindow(window) {
|
||||
+ if (!this._windows.has(window))
|
||||
+ return;
|
||||
+
|
||||
+ const ids = this._windows.get(window);
|
||||
+ ids.forEach(id => window.disconnect(id));
|
||||
+ this._windows.delete(window);
|
||||
+ }
|
||||
+
|
||||
+ _updateNeedsAttention() {
|
||||
+ const needsAttention =
|
||||
+ [...this._windows.keys()].some(w => w.urgent || w.demandsAttention);
|
||||
+ this.setNeedsAttention(needsAttention);
|
||||
}
|
||||
});
|
||||
|
||||
diff --git a/extensions/window-list/stylesheet.css b/extensions/window-list/stylesheet.css
|
||||
index 4c06ebc0..45b42065 100644
|
||||
--- a/extensions/window-list/stylesheet.css
|
||||
+++ b/extensions/window-list/stylesheet.css
|
||||
@@ -103,3 +103,12 @@
|
||||
border-radius: 99px;
|
||||
margin: 6px;
|
||||
}
|
||||
+
|
||||
+.window-button-attention-indicator {
|
||||
+ background-color: rgba(27, 106, 203, 1.0);
|
||||
+ height: 2px;
|
||||
+}
|
||||
+
|
||||
+.window-button.minimized .window-button-attention-indicator {
|
||||
+ background-color: rgba(27, 106, 203, 0.6);
|
||||
+}
|
||||
--
|
||||
2.47.1
|
||||
|
||||
2065
SOURCES/window-list-reordering.patch
Normal file
2065
SOURCES/window-list-reordering.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@
|
||||
|
||||
Name: gnome-shell-extensions
|
||||
Version: 40.7
|
||||
Release: 15%{?dist}
|
||||
Release: 29%{?dist}
|
||||
Summary: Modify and extend GNOME Shell functionality and behavior
|
||||
|
||||
License: GPLv2+
|
||||
@ -43,8 +43,17 @@ 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: prefer-window-icon.patch
|
||||
Patch025: more-ws-previews.patch
|
||||
Patch024: 0001-desktop-icons-Notify-icon-drags.patch
|
||||
Patch025: prefer-window-icon.patch
|
||||
Patch026: 0001-desktop-icons-Handle-touch-events.patch
|
||||
Patch027: more-ws-previews.patch
|
||||
Patch028: 0001-Add-move-notifications-extension.patch
|
||||
Patch029: 0001-workspace-indicator-Re-fittsify-workspace-previews.patch
|
||||
Patch030: window-list-reordering.patch
|
||||
Patch031: 0001-dash-to-panel-Remove-faulty-version-check.patch
|
||||
Patch032: window-list-attention-indicator.patch
|
||||
Patch033: 0001-dash-to-panel-Stop-messing-with-overview-allocation.patch
|
||||
Patch034: improve-workspace-names.patch
|
||||
|
||||
%description
|
||||
GNOME Shell Extensions is a collection of extensions providing additional and
|
||||
@ -62,6 +71,7 @@ Enabled extensions:
|
||||
* gesture-inhibitor
|
||||
* launch-new-instance
|
||||
* heads-up-display
|
||||
* move-notifications
|
||||
* native-window-placement
|
||||
* panel-favorites
|
||||
* places-menu
|
||||
@ -200,6 +210,15 @@ This GNOME Shell extension modifies the behavior of clicking in the dash and app
|
||||
launcher to always launch a new application instance.
|
||||
|
||||
|
||||
%package -n %{pkg_prefix}-move-notifications
|
||||
Summary: Move GNOME Shell notifications
|
||||
License: GPLv2+
|
||||
Requires: %{pkg_prefix}-common = %{version}-%{release}
|
||||
|
||||
%description -n %{pkg_prefix}-move-notifications
|
||||
This GNOME Shell extension moves notification banners to a different position
|
||||
|
||||
|
||||
%package -n %{pkg_prefix}-heads-up-display
|
||||
Summary: Display persistent on-screen message
|
||||
Group: User Interface/Desktops
|
||||
@ -393,6 +412,11 @@ workspaces.
|
||||
%{_datadir}/gnome-shell/extensions/launch-new-instance*/
|
||||
|
||||
|
||||
%files -n %{pkg_prefix}-move-notifications
|
||||
%{_datadir}/gnome-shell/extensions/move-notifications*/
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.move-notifications.gschema.xml
|
||||
|
||||
|
||||
%files -n %{pkg_prefix}-heads-up-display
|
||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.heads-up-display.gschema.xml
|
||||
%{_datadir}/gnome-shell/extensions/heads-up-display*/
|
||||
@ -449,17 +473,73 @@ workspaces.
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Apr 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-15
|
||||
* Tue Nov 18 2025 Florian Müllner <fmuellner@redhat.com> - 40.7-29
|
||||
- Fix workspace-indicator cleanups
|
||||
Resolves: RHEL-129396
|
||||
|
||||
* Mon Jun 30 2025 Florian Müllner <fmuellner@redhat.com> - 40.7-28
|
||||
- Make workspace names more prominent
|
||||
Resolves: RHEL-96218
|
||||
|
||||
* Mon Jun 09 2025 Florian Müllner <fmuellner@redhat.com> - 40.7-27
|
||||
- Fix window-list styling
|
||||
Resolves: RHEL-95787
|
||||
|
||||
* Mon May 05 2025 Florian Müllner <fmuellner@redhat.com> - 40.7-26
|
||||
- Stop overriding gnome-shell's overview allocation
|
||||
Resolves: RHEL-70892
|
||||
|
||||
* Wed Jan 08 2025 Florian Müllner <fmuellner@redhat.com> - 40.7-25
|
||||
- Indicate urgency-hint in window-list
|
||||
Resolves: RHEL-73146
|
||||
|
||||
* Wed Dec 18 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-24
|
||||
- Change "move-clock" to "move-notifications"
|
||||
Resolves: RHEL-33429
|
||||
|
||||
* Mon Dec 02 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-23
|
||||
- Fix app grid with dash-to-panel extension
|
||||
Resolves: RHEL-69665
|
||||
|
||||
* Tue Nov 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-22
|
||||
- Fix another bug in window-list reordering backport
|
||||
Resolves: RHEL-22692
|
||||
|
||||
* Fri Nov 15 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-21
|
||||
- Fix bug in window-list reordering backport
|
||||
Resolves: RHEL-22692
|
||||
|
||||
* Thu Sep 26 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-20
|
||||
- Allow reordering items in window-list
|
||||
Resolves: RHEL-22692
|
||||
|
||||
* Tue Jul 02 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-19
|
||||
- Extend workspace buttons to screen edge
|
||||
Resolves: RHEL-43545
|
||||
|
||||
* Tue May 21 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-18
|
||||
- Add "move-clock" extension
|
||||
Resolves: RHEL-33429
|
||||
|
||||
* Fri Apr 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-17
|
||||
- Fix downstream stylesheets
|
||||
Resolves: RHEL-31885
|
||||
Resolves: RHEL-25016
|
||||
|
||||
* Thu Apr 18 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-14
|
||||
* Wed Apr 03 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-16
|
||||
- Improve workspace previews
|
||||
Resolves: RHEL-31885
|
||||
Resolves: RHEL-25016
|
||||
|
||||
* Tue Mar 19 2024 Florian Müllner <fmuellner@redhat.com> - 40.7-13
|
||||
* Tue 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-29659
|
||||
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
|
||||
|
||||
Loading…
Reference in New Issue
Block a user