From cc696100e6fe900bd1222281e469d6c736c44d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 9 Jul 2026 17:27:56 +0200 Subject: [PATCH] Add window-grouper extension Resolves: https://redhat.atlassian.net/browse/RHEL-193200 --- ...Include-top-icons-in-classic-session.patch | 12 +- add-extra-extensions.patch | 468 +++++++++++++++++- gnome-shell-extensions.spec | 21 +- resurrect-system-monitor.patch | 28 +- 4 files changed, 484 insertions(+), 45 deletions(-) diff --git a/0001-Include-top-icons-in-classic-session.patch b/0001-Include-top-icons-in-classic-session.patch index 0e63ffd..c620e21 100644 --- a/0001-Include-top-icons-in-classic-session.patch +++ b/0001-Include-top-icons-in-classic-session.patch @@ -1,4 +1,4 @@ -From 1982ab4218fa3a7ff622fff5af7c15c2e11351f7 Mon Sep 17 00:00:00 2001 +From 4310f31f2cdd0212b9b5b175fede1c60b86eb1e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 23 Feb 2018 16:56:46 +0100 Subject: [PATCH] Include top-icons in classic session @@ -8,7 +8,7 @@ Subject: [PATCH] Include top-icons in classic session 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index afc0133..78dee5b 100644 +index c7fccd0f..21c754d2 100644 --- a/meson.build +++ b/meson.build @@ -31,6 +31,7 @@ classic_extensions = [ @@ -19,14 +19,14 @@ index afc0133..78dee5b 100644 'window-list' ] -@@ -49,7 +50,6 @@ all_extensions += [ +@@ -52,7 +53,6 @@ all_extensions += [ 'native-window-placement', 'panel-favorites', 'systemMonitor', - 'top-icons', 'updates-dialog', - 'user-theme' - ] + 'user-theme', + 'window-grouper' -- -2.32.0 +2.55.0 diff --git a/add-extra-extensions.patch b/add-extra-extensions.patch index 16207cf..05d97c2 100644 --- a/add-extra-extensions.patch +++ b/add-extra-extensions.patch @@ -1,7 +1,7 @@ From 6623a374036e0f2458d4b36e268f6e4dcc19a2d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 May 2015 17:44:50 +0200 -Subject: [PATCH 1/8] Add top-icons extension +Subject: [PATCH 1/9] Add top-icons extension --- extensions/top-icons/extension.js | 96 +++++++++++++++++++++++++++ @@ -164,13 +164,13 @@ index 41a7e99d..f754767c 100644 ] -- -2.41.0 +2.55.0 From a38891b5a6b0ba51998298963988bf146b2e1f86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 May 2015 18:05:41 +0200 -Subject: [PATCH 2/8] Add dash-to-dock extension +Subject: [PATCH 2/9] Add dash-to-dock extension --- extensions/dash-to-dock/Settings.ui | 2660 +++++++++++++++++ @@ -44398,13 +44398,13 @@ index 6a40e212..14e60ccb 100644 +#~ msgid "0.000" +#~ msgstr "0.000" -- -2.41.0 +2.55.0 From 6cad2aac52022030bcbbf03066fc08937f6d177f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 20 May 2015 18:55:47 +0200 -Subject: [PATCH 3/8] Add panel-favorites extension +Subject: [PATCH 3/9] Add panel-favorites extension --- extensions/panel-favorites/extension.js | 257 ++++++++++++++++++++ @@ -44741,13 +44741,13 @@ index e3d94918..12706001 100644 'user-theme' ] -- -2.41.0 +2.55.0 From dbd3ebbb2d3cf380f2c0a13f13618fedfd8bbad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 4 Mar 2016 17:07:21 +0100 -Subject: [PATCH 4/8] Add updates-dialog extension +Subject: [PATCH 4/9] Add updates-dialog extension --- extensions/updates-dialog/extension.js | 504 ++++++++++++++++++ @@ -45372,13 +45372,433 @@ index 0ed12762..10b1d517 100644 extensions/window-list/extension.js extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml -- -2.41.0 +2.55.0 -From 5de33c69acd297659ac3182e85f0fe32771dd75e Mon Sep 17 00:00:00 2001 +From f28cde648757165a8ae3bc138eccea7836fb7f6b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +Date: Tue, 26 Mar 2019 19:44:43 +0100 +Subject: [PATCH 5/9] Add window-grouper extension + +--- + extensions/window-grouper/extension.js | 109 +++++++++ + extensions/window-grouper/meson.build | 8 + + extensions/window-grouper/metadata.json.in | 11 + + ...hell.extensions.window-grouper.gschema.xml | 9 + + extensions/window-grouper/prefs.js | 207 ++++++++++++++++++ + extensions/window-grouper/stylesheet.css | 1 + + meson.build | 3 +- + 7 files changed, 347 insertions(+), 1 deletion(-) + create mode 100644 extensions/window-grouper/extension.js + create mode 100644 extensions/window-grouper/meson.build + create mode 100644 extensions/window-grouper/metadata.json.in + create mode 100644 extensions/window-grouper/org.gnome.shell.extensions.window-grouper.gschema.xml + create mode 100644 extensions/window-grouper/prefs.js + create mode 100644 extensions/window-grouper/stylesheet.css + +diff --git a/extensions/window-grouper/extension.js b/extensions/window-grouper/extension.js +new file mode 100644 +index 00000000..f66a7641 +--- /dev/null ++++ b/extensions/window-grouper/extension.js +@@ -0,0 +1,109 @@ ++// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- ++/* exported init */ ++ ++const { Shell } = imports.gi; ++ ++const ExtensionUtils = imports.misc.extensionUtils; ++ ++class WindowMover { ++ constructor() { ++ this._settings = ExtensionUtils.getSettings(); ++ this._appSystem = Shell.AppSystem.get_default(); ++ this._appConfigs = new Set(); ++ this._appData = new Map(); ++ ++ this._appsChangedId = this._appSystem.connect( ++ 'installed-changed', this._updateAppData.bind(this)); ++ ++ this._settings.connect('changed', this._updateAppConfigs.bind(this)); ++ this._updateAppConfigs(); ++ } ++ ++ _updateAppConfigs() { ++ this._appConfigs.clear(); ++ ++ this._settings.get_strv('application-list').forEach(appId => { ++ this._appConfigs.add(appId); ++ }); ++ ++ this._updateAppData(); ++ } ++ ++ _updateAppData() { ++ let ids = [...this._appConfigs.values()]; ++ let removedApps = [...this._appData.keys()].filter( ++ a => !ids.includes(a.id) ++ ); ++ removedApps.forEach(app => { ++ app.disconnect(this._appData.get(app).windowsChangedId); ++ this._appData.delete(app); ++ }); ++ ++ let addedApps = ids.map(id => this._appSystem.lookup_app(id)).filter( ++ app => app != null && !this._appData.has(app) ++ ); ++ addedApps.forEach(app => { ++ let data = { ++ windows: app.get_windows(), ++ windowsChangedId: app.connect( ++ 'windows-changed', this._appWindowsChanged.bind(this)) ++ }; ++ this._appData.set(app, data); ++ }); ++ } ++ ++ destroy() { ++ if (this._appsChangedId) { ++ this._appSystem.disconnect(this._appsChangedId); ++ this._appsChangedId = 0; ++ } ++ ++ if (this._settings) { ++ this._settings.run_dispose(); ++ this._settings = null; ++ } ++ ++ this._appConfigs.clear(); ++ this._updateAppData(); ++ } ++ ++ _appWindowsChanged(app) { ++ let data = this._appData.get(app); ++ let windows = app.get_windows(); ++ ++ // If get_compositor_private() returns non-NULL on a removed windows, ++ // the window still exists and is just moved to a different workspace ++ // or something; assume it'll be added back immediately, so keep it ++ // to avoid moving it again ++ windows.push(...data.windows.filter( ++ w => !windows.includes(w) && w.get_compositor_private() != null ++ )); ++ ++ windows.filter(w => !data.windows.includes(w)).forEach(window => { ++ let leader = data.windows.find(w => w.get_pid() == window.get_pid()); ++ if (leader) ++ window.change_workspace(leader.get_workspace()); ++ }); ++ data.windows = windows; ++ } ++} ++ ++class Extension { ++ constructor() { ++ this._winMover = null; ++ } ++ ++ enable() { ++ this._winMover = new WindowMover(); ++ } ++ ++ disable() { ++ this._winMover.destroy(); ++ this._winMover = null; ++ } ++} ++ ++function init() { ++ ExtensionUtils.initTranslations(); ++ return new Extension(); ++} +diff --git a/extensions/window-grouper/meson.build b/extensions/window-grouper/meson.build +new file mode 100644 +index 00000000..c55a7830 +--- /dev/null ++++ b/extensions/window-grouper/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/window-grouper/metadata.json.in b/extensions/window-grouper/metadata.json.in +new file mode 100644 +index 00000000..aa202c8f +--- /dev/null ++++ b/extensions/window-grouper/metadata.json.in +@@ -0,0 +1,11 @@ ++{ ++ "extension-id": "@extension_id@", ++ "uuid": "@uuid@", ++ "settings-schema": "@gschemaname@", ++ "gettext-domain": "@gettext_domain@", ++ "name": "Window grouper", ++ "description": "Keep windows that belong to the same process on the same workspace.", ++ "shell-version": [ "@shell_current@" ], ++ "original-authors": [ "fmuellner@redhat.com" ], ++ "url": "@url@" ++} +diff --git a/extensions/window-grouper/org.gnome.shell.extensions.window-grouper.gschema.xml b/extensions/window-grouper/org.gnome.shell.extensions.window-grouper.gschema.xml +new file mode 100644 +index 00000000..ee052a6e +--- /dev/null ++++ b/extensions/window-grouper/org.gnome.shell.extensions.window-grouper.gschema.xml +@@ -0,0 +1,9 @@ ++ ++ ++ ++ [ ] ++ Application that should be grouped ++ A list of application ids ++ ++ ++ +diff --git a/extensions/window-grouper/prefs.js b/extensions/window-grouper/prefs.js +new file mode 100644 +index 00000000..422d9290 +--- /dev/null ++++ b/extensions/window-grouper/prefs.js +@@ -0,0 +1,207 @@ ++// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- ++/* exported init buildPrefsWidget */ ++ ++const { Gio, GLib, GObject, Gtk, Pango } = imports.gi; ++ ++const ExtensionUtils = imports.misc.extensionUtils; ++const Me = ExtensionUtils.getCurrentExtension(); ++ ++const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']); ++const _ = Gettext.gettext; ++ ++const SETTINGS_KEY = 'application-list'; ++ ++const WindowGrouperSettingsWidget = GObject.registerClass( ++class WindowGrouperSettingsWidget extends Gtk.ScrolledWindow { ++ _init(params) { ++ super._init({ ++ hscrollbar_policy: Gtk.PolicyType.NEVER, ++ }); ++ ++ const box = new Gtk.Box({ ++ orientation: Gtk.Orientation.VERTICAL, ++ halign: Gtk.Align.CENTER, ++ spacing: 12, ++ margin_top: 36, ++ margin_bottom: 36, ++ margin_start: 36, ++ margin_end: 36, ++ }); ++ this.set_child(box); ++ ++ box.append(new Gtk.Label({ ++ label: '%s'.format(_('Grouped Apps')), ++ use_markup: true, ++ halign: Gtk.Align.START, ++ })); ++ ++ this._list = new Gtk.ListBox({ ++ selection_mode: Gtk.SelectionMode.NONE, ++ valign: Gtk.Align.START, ++ show_separators: true, ++ }); ++ box.append(this._list); ++ ++ const context = this._list.get_style_context(); ++ const cssProvider = new Gtk.CssProvider(); ++ cssProvider.load_from_data( ++ 'list { min-width: 30em; }', -1); ++ ++ context.add_provider(cssProvider, ++ Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); ++ context.add_class('frame'); ++ ++ this._list.append(new NewAppRow()); ++ ++ this._actionGroup = new Gio.SimpleActionGroup(); ++ this._list.insert_action_group('apps', this._actionGroup); ++ ++ let action; ++ action = new Gio.SimpleAction({name: 'add'}); ++ action.connect('activate', this._onAddActivated.bind(this)); ++ this._actionGroup.add_action(action); ++ ++ action = new Gio.SimpleAction({ ++ name: 'remove', ++ parameter_type: new GLib.VariantType('s'), ++ }); ++ action.connect('activate', this._onRemoveActivated.bind(this)); ++ this._actionGroup.add_action(action); ++ ++ this._settings = ExtensionUtils.getSettings(); ++ this._settings.connect('changed', this._refresh.bind(this)); ++ ++ this._refresh(); ++ } ++ ++ _onAddActivated() { ++ const dialog = new Gtk.AppChooserDialog({ ++ heading: _('Select an application for which grouping should apply'), ++ transient_for: this.get_root(), ++ modal: true ++ }); ++ ++ dialog.get_widget().show_all = true; ++ ++ dialog.connect('response', (dialog, id) => { ++ const appInfo = id === Gtk.ResponseType.OK ++ ? dialog.get_app_info() : null; ++ ++ if (appInfo) { ++ this._settings.set_strv(SETTINGS_KEY, [ ++ ...this._settings.get_strv(SETTINGS_KEY), ++ appInfo.get_id(), ++ ]); ++ } ++ dialog.destroy(); ++ }); ++ dialog.show(); ++ } ++ ++ _onRemoveActivated(action, param) { ++ const removed = param.deepUnpack(); ++ this._settings.set_strv(SETTINGS_KEY, ++ this._settings.get_strv(SETTINGS_KEY).filter(id => id !== removed)); ++ } ++ ++ _refresh() { ++ const oldRows = [...this._list].filter(row => !!row.id); ++ ++ const oldIds = oldRows.map(r => r.id); ++ const newIds = this._settings.get_strv(SETTINGS_KEY); ++ ++ newIds.forEach((id, i) => { ++ if (oldIds.includes(id)) ++ return; ++ ++ const appInfo = Gio.DesktopAppInfo.new(id); ++ if (appInfo) ++ this._list.insert(new AppRow(appInfo), i); ++ }); ++ ++ oldRows.forEach(row => { ++ if (!newIds.includes(row.id)) ++ this._list.remove(row); ++ }); ++ } ++}); ++ ++const AppRow = GObject.registerClass({ ++ Properties: { ++ 'id': GObject.ParamSpec.string( ++ 'id', 'id', 'id', ++ GObject.ParamFlags.READABLE, ++ ''), ++ }, ++}, class AppRow extends Gtk.ListBoxRow { ++ _init(appInfo) { ++ super._init({ ++ activatable: false, ++ }); ++ this._appInfo = appInfo; ++ ++ const box = new Gtk.Box({ ++ spacing: 0, ++ margin_top: 6, ++ margin_bottom: 6, ++ margin_start: 6, ++ margin_end: 6, ++ }); ++ this.child = box; ++ ++ const icon = new Gtk.Image({ ++ gicon: appInfo.get_icon(), ++ pixel_size: 32, ++ }); ++ icon.get_style_context().add_class('icon-dropshadow'); ++ box.append(icon); ++ ++ const label = new Gtk.Label({ ++ label: appInfo.get_display_name(), ++ halign: Gtk.Align.START, ++ hexpand: true, ++ max_width_chars: 20, ++ ellipsize: Pango.EllipsizeMode.END, ++ }); ++ box.append(label); ++ ++ const button = new Gtk.Button({ ++ action_name: 'apps.remove', ++ action_target: new GLib.Variant('s', this.id), ++ icon_name: 'edit-delete-symbolic', ++ }); ++ box.append(button); ++ } ++ ++ get id() { ++ return this._appInfo.get_id(); ++ } ++}); ++ ++const NewAppRow = GObject.registerClass( ++class NewAppRow extends Gtk.ListBoxRow { ++ _init() { ++ super._init({ ++ action_name: 'apps.add', ++ child: new Gtk.Image({ ++ icon_name: 'list-add-symbolic', ++ pixel_size: 16, ++ margin_top: 12, ++ margin_bottom: 12, ++ margin_start: 12, ++ margin_end: 12, ++ }), ++ }); ++ ++ this.update_property( ++ [Gtk.AccessibleProperty.LABEL], [_('Add App')]); ++ } ++}); ++ ++function init() { ++ ExtensionUtils.initTranslations(); ++} ++ ++function buildPrefsWidget() { ++ return new WindowGrouperSettingsWidget(); ++} +diff --git a/extensions/window-grouper/stylesheet.css b/extensions/window-grouper/stylesheet.css +new file mode 100644 +index 00000000..25134b65 +--- /dev/null ++++ b/extensions/window-grouper/stylesheet.css +@@ -0,0 +1 @@ ++/* This extensions requires no special styling */ +diff --git a/meson.build b/meson.build +index c609ae52..81974203 100644 +--- a/meson.build ++++ b/meson.build +@@ -49,7 +49,8 @@ all_extensions += [ + 'panel-favorites', + 'top-icons', + 'updates-dialog', +- 'user-theme' ++ 'user-theme', ++ 'window-grouper' + ] + + enabled_extensions = get_option('enable_extensions') +-- +2.55.0 + + +From b48930a2e60d56bc585ac4a56b904647a2440b4f Mon Sep 17 00:00:00 2001 From: Carlos Soriano Date: Mon, 13 Aug 2018 17:28:41 +0200 -Subject: [PATCH 5/8] Add desktop icons extension +Subject: [PATCH 6/9] Add desktop icons extension --- .../desktop-icons/createFolderDialog.js | 165 +++ @@ -56921,7 +57341,7 @@ index 00000000..a468f4ab + } +} diff --git a/meson.build b/meson.build -index c609ae52..b83f0795 100644 +index 81974203..3b188d9a 100644 --- a/meson.build +++ b/meson.build @@ -28,6 +28,7 @@ uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' @@ -66729,13 +67149,13 @@ index 14e60ccb..4bdf7154 100644 +#~ msgid "Huge" +#~ msgstr "巨大圖示" -- -2.41.0 +2.55.0 -From 8e23a9d2a5e2f6050bc3cfcebac71565ab5aa1e0 Mon Sep 17 00:00:00 2001 +From 16e7dd5407fb0462fa0d023036a6627126a3a904 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 8 Oct 2021 19:36:18 +0200 -Subject: [PATCH 6/8] Add dash-to-panel +Subject: [PATCH 7/9] Add dash-to-panel --- extensions/dash-to-panel/COPYING | 341 + @@ -89964,7 +90384,7 @@ index 00000000..45d08a04 + return Utils.mergeObjects(opts || {}, defaults); +} diff --git a/meson.build b/meson.build -index b83f0795..b3212c34 100644 +index 3b188d9a..d3cbfb5f 100644 --- a/meson.build +++ b/meson.build @@ -46,6 +46,7 @@ all_extensions = default_extensions @@ -115612,13 +116032,13 @@ index 4bdf7154..1fc6b171 100644 #~ msgstr "退出應用程式" -- -2.41.0 +2.55.0 -From 8ae915152f47068f7f7855edf5a80a3caac6b8ee Mon Sep 17 00:00:00 2001 +From 6fc4565a0b3a5bd6bc751c062b9d5814bc681a59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 2 Dec 2021 19:39:50 +0100 -Subject: [PATCH 7/8] Add classification-banner +Subject: [PATCH 8/9] Add classification-banner --- extensions/classification-banner/adwShim.js | 202 ++++++++++++++++++ @@ -116300,7 +116720,7 @@ index 00000000..fb6a697e +.classification-message { font-weight: bold; } +.classification-banner { font-size: 0.9em; } diff --git a/meson.build b/meson.build -index b3212c34..c73261f7 100644 +index d3cbfb5f..b6a91b07 100644 --- a/meson.build +++ b/meson.build @@ -45,6 +45,7 @@ default_extensions += [ @@ -116312,13 +116732,13 @@ index b3212c34..c73261f7 100644 'dash-to-panel', 'native-window-placement', -- -2.41.0 +2.55.0 -From 55f40c6c9c3fffe27dab3490412e1a7268393814 Mon Sep 17 00:00:00 2001 +From 6533b08df2a363690543185490817b9c31e86493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 12 Jan 2023 19:43:52 +0100 -Subject: [PATCH 8/8] Add custom-menu extension +Subject: [PATCH 9/9] Add custom-menu extension --- extensions/custom-menu/config.js | 484 ++++++++++++++++++++++++ @@ -117084,7 +117504,7 @@ index 00000000..25134b65 @@ -0,0 +1 @@ +/* This extensions requires no special styling */ diff --git a/meson.build b/meson.build -index c73261f7..fa9e622a 100644 +index b6a91b07..0c9b190e 100644 --- a/meson.build +++ b/meson.build @@ -46,6 +46,7 @@ all_extensions = default_extensions @@ -117096,5 +117516,5 @@ index c73261f7..fa9e622a 100644 'dash-to-panel', 'native-window-placement', -- -2.41.0 +2.55.0 diff --git a/gnome-shell-extensions.spec b/gnome-shell-extensions.spec index 5801f00..cde37c3 100644 --- a/gnome-shell-extensions.spec +++ b/gnome-shell-extensions.spec @@ -7,7 +7,7 @@ Name: gnome-shell-extensions Version: 40.7 -Release: 33%{?dist} +Release: 34%{?dist} Summary: Modify and extend GNOME Shell functionality and behavior License: GPLv2+ @@ -81,6 +81,7 @@ Enabled extensions: * top-icons * updates-dialog * user-theme + * window-grouper * window-list * windowsNavigator * workspace-indicator @@ -308,6 +309,15 @@ This GNOME Shell extension enables loading a GNOME Shell theme from ~/.themes//gnome-shell/. +%package -n %{pkg_prefix}-window-grouper +Summary: Keep windows that belong to the same process on the same workspace +License: GPLv2+ +Requires: %{pkg_prefix}-common = %{version}-%{release} + +%description -n %{pkg_prefix}-window-grouper +This GNOME Shell extension keeps windows that belong to the same process on the same workspace. + + %package -n %{pkg_prefix}-window-list Summary: Display a window list at the bottom of the screen in GNOME Shell License: GPLv2+ @@ -460,6 +470,11 @@ workspaces. %{_datadir}/gnome-shell/extensions/user-theme*/ +%files -n %{pkg_prefix}-window-grouper +%{_datadir}/gnome-shell/extensions/window-grouper*/ +%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-grouper.gschema.xml + + %files -n %{pkg_prefix}-window-list %{_datadir}/gnome-shell/extensions/window-list*/ %{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml @@ -475,6 +490,10 @@ workspaces. %changelog +* Thu Jul 09 2026 Florian Müllner - 40.7-34 +- Add "window-grouper" extension + Resolves: RHEL-193200 + * Tue Apr 28 2026 Florian Müllner - 40.7-33 - Include "Desktop Settings" in background menu Resolves: RHEL-84188 diff --git a/resurrect-system-monitor.patch b/resurrect-system-monitor.patch index 99eb0ed..7ff474e 100644 --- a/resurrect-system-monitor.patch +++ b/resurrect-system-monitor.patch @@ -1,4 +1,4 @@ -From c5e26a4c25754dc74e5f2aa9953bc2e30cfea94e Mon Sep 17 00:00:00 2001 +From db5a4d33df4d85a8c4e1fa794cde85662555b01b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 17 May 2017 19:13:50 +0200 Subject: [PATCH 1/6] extensions: Resurrect systemMonitor extension @@ -476,7 +476,7 @@ index 00000000..13f95ec7 + font-weight: bold; +} diff --git a/meson.build b/meson.build -index fa9e622a..70dbf007 100644 +index 0c9b190e..7b21b2e9 100644 --- a/meson.build +++ b/meson.build @@ -51,6 +51,7 @@ all_extensions += [ @@ -486,12 +486,12 @@ index fa9e622a..70dbf007 100644 + 'systemMonitor', 'top-icons', 'updates-dialog', - 'user-theme' + 'user-theme', -- -2.41.0 +2.55.0 -From efe89316c5ae1721306defcdbb80227fe61414c4 Mon Sep 17 00:00:00 2001 +From 6c4adb80ea81e070b232dd2cb9fe65cd7f7c64c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Fri, 17 May 2019 22:55:48 +0000 Subject: [PATCH 2/6] systemMonitor: Modernise code @@ -1081,10 +1081,10 @@ index 7b09df01..f7c6a4a9 100644 function init() { return new Extension(); -- -2.41.0 +2.55.0 -From fe1916c1b29ab64c73179ab4c86e106ff69f977d Mon Sep 17 00:00:00 2001 +From f686b3fc4bf9968f346c7f04c42369dfea5ecbf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 26 May 2021 19:50:37 +0200 Subject: [PATCH 3/6] systemMonitor: Make label property private @@ -1187,10 +1187,10 @@ index f7c6a4a9..bde25a1d 100644 _initValues() { -- -2.41.0 +2.55.0 -From b8457707c2b05b88d443587b729e1893cf8b8d3d Mon Sep 17 00:00:00 2001 +From c0f6679c43c3b680cad4270c77f45afb76f58665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 17 May 2017 19:31:58 +0200 Subject: [PATCH 4/6] systemMonitor: Move indicators to calendar @@ -1448,10 +1448,10 @@ index 13f95ec7..978ac12a 100644 .extension-systemMonitor-indicator-label { -- -2.41.0 +2.55.0 -From bc05d47dbd45f761b14d90f60fd16259486bcb53 Mon Sep 17 00:00:00 2001 +From 68ac2d06628254b4831ab3fd1e3687d05c509330 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 18 May 2017 16:20:07 +0200 Subject: [PATCH 5/6] systemMonitor: Handle clicks on section title @@ -1503,10 +1503,10 @@ index 1fd01ab4..57bdb51f 100644 for (let i = 0; i < INDICATORS.length; i++) { let indicator = new INDICATORS[i](); -- -2.41.0 +2.55.0 -From 597086c27823a7eb0b2124bfbe2c0572bbd1783d Mon Sep 17 00:00:00 2001 +From bfb43d952a0077ab35109518fb0040bfa26bbca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 18 May 2017 18:00:17 +0200 Subject: [PATCH 6/6] systemMonitor: Provide classic styling @@ -1547,5 +1547,5 @@ index 48504f63..b6548b14 100644 + extension_data += files('classic.css') +endif -- -2.41.0 +2.55.0