From 348e9502fddd80af08f0d215c678e11f14fd5265 Mon Sep 17 00:00:00 2001 From: Florian Müllner Date: Jan 10 2019 20:21:01 +0000 Subject: Update to 3.31.4 --- diff --git a/.gitignore b/.gitignore index 47734f8..c8a1865 100644 --- a/.gitignore +++ b/.gitignore @@ -151,3 +151,4 @@ gnome-shell-2.31.5.tar.bz2 /gnome-shell-3.30.0.tar.xz /gnome-shell-3.30.1.tar.xz /gnome-shell-3.31.2.tar.xz +/gnome-shell-3.31.4.tar.xz diff --git a/0001-windowAttentionHandler-Handle-XUrgencyHint-as-well.patch b/0001-windowAttentionHandler-Handle-XUrgencyHint-as-well.patch deleted file mode 100644 index 26057fa..0000000 --- a/0001-windowAttentionHandler-Handle-XUrgencyHint-as-well.patch +++ /dev/null @@ -1,53 +0,0 @@ -From 284978757ee6b13dc9678700e2b1972507dbaaa5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Fri, 13 Jul 2018 19:16:14 +0200 -Subject: [PATCH 01/25] windowAttentionHandler: Handle XUrgencyHint as well - -While it's not commonly used, it is easy enough to handle it the -same as the demands-attention hint, so do just that. - -https://bugzilla.gnome.org/show_bug.cgi?id=643595 ---- - js/ui/windowAttentionHandler.js | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -diff --git a/js/ui/windowAttentionHandler.js b/js/ui/windowAttentionHandler.js -index 524e47c0f..a8c688ef3 100644 ---- a/js/ui/windowAttentionHandler.js -+++ b/js/ui/windowAttentionHandler.js -@@ -13,6 +13,8 @@ var WindowAttentionHandler = new Lang.Class({ - this._tracker = Shell.WindowTracker.get_default(); - this._windowDemandsAttentionId = global.display.connect('window-demands-attention', - this._onWindowDemandsAttention.bind(this)); -+ this._windowMarkedUrgentId = global.display.connect('window-marked-urgent', -+ this._onWindowDemandsAttention.bind(this)); - }, - - _getTitleAndBanner(app, window) { -@@ -66,7 +68,9 @@ var Source = new Lang.Class({ - - this.signalIDs = []; - this.signalIDs.push(this._window.connect('notify::demands-attention', -- () => { this.destroy(); })); -+ this._sync.bind(this)); -+ this.signalIDs.push(this._window.connect('notify::urgent', -+ this._sync.bind(this)); - this.signalIDs.push(this._window.connect('focus', - () => { this.destroy(); })); - this.signalIDs.push(this._window.connect('unmanaged', -@@ -75,6 +79,12 @@ var Source = new Lang.Class({ - this.connect('destroy', this._onDestroy.bind(this)); - }, - -+ _sync() { -+ if (this._window.demands_attention || this._window.urgent) -+ return; -+ this.destroy(); -+ }, -+ - _onDestroy() { - for(let i = 0; i < this.signalIDs.length; i++) { - this._window.disconnect(this.signalIDs[i]); --- -2.20.0 - diff --git a/0002-keyboard-split-out-a-function-to-udpate-the-MRU-list.patch b/0002-keyboard-split-out-a-function-to-udpate-the-MRU-list.patch deleted file mode 100644 index 7333411..0000000 --- a/0002-keyboard-split-out-a-function-to-udpate-the-MRU-list.patch +++ /dev/null @@ -1,80 +0,0 @@ -From f81887772ac0e5adc4fac1c3a1839bbd8c87ff13 Mon Sep 17 00:00:00 2001 -From: Cosimo Cecchi -Date: Wed, 25 May 2016 11:28:57 -0700 -Subject: [PATCH 2/4] keyboard: split out a function to udpate the MRU list - -We're going to add saving of the MRU list in the function in a later -commit. - -https://bugzilla.gnome.org/show_bug.cgi?id=766826 ---- - js/ui/status/keyboard.js | 46 +++++++++++++++++++++++++--------------------- - 1 file changed, 25 insertions(+), 21 deletions(-) - -diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js -index 895b73c..8f45b0d 100644 ---- a/js/ui/status/keyboard.js -+++ b/js/ui/status/keyboard.js -@@ -440,6 +440,30 @@ const InputSourceManager = new Lang.Class({ - this._currentInputSourceChanged(is); - }, - -+ _updateMruSources: function() { -+ let sourcesList = []; -+ for (let i in this._inputSources) -+ sourcesList.push(this._inputSources[i]); -+ -+ this._keyboardManager.setUserLayouts(sourcesList.map(function(x) { return x.xkbId; })); -+ -+ if (!this._disableIBus && this._mruSourcesBackup) { -+ this._mruSources = this._mruSourcesBackup; -+ this._mruSourcesBackup = null; -+ } -+ -+ let mruSources = []; -+ for (let i = 0; i < this._mruSources.length; i++) { -+ for (let j = 0; j < sourcesList.length; j++) -+ if (this._mruSources[i].type == sourcesList[j].type && -+ this._mruSources[i].id == sourcesList[j].id) { -+ mruSources = mruSources.concat(sourcesList.splice(j, 1)); -+ break; -+ } -+ } -+ this._mruSources = mruSources.concat(sourcesList); -+ }, -+ - _inputSourcesChanged: function() { - let sources = this._settings.inputSources; - let nSources = sources.length; -@@ -514,27 +538,7 @@ const InputSourceManager = new Lang.Class({ - - this.emit('sources-changed'); - -- let sourcesList = []; -- for (let i in this._inputSources) -- sourcesList.push(this._inputSources[i]); -- -- this._keyboardManager.setUserLayouts(sourcesList.map(function(x) { return x.xkbId; })); -- -- if (!this._disableIBus && this._mruSourcesBackup) { -- this._mruSources = this._mruSourcesBackup; -- this._mruSourcesBackup = null; -- } -- -- let mruSources = []; -- for (let i = 0; i < this._mruSources.length; i++) { -- for (let j = 0; j < sourcesList.length; j++) -- if (this._mruSources[i].type == sourcesList[j].type && -- this._mruSources[i].id == sourcesList[j].id) { -- mruSources = mruSources.concat(sourcesList.splice(j, 1)); -- break; -- } -- } -- this._mruSources = mruSources.concat(sourcesList); -+ this._updateMruSources(); - - if (this._mruSources.length > 0) - this._mruSources[0].activate(); --- -2.7.4 - diff --git a/0002-windowAttentionHandler-Fix-syntax-errors.patch b/0002-windowAttentionHandler-Fix-syntax-errors.patch deleted file mode 100644 index dc432a1..0000000 --- a/0002-windowAttentionHandler-Fix-syntax-errors.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 240f3faf6e58070fa98cab30bd2b9ff83f759a1c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Wed, 14 Nov 2018 19:38:33 +0100 -Subject: [PATCH 02/25] windowAttentionHandler: Fix syntax errors - -Gah, why didn't we catch those?! ---- - js/ui/windowAttentionHandler.js | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/js/ui/windowAttentionHandler.js b/js/ui/windowAttentionHandler.js -index a8c688ef3..3e53f60b5 100644 ---- a/js/ui/windowAttentionHandler.js -+++ b/js/ui/windowAttentionHandler.js -@@ -68,9 +68,9 @@ var Source = new Lang.Class({ - - this.signalIDs = []; - this.signalIDs.push(this._window.connect('notify::demands-attention', -- this._sync.bind(this)); -+ this._sync.bind(this))); - this.signalIDs.push(this._window.connect('notify::urgent', -- this._sync.bind(this)); -+ this._sync.bind(this))); - this.signalIDs.push(this._window.connect('focus', - () => { this.destroy(); })); - this.signalIDs.push(this._window.connect('unmanaged', --- -2.20.0 - diff --git a/0003-keyboard-add-an-interactive-argument-to-input-source.patch b/0003-keyboard-add-an-interactive-argument-to-input-source.patch deleted file mode 100644 index e0dc246..0000000 --- a/0003-keyboard-add-an-interactive-argument-to-input-source.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 5c0eba7d3be5997d973c3f0a06f2ecd4aa3e5db5 Mon Sep 17 00:00:00 2001 -From: Cosimo Cecchi -Date: Wed, 25 May 2016 11:54:33 -0700 -Subject: [PATCH 3/4] keyboard: add an interactive argument to input source - activation - -This is useful to differentiate between a change due to user interaction -or automatic loading. - -https://bugzilla.gnome.org/show_bug.cgi?id=766826 ---- - js/ui/status/keyboard.js | 19 +++++++++++-------- - 1 file changed, 11 insertions(+), 8 deletions(-) - -diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js -index 8f45b0d..1020994 100644 ---- a/js/ui/status/keyboard.js -+++ b/js/ui/status/keyboard.js -@@ -61,8 +61,8 @@ const InputSource = new Lang.Class({ - this.emit('changed'); - }, - -- activate: function() { -- this.emit('activate'); -+ activate: function(interactive) { -+ this.emit('activate', !!interactive); - }, - - _getXkbId: function() { -@@ -109,7 +109,7 @@ const InputSourcePopup = new Lang.Class({ - _finish : function() { - this.parent(); - -- this._items[this._selectedIndex].activate(); -+ this._items[this._selectedIndex].activate(true); - }, - }); - -@@ -376,7 +376,7 @@ const InputSourceManager = new Lang.Class({ - while (!(is = this._inputSources[nextIndex])) - nextIndex += 1; - -- is.activate(); -+ is.activate(true); - return true; - }, - -@@ -420,7 +420,7 @@ const InputSourceManager = new Lang.Class({ - this._changePerWindowSource(); - }, - -- _activateInputSource: function(is) { -+ _activateInputSource: function(is, interactive) { - KeyboardManager.holdKeyboard(); - this._keyboardManager.apply(is.xkbId); - -@@ -541,7 +541,7 @@ const InputSourceManager = new Lang.Class({ - this._updateMruSources(); - - if (this._mruSources.length > 0) -- this._mruSources[0].activate(); -+ this._mruSources[0].activate(false); - - // All ibus engines are preloaded here to reduce the launching time - // when users switch the input sources. -@@ -650,7 +650,7 @@ const InputSourceManager = new Lang.Class({ - } - - if (window._currentSource) -- window._currentSource.activate(); -+ window._currentSource.activate(false); - }, - - _sourcesPerWindowChanged: function() { -@@ -771,7 +771,10 @@ const InputSourceIndicator = new Lang.Class({ - let is = this._inputSourceManager.inputSources[i]; - - let menuItem = new LayoutMenuItem(is.displayName, is.shortName); -- menuItem.connect('activate', Lang.bind(is, is.activate)); -+ menuItem.connect('activate', function() { -+ is.activate(true); -+ }); -+ - let indicatorLabel = new St.Label({ text: is.shortName, - visible: false }); - --- -2.7.4 - diff --git a/0003-power-Label-the-PENDING_CHARGE-state-as-Not-Charging.patch b/0003-power-Label-the-PENDING_CHARGE-state-as-Not-Charging.patch deleted file mode 100644 index f381cd9..0000000 --- a/0003-power-Label-the-PENDING_CHARGE-state-as-Not-Charging.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 52c59ac0dd7ddbe064ea4b9873492ec76e289c65 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Jo=C3=A3o=20Paulo=20Rechi=20Vita?= -Date: Fri, 2 Nov 2018 13:51:33 -0700 -Subject: [PATCH 03/25] power: Label the PENDING_CHARGE state as "Not Charging" - -The pending-charge state means AC power is on but the battery is not -being charged. This can happen because its charge is above a certain -threshold, to avoid short charging cycles and prolong the battery's -life, or because the PSU is not powerful enough to charge the batteries. - -Instead of lying to the user about something being estimated, we should -simply tell the truth and set the label to "Not Charging". - -Closes: #701. ---- - js/ui/status/power.js | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/js/ui/status/power.js b/js/ui/status/power.js -index f21693f53..4a6ce2c24 100644 ---- a/js/ui/status/power.js -+++ b/js/ui/status/power.js -@@ -70,7 +70,9 @@ var Indicator = new Lang.Class({ - seconds = this._proxy.TimeToFull; - else if (this._proxy.State == UPower.DeviceState.DISCHARGING) - seconds = this._proxy.TimeToEmpty; -- // state is one of PENDING_CHARGING, PENDING_DISCHARGING -+ else if (this._proxy.State == UPower.DeviceState.PENDING_CHARGE) -+ return _("Not Charging"); -+ // state is PENDING_DISCHARGE - else - return _("Estimating…"); - --- -2.20.0 - diff --git a/0004-keyboard-save-the-MRU-input-sources-list-when-switch.patch b/0004-keyboard-save-the-MRU-input-sources-list-when-switch.patch deleted file mode 100644 index 72315e4..0000000 --- a/0004-keyboard-save-the-MRU-input-sources-list-when-switch.patch +++ /dev/null @@ -1,123 +0,0 @@ -From 2ea6ae05e579e07f03063e10e560c1339f6599c8 Mon Sep 17 00:00:00 2001 -From: Cosimo Cecchi -Date: Mon, 23 May 2016 16:24:50 -0700 -Subject: [PATCH 4/4] keyboard: save the MRU input sources list when switching - -And restore it when reloading the current list of sources, if -appropriate. - -https://bugzilla.gnome.org/show_bug.cgi?id=766826 ---- - js/ui/status/keyboard.js | 61 ++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 61 insertions(+) - -diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js -index 1020994..d4b14d5 100644 ---- a/js/ui/status/keyboard.js -+++ b/js/ui/status/keyboard.js -@@ -159,6 +159,14 @@ const InputSourceSettings = new Lang.Class({ - return []; - }, - -+ get mruSources() { -+ return []; -+ }, -+ -+ set mruSources(sourcesList) { -+ // do nothing -+ }, -+ - get keyboardOptions() { - return []; - }, -@@ -251,6 +259,7 @@ const InputSourceSessionSettings = new Lang.Class({ - - _DESKTOP_INPUT_SOURCES_SCHEMA: 'org.gnome.desktop.input-sources', - _KEY_INPUT_SOURCES: 'sources', -+ _KEY_MRU_SOURCES: 'mru-sources', - _KEY_KEYBOARD_OPTIONS: 'xkb-options', - _KEY_PER_WINDOW: 'per-window', - -@@ -277,6 +286,15 @@ const InputSourceSessionSettings = new Lang.Class({ - return this._getSourcesList(this._KEY_INPUT_SOURCES); - }, - -+ get mruSources() { -+ return this._getSourcesList(this._KEY_MRU_SOURCES); -+ }, -+ -+ set mruSources(sourcesList) { -+ let sources = GLib.Variant.new('a(ss)', sourcesList); -+ this._settings.set_value(this._KEY_MRU_SOURCES, sources); -+ }, -+ - get keyboardOptions() { - return this._settings.get_strv(this._KEY_KEYBOARD_OPTIONS); - }, -@@ -404,6 +422,25 @@ const InputSourceManager = new Lang.Class({ - this._keyboardManager.reapply(); - }, - -+ _updateMruSettings: function() { -+ // If IBus is not ready we don't have a full picture of all -+ // the available sources, so don't update the setting -+ if (!this._ibusReady) -+ return; -+ -+ // If IBus is temporarily disabled, don't update the setting -+ if (this._disableIBus) -+ return; -+ -+ let sourcesList = []; -+ for (let i = 0; i < this._mruSources.length; ++i) { -+ let source = this._mruSources[i]; -+ sourcesList.push([source.type, source.id]); -+ } -+ -+ this._settings.mruSources = sourcesList; -+ }, -+ - _currentInputSourceChanged: function(newSource) { - let oldSource; - [oldSource, this._currentSource] = [this._currentSource, newSource]; -@@ -438,6 +475,9 @@ const InputSourceManager = new Lang.Class({ - - this._ibusManager.setEngine(engine, KeyboardManager.releaseKeyboard); - this._currentInputSourceChanged(is); -+ -+ if (interactive) -+ this._updateMruSettings(); - }, - - _updateMruSources: function() { -@@ -452,6 +492,27 @@ const InputSourceManager = new Lang.Class({ - this._mruSourcesBackup = null; - } - -+ // Initialize from settings when we have no MRU sources list -+ if (this._mruSources.length == 0) { -+ let mruSettings = this._settings.mruSources; -+ for (let i = 0; i < mruSettings.length; i++) { -+ let mruSettingSource = mruSettings[i]; -+ let mruSource = null; -+ -+ for (let j = 0; j < sourcesList.length; j++) { -+ let source = sourcesList[j]; -+ if (source.type == mruSettingSource.type && -+ source.id == mruSettingSource.id) { -+ mruSource = source; -+ break; -+ } -+ } -+ -+ if (mruSource) -+ this._mruSources.push(mruSource); -+ } -+ } -+ - let mruSources = []; - for (let i = 0; i < this._mruSources.length; i++) { - for (let j = 0; j < sourcesList.length; j++) --- -2.7.4 - diff --git a/0007-ibusManager-Don-t-pass-undefined-callback-to-ibus.patch b/0007-ibusManager-Don-t-pass-undefined-callback-to-ibus.patch deleted file mode 100644 index f25e128..0000000 --- a/0007-ibusManager-Don-t-pass-undefined-callback-to-ibus.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 74bb9e62492bacda372904d30891eb97685e9b0c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Thu, 15 Nov 2018 18:47:55 +0100 -Subject: [PATCH 07/25] ibusManager: Don't pass undefined callback to ibus - -Since commit 551e8278416, we don't always pass a callback parameter. -However passing it on as undefined to ibus doesn't work, as gjs doesn't -accept that as a valid callback value and throw an error. As a result, -we can end up with no layout selected in the keyboard menu and an "empty" -indicator. Fix this by explicitly passing null if no callback has been -provided. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/293 ---- - js/misc/ibusManager.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/misc/ibusManager.js b/js/misc/ibusManager.js -index 34f198c35..33ad8777e 100644 ---- a/js/misc/ibusManager.js -+++ b/js/misc/ibusManager.js -@@ -210,7 +210,7 @@ var IBusManager = new Lang.Class({ - } - - this._ibus.set_global_engine_async(id, this._MAX_INPUT_SOURCE_ACTIVATION_TIME, -- null, callback); -+ null, callback || null); - }, - - preloadEngines(ids) { --- -2.20.0 - diff --git a/0008-altSwitcher-Fix-error-when-all-alternatives-are-disa.patch b/0008-altSwitcher-Fix-error-when-all-alternatives-are-disa.patch deleted file mode 100644 index 088897b..0000000 --- a/0008-altSwitcher-Fix-error-when-all-alternatives-are-disa.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e77463b875311ff35bb94daadf2d96cb1886e2c1 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Fri, 16 Nov 2018 11:39:08 +0100 -Subject: [PATCH 08/25] altSwitcher: Fix error when all alternatives are - disabled - -While we do consider the case that we don't have a child to show for the -visibility, we are still trying to move the click action unconditionally. - -https://gitlab.gnome.org/GNOME/gnome-shell/issues/783 ---- - js/ui/status/system.js | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/js/ui/status/system.js b/js/ui/status/system.js -index c695f37be..41bcacd94 100644 ---- a/js/ui/status/system.js -+++ b/js/ui/status/system.js -@@ -58,6 +58,9 @@ var AltSwitcher = new Lang.Class({ - childToShow = this._standard; - } else if (this._alternate.visible) { - childToShow = this._alternate; -+ } else { -+ this.actor.hide(); -+ return; - } - - let childShown = this.actor.get_child(); -@@ -79,7 +82,7 @@ var AltSwitcher = new Lang.Class({ - global.sync_pointer(); - } - -- this.actor.visible = (childToShow != null); -+ this.actor.show(); - }, - - _onDestroy() { --- -2.20.0 - diff --git a/0009-dash-destroy-items-s-child-before-tooltip.patch b/0009-dash-destroy-items-s-child-before-tooltip.patch deleted file mode 100644 index 8d11baa..0000000 --- a/0009-dash-destroy-items-s-child-before-tooltip.patch +++ /dev/null @@ -1,30 +0,0 @@ -From ff2fbf5ae40561b403b721e932d1bc5492532156 Mon Sep 17 00:00:00 2001 -From: Andrea Azzarone -Date: Fri, 16 Nov 2018 18:31:56 +0000 -Subject: [PATCH 09/25] dash: destroy items's child before tooltip - -Destroy the DashItemContainer's child from the same handler as the tooltip. This -will prevent invalid reads when the item is destroyed while its quicklist is -still open. - -Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/781 ---- - js/ui/dash.js | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/js/ui/dash.js b/js/ui/dash.js -index 60d030941..ce970a610 100644 ---- a/js/ui/dash.js -+++ b/js/ui/dash.js -@@ -55,6 +55,8 @@ var DashItemContainer = new Lang.Class({ - this.animatingOut = false; - - this.connect('destroy', () => { -+ if (this.child != null) -+ this.child.destroy(); - this.label.destroy(); - }); - }, --- -2.20.0 - diff --git a/0010-theme-Replace-corner-ripple-png-assets-with-css.patch b/0010-theme-Replace-corner-ripple-png-assets-with-css.patch deleted file mode 100644 index f30c96e..0000000 --- a/0010-theme-Replace-corner-ripple-png-assets-with-css.patch +++ /dev/null @@ -1,172 +0,0 @@ -From 8e7c90b930fd6bd52bfc0976d6e0750a48219cb4 Mon Sep 17 00:00:00 2001 -From: Sam Hewitt -Date: Fri, 16 Nov 2018 14:05:05 -0500 -Subject: [PATCH 10/25] theme: Replace corner ripple png assets with css - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/298 ---- - data/gnome-shell-theme.gresource.xml | 2 -- - data/theme/corner-ripple-ltr.png | Bin 2493 -> 0 bytes - data/theme/corner-ripple-rtl.png | Bin 2386 -> 0 bytes - data/theme/gnome-shell-sass/_common.scss | 11 +++++------ - 4 files changed, 5 insertions(+), 8 deletions(-) - delete mode 100644 data/theme/corner-ripple-ltr.png - delete mode 100644 data/theme/corner-ripple-rtl.png - -diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml -index c99b71ddf..e292d33a3 100644 ---- a/data/gnome-shell-theme.gresource.xml -+++ b/data/gnome-shell-theme.gresource.xml -@@ -11,8 +11,6 @@ - close-window.svg - close-window-active.svg - close-window-hover.svg -- corner-ripple-ltr.png -- corner-ripple-rtl.png - dash-placeholder.svg - gnome-shell.css - gnome-shell-high-contrast.css -diff --git a/data/theme/corner-ripple-ltr.png b/data/theme/corner-ripple-ltr.png -deleted file mode 100644 -index 326ecaa52e4adc662c8c83f26c79640944eb6def..0000000000000000000000000000000000000000 -GIT binary patch -literal 0 -HcmV?d00001 - -literal 2493 -zcmV;u2}1UXP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2igJ# -z00tQn>y{G$000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000RXNkl7bF-R651Pg+QB4wL_1%xmwgjgjD7VO{$ -z1n~#VE`kkafrJqMz(hiVMFbX#63<}AZpU`Jzq_id>V2Pc&!XBun9Pu2VyF9Amrm(= -z&N=sUK3@IB-~Q9@a1M@8*macVilmBYZw-TXnrxjBhZ3KB@84B4l& -z)UFjkoFAMpkdnF(9Z)4DKy}sA-<=B}g)MAJHJu%fR;b!C3Q9;#iSy&3+8Kys5pG?o -ztF{v|GP7~2WS3>wZ**>QNZ2(qg{mCY7!(oE01cFw9L?h#iNa~<8G}I*&LXKe-B5^? -zm6h`&3JWh4YzZSF0ZJ1Hxk~f-ROd(KoDvS>f+)5leJX&83`O>O)#n1JNJK%IG$qsn -zdXl1qGN7~Fx>23A=LE=-G9wU8nxWAUvay}UbD?=ux>S?rDCD{#JP;lMOAw8u3QTQJ -zTin)Wkmo|>j1;C(XepBmzzWKyCaus!#gn2sCx^8;AL`~%L@$$N<5i&%1VuhEI#e=l -zY3H>!IVT~f42T|Lsf0#|o^hLSVAuUDd6dDdsiS)4fihFBQfBsmp-~?&aEx;=B6e$P -z+^_xl!C>p`dq`0@eS7-A0A*vl#T-f6t?2{YO=f*}SMT3D`?9^rpV9!s5JMa#B4&sK -zh&|z>oGrrb#+z@QZ6GfSwj$S|@Uqd!cGy0_c~Geb&N}g^Z4U-px%b+uXS+$;E^<&;WZ1?4#Im)pvFH!eid-d$L;6^fTgqMZZjW&Rh -zYh4-_Z?;$O-}9|ox6Yu46n;9gVo`*y8n0t60N6gn`6!)_va(<5c)B`% -zQg6KZmY!;Oq3+y1aBH}?Ww9}S@lNWZQd+&`C|4$onmSD*2C9K%mNOQ&LlC6R`w*5%> -z0cN|)JbH2U>TEv$Aa8DNoJ}C9Hj+ld>xdU6UltxIG_$=8Y}tNjYkxBBrnjfJ>x~<4 -z`G4Cv8#$B|6aykJD!Bq&2391s;3uGaw(p~6dp?_vr<3FM-9LCE^;`NOp!g~kO<^0! -zaxaw^$k>pyiDCt!%j5}gNAmZ9t!_TuU)fwa;U(&|Yu7&4>{kLL+gUrDQkY&SE)?r) -zIIpBx6PDyX#NAA8liZcc<2qV8US4b4cfa#SK7Dt-av;TGV-OJ%?kl`%`*OmI3T+7W -zZI5j~5dOaKomTZz)sutqqwU%JgAY=Yf0X^_4wRWnML6p)&Ba>%BIHXUuA~_OQ=^B# -z-87#VKLieTR>sq--0QAizwRGr|GA4o5RuNILu-MqK>m!;CTIwr8b1uUW8zNq;?usG -z{dRgZeR=2g?hoG?<^N^>xdGXdG&_!7hc~&ZhE0$DUn{W&q9+9jGZAQckwl{(PqFM8OtdA@{a@M<|JYMRx -zN5}mK^WJzbZ*IQgFZ$ol1jv$}mNF&E2yJ~kXC881tT>8rU-q)(MR+NGHpDlCuFBpB5t8;pai^v~wEdwe -z|Jn57QLGOSKY4sS|LfoW`JWi(OY_j_FeAvWr-;6-CCCd#>zK;~>uHu1l3|8(AG`&8 -zFABGVxYxQq(fDxuu&MJ~zxT=y6`fxmkit0iRH;7WUZrdW&c@DxqAaC-LC!Tvmq6>5 -zFJ|UI(%k8N#5U-Gq`Lukg|=#~yIo)7gJE3=!2c8GbAfCLak};Mf59yJc?UwWl+G|} -zYSuw1Wr)j)@fvW^(i-T3@kl5T6W~!q+(+EU`9RK3UFvqN!~MwVWZaCqfBdsQ{gEZj -z7Y15v#s2%|RV -ztq)2m+pXfDnYZJOudPjE>leGfdiU4-)4~8WMoWuNG*Shrc8*X82xB2d$W11L(#r5|{ZW+>E86QIOQ(;P(b*!E*Pwr#et -zAGz^%X$E^u%qJ)9rTOZ2zFq%r@-6=~`SQ6yA-*YrovKD!#7YTKa(7*};iL30q% -z99GYcOz)^)`;*CFI+yR&!w**S{XhA}XU0v>3`qDkwr#3Vi)oG9B6Vr10Qsj5J?klvW7cuJ=ko!csPQL{FMZklavn`t*{yKei*q#k%Je|7XL`Q979 -zut@lK-g&P5R#RR7JqkvV=`O=mI@P4hU|7vKvkbakQ8!kpO)k~`^r5p1b7^(zZqA-+aq^uf59kXOQea!8_!wX1MG;JY?SQe4!cSNxR~uS@rUT*85}m;K`o9 -z^-CN1_{p|k-g(_8C;!abZ@+DT-+Z#m&CLz}4e-3Z@pC - -diff --git a/data/theme/corner-ripple-rtl.png b/data/theme/corner-ripple-rtl.png -deleted file mode 100644 -index 26cf965f63064f996d5a2e6199bfc154f56fe24c..0000000000000000000000000000000000000000 -GIT binary patch -literal 0 -HcmV?d00001 - -literal 2386 -zcmV-Y39a^tP)gm7pL_57tSZ~(veUs9f{-AnQ^UjTq6&sMRgh5`>;X#0-g#kTA$3$d($A(%m?*iCw9(%k}x*yJxQ+ymHhL -zY1#&VR4wW0Ug_yxopsJWd#}CD)t|iek84fSy~rZJoaFBUzY(Gs-M0Oc5O<_DSU`-8S2LMJL@OM>>}4kb(bRFxV3s9!?Rr09$9REgOK6N3 -zL9{4O2cez8t?X(yuc`fr*v5Ge*aK|T0mIB}U8T&EpT6Vr#~*ptxySuMP47tB#_ZZ& -zplpBvqBAavlb;*ntv`IjO&!;qF%#Z}xQEz@h#8I&Vh9Wsr8y1zDDHjzYwQeerN@hf -zvmR9H4$d9hhql9LEIg6xP`I4*Y!^3f-0&+~zwhy3-^U;hipqUS+rXZr#5opPC79Ui -zPWmbZ!1up-=*`_)S;Wj)AE4L*?%SRl4HDK!&KQp|jZUy?2!MNE{~BDPLd>GcU6fnE -zr@+2Y2(1C@z#3xc^oh+50dV8S4PXBFBNuNhY8~wdu`P60(zfIUFg98jIww3aKC#N- -zvzgxgiy!dX^_$F_Lz$)|IS`%#YoIBnMf6CAm?J3`%Tg5vpBQqVZSZ$C)?Lb1@@Ux2 -zQ_TaRyG9>Fe1h1Q)BtO;&nh$#UM7eW)+>E3V}1Xdhkju@`bF6}Y(rZSaT{?9*a8;9 -zW8-tO&)Icqt37F<_c=oEY^-}e{~*7#dU@7o?qW8DZ`;0u*t1oP&ZfC&Ydv8~=7}Qp -zKeE;C?hly0_HTH%p>0}0wxAI(IS#dvM2m!AA!(t=%F=Cp?)bu)wXJWx`F1;bM{p5NFnjP?;XU};9uKzxH6f$zet}i3IA5Y%fO40hPID{H&NV5@{X*X5J!H- -z+3%4==Jxg8mAG{zumh?H!BL6&Wz@U-;bBM10H6|vXdo{!qa -z1K^X){E4N17y1v$AF(u7I^aSmE@3X!^o5GoG8t9Z#*&m3`ROE#$DSqI`tEn%E1#|n -zyTN>aW!}Vw!oN!LN{E+h`m&@c&`Y|PnOl;!W#1#>zS9RpES}bxQ}ehFNb=Rqt$O9J -zZ_I!5*GCVU!#?{;;y$aXp{R&U!mHTpLgNstCRS~aC2wQzNuC>3qbGWx_Sl4A8GdYT -z)wTED^~QeL^I+9&iA=I5bAg!|eg(xDiE-K^i4~F+OH+~CcI-+%bk;dh7Eg-U|B2Ag -zk;>QKdv`wRahaz}Db?~K;lTC->=!W`h_%c-BQ0x}V9m~ZiFTy2>sk*{%#eD?nf|<5}sex`oPo7O4YC`-(V_G&h!{fzZf!3>sUE -zfe|o}qE)D=SsN(=J3K0!jT)P47FT<06F{c(;i9Mz-U-9_JY -zhehmVt@}s^wilAT>~Pgc>THigOav1z>)1$WC}|+6W0@`6<6i)QGeDupA~_Vxqtl1~ -z3+suvH+S#e<--sEhOfMI-g~23CyR~wT>CRw2RIK(DTgT^31$(R8&Xn)G&GtBPeWQs -zdj(iAoPtOluh;>GRi=9aFFN4oQOKPsbkx9hVT -zXZB~aXG7?sqz%XoNf$D?z_B&Pa+VXAA4{g0?YZr_q@&~O9A}TB7p_2k`1y{pZ9je; -zdK6r_az)p#U*}tY`*uwFvu*C}4F}z1(v(=K)n_QI%X-1~i$WKS&jM3m2oxbBs_m3i -zm&c^k5>(gJYS|Fd^v`sKaw;Bpzy -zhF#TcT(wv!8my#qHR;!i%StLIjbgBLl-z|F+8)~;Lktj&?T82+lWrc8xBYB8%B!1O -zdgF(0>E7A1#e>Ubcr@?&rt9irHtfo9sHh{U43g-Si_W3WRYOT*XPqcCvekts2@R%| -z)TXnI_+v}!!ao}uu- -zs10abTwK*cwggQO;pfrw|2(c-xuUcG@K3z)!?*M=gJJy6c%+TBH9fdLRMexG4_{Cp -z^D>EAW(zl^&Kfa^@)tS87IgyqWp^Z9cCy!qyv8jY^;pX-0Gm(H*2 -z!wv;BSj46KJO-NuR^1^@s607*qoM6N<$ -Ef{zodu>b%7 - -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index 06c50d1d9..829791419 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -1142,17 +1142,16 @@ StScrollBar { - & > StIcon { icon-size: 16px; } - } - --//Activities Ripples -+// Activities Ripples - .ripple-box { - width: 52px; - height: 52px; -- background-image: url("resource:///org/gnome/shell/theme/corner-ripple-ltr.png"); -- background-size: contain; -+ border-radius: 0 0 52px 0; // radius the size of the box give us the curve -+ background-color: lighten(transparentize($selected_bg_color, 0.7), 40%); -+ box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%); - } - --.ripple-box:rtl { -- background-image: url("resource:///org/gnome/shell/theme/corner-ripple-rtl.png"); --} -+.ripple-box:rtl { border-radius: 0 0 0 52px; } // just a simple change to the border radius position - - // not really top bar only - .popup-menu-arrow { width: 16px; height: 16px; } --- -2.20.0 - diff --git a/0011-theme-Replace-page-indicator-assets-with-css.patch b/0011-theme-Replace-page-indicator-assets-with-css.patch deleted file mode 100644 index 6d6b93f..0000000 --- a/0011-theme-Replace-page-indicator-assets-with-css.patch +++ /dev/null @@ -1,361 +0,0 @@ -From 27c660d2a9204bf423103bc83dc8e2f162b4474b Mon Sep 17 00:00:00 2001 -From: Sam Hewitt -Date: Fri, 16 Nov 2018 13:44:52 -0500 -Subject: [PATCH 11/25] theme: Replace page indicator assets with css - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/297 ---- - data/gnome-shell-theme.gresource.xml | 4 -- - data/theme/gnome-shell-sass/_common.scss | 14 +++-- - data/theme/page-indicator-active.svg | 71 ------------------------ - data/theme/page-indicator-checked.svg | 67 ---------------------- - data/theme/page-indicator-hover.svg | 67 ---------------------- - data/theme/page-indicator-inactive.svg | 67 ---------------------- - 6 files changed, 8 insertions(+), 282 deletions(-) - delete mode 100644 data/theme/page-indicator-active.svg - delete mode 100644 data/theme/page-indicator-checked.svg - delete mode 100644 data/theme/page-indicator-hover.svg - delete mode 100644 data/theme/page-indicator-inactive.svg - -diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml -index e292d33a3..451d0980e 100644 ---- a/data/gnome-shell-theme.gresource.xml -+++ b/data/gnome-shell-theme.gresource.xml -@@ -25,10 +25,6 @@ - no-notifications.svg - noise-texture.png - pad-osd.css -- page-indicator-active.svg -- page-indicator-inactive.svg -- page-indicator-checked.svg -- page-indicator-hover.svg - process-working.svg - toggle-off-us.svg - toggle-off-intl.svg -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index 829791419..c905b3b75 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -1446,15 +1446,17 @@ StScrollBar { - padding: 15px 20px; - - .page-indicator-icon { -- width: 18px; -- height: 18px; -- background-image: url(resource:///org/gnome/shell/theme/page-indicator-inactive.svg); -+ width: 12px; -+ height: 12px; -+ background-color: transparent; -+ border: 2px solid rgba(255, 255, 255, 0.4); -+ border-radius:12px; - } - -- &:hover .page-indicator-icon { background-image: url(resource:///org/gnome/shell/theme/page-indicator-hover.svg); } -- &:active .page-indicator-icon { background-image: url(resource:///org/gnome/shell/theme/page-indicator-active.svg); } -+ &:hover .page-indicator-icon { border-color: white; } -+ &:active .page-indicator-icon { border: none; margin: 2px; background-color:#fff; } - &:checked .page-indicator-icon, -- &:checked:active { background-image: url(resource:///org/gnome/shell/theme/page-indicator-checked.svg); } -+ &:checked:active { background-color: #fff;} - } - - .no-frequent-applications-label { @extend %status_text; } -diff --git a/data/theme/page-indicator-active.svg b/data/theme/page-indicator-active.svg -deleted file mode 100644 -index 51a76024e..000000000 ---- a/data/theme/page-indicator-active.svg -+++ /dev/null -@@ -1,71 +0,0 @@ -- -- -- -- -- -- -- -- -- -- -- -- image/svg+xml -- -- -- -- -- -- -- -- -- -diff --git a/data/theme/page-indicator-checked.svg b/data/theme/page-indicator-checked.svg -deleted file mode 100644 -index 38b720f86..000000000 ---- a/data/theme/page-indicator-checked.svg -+++ /dev/null -@@ -1,67 +0,0 @@ -- -- -- -- -- -- -- -- -- -- image/svg+xml -- -- -- -- -- -- -- -- -- -diff --git a/data/theme/page-indicator-hover.svg b/data/theme/page-indicator-hover.svg -deleted file mode 100644 -index a4ea72ffd..000000000 ---- a/data/theme/page-indicator-hover.svg -+++ /dev/null -@@ -1,67 +0,0 @@ -- -- -- -- -- -- -- -- -- -- image/svg+xml -- -- -- -- -- -- -- -- -- -diff --git a/data/theme/page-indicator-inactive.svg b/data/theme/page-indicator-inactive.svg -deleted file mode 100644 -index 4ff2246c8..000000000 ---- a/data/theme/page-indicator-inactive.svg -+++ /dev/null -@@ -1,67 +0,0 @@ -- -- -- -- -- -- -- -- -- -- image/svg+xml -- -- -- -- -- -- -- -- -- --- -2.20.0 - diff --git a/0012-theme-Drop-custom-assets-for-window-close-buttons-in.patch b/0012-theme-Drop-custom-assets-for-window-close-buttons-in.patch deleted file mode 100644 index 16b8aff..0000000 --- a/0012-theme-Drop-custom-assets-for-window-close-buttons-in.patch +++ /dev/null @@ -1,357 +0,0 @@ -From 4d2dce2c52d3570deafbe7420305a7863223144c Mon Sep 17 00:00:00 2001 -From: Sam Hewitt -Date: Fri, 16 Nov 2018 11:15:44 -0500 -Subject: [PATCH 12/25] theme: Drop custom assets for window close buttons in - overview - -They can be replaced by a themed icon and some CSS styling. - -https://gitlab.gnome.org/GNOME/gnome-shell/issues/782 ---- - data/gnome-shell-theme.gresource.xml | 3 - - data/theme/close-window-active.svg | 81 ---------------------- - data/theme/close-window-hover.svg | 81 ---------------------- - data/theme/close-window.svg | 85 ------------------------ - data/theme/gnome-shell-sass/_common.scss | 28 +++++--- - js/ui/workspace.js | 1 + - 6 files changed, 21 insertions(+), 258 deletions(-) - delete mode 100644 data/theme/close-window-active.svg - delete mode 100644 data/theme/close-window-hover.svg - delete mode 100644 data/theme/close-window.svg - -diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml -index 451d0980e..4a4a0edfc 100644 ---- a/data/gnome-shell-theme.gresource.xml -+++ b/data/gnome-shell-theme.gresource.xml -@@ -8,9 +8,6 @@ - checkbox-off-focused.svg - checkbox-off.svg - checkbox.svg -- close-window.svg -- close-window-active.svg -- close-window-hover.svg - dash-placeholder.svg - gnome-shell.css - gnome-shell-high-contrast.css -diff --git a/data/theme/close-window-active.svg b/data/theme/close-window-active.svg -deleted file mode 100644 -index 6242cb17f..000000000 ---- a/data/theme/close-window-active.svg -+++ /dev/null -@@ -1,81 +0,0 @@ -- -- -- --image/svg+xml -\ No newline at end of file -diff --git a/data/theme/close-window-hover.svg b/data/theme/close-window-hover.svg -deleted file mode 100644 -index 2377bfb94..000000000 ---- a/data/theme/close-window-hover.svg -+++ /dev/null -@@ -1,81 +0,0 @@ -- -- -- --image/svg+xml -\ No newline at end of file -diff --git a/data/theme/close-window.svg b/data/theme/close-window.svg -deleted file mode 100644 -index e716f7649..000000000 ---- a/data/theme/close-window.svg -+++ /dev/null -@@ -1,85 +0,0 @@ -- -- -- --image/svg+xml -\ No newline at end of file -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index c905b3b75..528202161 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -1160,14 +1160,26 @@ StScrollBar { - //close buttons - - .window-close { -- background-image: url("resource:///org/gnome/shell/theme/close-window.svg"); -- background-size: 32px; -- height: 32px; -- width: 32px; -- -shell-close-overlap: 16px; -- -- &:hover { background-image: url("resource:///org/gnome/shell/theme/close-window-hover.svg"); } -- &:active { background-image: url("resource:///org/gnome/shell/theme/close-window-active.svg"); } -+ background-color: white; -+ border-radius: 24px; -+ border: 4px solid $selected_bg_color; -+ box-shadow: inset 0 -4px 0 0 transparentize($selected_bg_color, 0.5); -+ color: $selected_bg_color; -+ height: 24px; -+ width: 24px; -+ -shell-close-overlap: 14px; -+ -+ &:hover { -+ background-color: $selected_bg_color; -+ border-color: white; -+ color: white; -+ } -+ -+ &:active { -+ background-color: mix(white, $selected_bg_color, 75%); -+ border-color: $selected_bg_color; -+ color: $selected_bg_color; -+ } - } - - /* NETWORK DIALOGS */ -diff --git a/js/ui/workspace.js b/js/ui/workspace.js -index 97c2d3a58..baa8a4380 100644 ---- a/js/ui/workspace.js -+++ b/js/ui/workspace.js -@@ -473,6 +473,7 @@ var WindowOverlay = new Lang.Class({ - }); - - let button = new St.Button({ style_class: 'window-close' }); -+ button.add_actor(new St.Icon({ icon_name: 'window-close-symbolic' })); - button._overlap = 0; - - this._idleToggleCloseId = 0; --- -2.20.0 - diff --git a/0016-theme-Replace-calendar-arrow-images-with-symbolic-ic.patch b/0016-theme-Replace-calendar-arrow-images-with-symbolic-ic.patch deleted file mode 100644 index 8380a72..0000000 --- a/0016-theme-Replace-calendar-arrow-images-with-symbolic-ic.patch +++ /dev/null @@ -1,257 +0,0 @@ -From 3217c10ff272f44d50afc881ce2a2dbb911dc1e8 Mon Sep 17 00:00:00 2001 -From: daniruiz -Date: Tue, 20 Nov 2018 17:55:31 +0100 -Subject: [PATCH 16/25] theme: Replace calendar arrow images with symbolic - icons and CSS - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/301 ---- - data/gnome-shell-theme.gresource.xml | 2 - - data/theme/calendar-arrow-left.svg | 82 ------------------------ - data/theme/calendar-arrow-right.svg | 82 ------------------------ - data/theme/gnome-shell-sass/_common.scss | 10 +-- - js/ui/calendar.js | 2 + - 5 files changed, 4 insertions(+), 174 deletions(-) - delete mode 100644 data/theme/calendar-arrow-left.svg - delete mode 100644 data/theme/calendar-arrow-right.svg - -diff --git a/data/gnome-shell-theme.gresource.xml b/data/gnome-shell-theme.gresource.xml -index 4a4a0edfc..b77825414 100644 ---- a/data/gnome-shell-theme.gresource.xml -+++ b/data/gnome-shell-theme.gresource.xml -@@ -1,8 +1,6 @@ - - - -- calendar-arrow-left.svg -- calendar-arrow-right.svg - calendar-today.svg - checkbox-focused.svg - checkbox-off-focused.svg -diff --git a/data/theme/calendar-arrow-left.svg b/data/theme/calendar-arrow-left.svg -deleted file mode 100644 -index d5d97b3c3..000000000 ---- a/data/theme/calendar-arrow-left.svg -+++ /dev/null -@@ -1,82 +0,0 @@ -- -- -- -- -- -- -- -- -- -- -- -- image/svg+xml -- -- -- -- -- -- -- -- -- -diff --git a/data/theme/calendar-arrow-right.svg b/data/theme/calendar-arrow-right.svg -deleted file mode 100644 -index 545da7ec5..000000000 ---- a/data/theme/calendar-arrow-right.svg -+++ /dev/null -@@ -1,82 +0,0 @@ -- -- -- -- -- -- -- -- -- -- -- -- image/svg+xml -- -- -- -- -- -- -- -- -- -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index 528202161..22f9e826e 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -938,7 +938,6 @@ StScrollBar { - } - - .pager-button { -- color: white; - background-color: transparent; - width: 32px; - border-radius: 4px; -@@ -946,13 +945,8 @@ StScrollBar { - &:active { background-color: transparentize($bg_color,0.95); } - } - -- .calendar-change-month-back { //arrow back -- background-image: url("resource:///org/gnome/shell/theme/calendar-arrow-left.svg"); -- &:rtl { background-image: url("resource:///org/gnome/shell/theme/calendar-arrow-right.svg"); } -- } -- .calendar-change-month-forward { //arrow foreward -- background-image: url("resource:///org/gnome/shell/theme/calendar-arrow-right.svg"); -- &:rtl { background-image: url("resource:///org/gnome/shell/theme/calendar-arrow-left.svg"); } -+ .calendar-change-month-back StIcon, .calendar-change-month-forward StIcon { // arrows -+ icon-size: 1.09em; - } - - .calendar-day-base { -diff --git a/js/ui/calendar.js b/js/ui/calendar.js -index 432986391..c4d362537 100644 ---- a/js/ui/calendar.js -+++ b/js/ui/calendar.js -@@ -446,6 +446,7 @@ var Calendar = new Lang.Class({ - this._backButton = new St.Button({ style_class: 'calendar-change-month-back pager-button', - accessible_name: _("Previous month"), - can_focus: true }); -+ this._backButton.add_actor(new St.Icon({ icon_name: 'pan-start-symbolic' })); - this._topBox.add(this._backButton); - this._backButton.connect('clicked', this._onPrevMonthButtonClicked.bind(this)); - -@@ -456,6 +457,7 @@ var Calendar = new Lang.Class({ - this._forwardButton = new St.Button({ style_class: 'calendar-change-month-forward pager-button', - accessible_name: _("Next month"), - can_focus: true }); -+ this._forwardButton.add_actor(new St.Icon({ icon_name: 'pan-end-symbolic' })); - this._topBox.add(this._forwardButton); - this._forwardButton.connect('clicked', this._onNextMonthButtonClicked.bind(this)); - --- -2.20.0 - diff --git a/0017-st-button-Ignore-pointer-emulated-touch-events.patch b/0017-st-button-Ignore-pointer-emulated-touch-events.patch deleted file mode 100644 index 02dc3ec..0000000 --- a/0017-st-button-Ignore-pointer-emulated-touch-events.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 4c11d15a074aeca72627c44e327e2dc2afa93ae3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Thu, 25 Oct 2018 06:35:25 +0200 -Subject: [PATCH 17/25] st-button: Ignore pointer emulated touch events - -In X11, pointer emulated touch events are replicated with normal PRESS, RELEASE -pair events which are generated by the server. Thus for a single tap we get: - - TOUCH_BEGIN -> TOUCH_END, PRESS -> RELEASE - -This will cause st-button to send two "clicked" signals, instead of just one, -breaking extensions (like dash-to-dock) that show buttons in the main stage -which will be checked two times or that will receive the same signal two times. ---- - src/st/st-button.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/st/st-button.c b/src/st/st-button.c -index 8f5c4922f..a3a7b2442 100644 ---- a/src/st/st-button.c -+++ b/src/st/st-button.c -@@ -248,14 +248,17 @@ st_button_touch_event (ClutterActor *actor, - if (event->type == CLUTTER_TOUCH_BEGIN && !priv->press_sequence) - { - clutter_input_device_sequence_grab (device, sequence, actor); -- st_button_press (button, device, 0, sequence); -+ if (!clutter_event_is_pointer_emulated ((ClutterEvent*) event)) -+ st_button_press (button, device, 0, sequence); - return CLUTTER_EVENT_STOP; - } - else if (event->type == CLUTTER_TOUCH_END && - priv->device == device && - priv->press_sequence == sequence) - { -- st_button_release (button, device, mask, 0, sequence); -+ if (!clutter_event_is_pointer_emulated ((ClutterEvent*) event)) -+ st_button_release (button, device, mask, 0, sequence); -+ - clutter_input_device_sequence_ungrab (device, sequence); - return CLUTTER_EVENT_STOP; - } --- -2.20.0 - diff --git a/0018-iconGrid-Eliminate-JavaScript-for-painting-picking.patch b/0018-iconGrid-Eliminate-JavaScript-for-painting-picking.patch deleted file mode 100644 index e7c1d3a..0000000 --- a/0018-iconGrid-Eliminate-JavaScript-for-painting-picking.patch +++ /dev/null @@ -1,102 +0,0 @@ -From 0e0574a0b448a28235ec056f2397c4568f5c9338 Mon Sep 17 00:00:00 2001 -From: Daniel van Vugt -Date: Fri, 23 Nov 2018 16:43:34 +0800 -Subject: [PATCH 18/25] iconGrid: Eliminate JavaScript for painting/picking - -The only reason for `vfunc_paint` and `vfunc_pick` existing was to -implement a culling optimization. Although that optimization actually -made performance worse than none at all because it forced the painting -and picking cycles to spend more time calling into JavaScript. - -Turns out we don't have to choose between native code and culling though. -Just reimplement the culling using native ClutterActor functions and we -get the benefits of both. - -Performance on an i7-7700: - -Moving the cursor over the icon grid: -Before: 70% CPU, 5.5ms per frame -After : 60% CPU, 4.5ms per frame - -Scrolling the icon grid: -Before: 60% CPU, 4.4ms per frame -After : 50% CPU, 3.3ms per frame - -Helps with https://gitlab.gnome.org/GNOME/gnome-shell/issues/174 ---- - js/ui/iconGrid.js | 29 ++++------------------------- - 1 file changed, 4 insertions(+), 25 deletions(-) - -diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js -index 94387a333..82b335cc5 100644 ---- a/js/ui/iconGrid.js -+++ b/js/ui/iconGrid.js -@@ -344,10 +344,10 @@ var IconGrid = new Lang.Class({ - - if (this._rowLimit && rowIndex >= this._rowLimit || - this._fillParent && childBox.y2 > availHeight - this.bottomPadding) { -- children[i]._skipPaint = true; -+ children[i].hide(); - } else { - children[i].allocate(childBox, flags); -- children[i]._skipPaint = false; -+ children[i].show(); - } - - columnIndex++; -@@ -365,24 +365,6 @@ var IconGrid = new Lang.Class({ - } - }, - -- vfunc_paint() { -- this.paint_background(); -- -- this.get_children().forEach(c => { -- if (!c._skipPaint) -- c.paint(); -- }); -- }, -- -- vfunc_pick(color) { -- this.parent(color); -- -- this.get_children().forEach(c => { -- if (!c._skipPaint) -- c.paint(); -- }); -- }, -- - vfunc_get_paint_volume(paintVolume) { - // Setting the paint volume does not make sense when we don't have - // any allocation -@@ -412,9 +394,6 @@ var IconGrid = new Lang.Class({ - if (!child.visible) - continue; - -- if (child._skipPaint) -- continue; -- - let childVolume = child.get_transformed_paint_volume(this); - if (!childVolume) - return false -@@ -714,7 +693,7 @@ var IconGrid = new Lang.Class({ - }, - - visibleItemsCount() { -- return this.get_children().filter(c => !c._skipPaint).length; -+ return this.get_children().filter(c => c.is_visible()).length; - }, - - setSpacing(spacing) { -@@ -859,7 +838,7 @@ var PaginatedIconGrid = new Lang.Class({ - for (let i = 0; i < children.length; i++) { - let childBox = this._calculateChildBox(children[i], x, y, box); - children[i].allocate(childBox, flags); -- children[i]._skipPaint = false; -+ children[i].show(); - - columnIndex++; - if (columnIndex == nColumns) { --- -2.20.0 - diff --git a/0022-StWidget-don-t-forget-to-invalidate-the-paint-state-.patch b/0022-StWidget-don-t-forget-to-invalidate-the-paint-state-.patch deleted file mode 100644 index 65fbb62..0000000 --- a/0022-StWidget-don-t-forget-to-invalidate-the-paint-state-.patch +++ /dev/null @@ -1,156 +0,0 @@ -From 6743c18fdfa6dc48fb7d920640debe863018dd38 Mon Sep 17 00:00:00 2001 -From: Cosimo Cecchi -Date: Tue, 20 Nov 2018 18:25:51 -0800 -Subject: [PATCH 22/25] StWidget: don't forget to invalidate the paint state if - not on stage - -If the actor is not on the stage yet (i.e. does not have a theme -node), but has a paint state cached, we currently fail to invalidate -it, which will lead to the actor painting with old contents once it -gets onto the stage. - -This commit fixes the issue by changing our invalidation strategy; -previously we were looking at the widget's own theme node to determine -if it should be invalidated or not. -Now we look at the theme nodes of our cached paint states. When the -widget is mapped on stage, those are the same as the widget's own -theme node, but when the widget is not on the stage, we'll still be -able to invalidate them. - -As part of this, we move the invalidation API to StThemeNodePaintState, -which is a more natural place for our use case. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/314 ---- - src/st/st-theme-node-drawing.c | 40 ++++++++++++++++++++++++++++++++++ - src/st/st-theme-node.h | 3 +++ - src/st/st-widget.c | 39 +++++---------------------------- - 3 files changed, 49 insertions(+), 33 deletions(-) - -diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c -index f59065aef..9f7e6b6ca 100644 ---- a/src/st/st-theme-node-drawing.c -+++ b/src/st/st-theme-node-drawing.c -@@ -1414,6 +1414,32 @@ st_theme_node_load_background_image (StThemeNode *node) - return node->background_texture != COGL_INVALID_HANDLE; - } - -+static gboolean -+st_theme_node_invalidate_resources_for_file (StThemeNode *node, -+ GFile *file) -+{ -+ StBorderImage *border_image; -+ gboolean changed = FALSE; -+ GFile *theme_file; -+ -+ theme_file = st_theme_node_get_background_image (node); -+ if ((theme_file != NULL) && g_file_equal (theme_file, file)) -+ { -+ st_theme_node_invalidate_background_image (node); -+ changed = TRUE; -+ } -+ -+ border_image = st_theme_node_get_border_image (node); -+ theme_file = border_image ? st_border_image_get_file (border_image) : NULL; -+ if ((theme_file != NULL) && g_file_equal (theme_file, file)) -+ { -+ st_theme_node_invalidate_border_image (node); -+ changed = TRUE; -+ } -+ -+ return changed; -+} -+ - static void st_theme_node_prerender_shadow (StThemeNodePaintState *state); - - static void -@@ -2753,3 +2779,17 @@ st_theme_node_paint_state_invalidate (StThemeNodePaintState *state) - state->alloc_width = 0; - state->alloc_height = 0; - } -+ -+gboolean -+st_theme_node_paint_state_invalidate_for_file (StThemeNodePaintState *state, -+ GFile *file) -+{ -+ if (state->node != NULL && -+ st_theme_node_invalidate_resources_for_file (state->node, file)) -+ { -+ st_theme_node_paint_state_invalidate (state); -+ return TRUE; -+ } -+ -+ return FALSE; -+} -diff --git a/src/st/st-theme-node.h b/src/st/st-theme-node.h -index e71c1d522..1b43c9afe 100644 ---- a/src/st/st-theme-node.h -+++ b/src/st/st-theme-node.h -@@ -291,6 +291,9 @@ void st_theme_node_paint_state_free (StThemeNodePaintState *state); - void st_theme_node_paint_state_copy (StThemeNodePaintState *state, - StThemeNodePaintState *other); - void st_theme_node_paint_state_invalidate (StThemeNodePaintState *state); -+gboolean st_theme_node_paint_state_invalidate_for_file (StThemeNodePaintState *state, -+ GFile *file); -+ - void st_theme_node_paint_state_set_node (StThemeNodePaintState *state, - StThemeNode *node); - -diff --git a/src/st/st-widget.c b/src/st/st-widget.c -index db984ac9b..7c39b3585 100644 ---- a/src/st/st-widget.c -+++ b/src/st/st-widget.c -@@ -289,44 +289,17 @@ st_widget_texture_cache_changed (StTextureCache *cache, - { - StWidget *actor = ST_WIDGET (user_data); - StWidgetPrivate *priv = st_widget_get_instance_private (actor); -- StThemeNode *node = priv->theme_node; -- StBorderImage *border_image; - gboolean changed = FALSE; -- GFile *theme_file; -- -- if (node == NULL) -- return; -- -- theme_file = st_theme_node_get_background_image (node); -- if ((theme_file != NULL) && g_file_equal (theme_file, file)) -- { -- st_theme_node_invalidate_background_image (node); -- changed = TRUE; -- } -+ int i; - -- border_image = st_theme_node_get_border_image (node); -- theme_file = border_image ? st_border_image_get_file (border_image) : NULL; -- if ((theme_file != NULL) && g_file_equal (theme_file, file)) -+ for (i = 0; i < G_N_ELEMENTS (priv->paint_states); i++) - { -- st_theme_node_invalidate_border_image (node); -- changed = TRUE; -+ StThemeNodePaintState *paint_state = &priv->paint_states[i]; -+ changed |= st_theme_node_paint_state_invalidate_for_file (paint_state, file); - } - -- if (changed) -- { -- /* If we prerender the background / border, we need to update -- * the paint state. We should probably implement a method to -- * the theme node to determine this, but for now, just wipe -- * the entire paint state. -- * -- * Use the existing state instead of a new one because it's -- * assumed the rest of the state will stay the same. -- */ -- st_theme_node_paint_state_invalidate (current_paint_state (actor)); -- -- if (clutter_actor_is_mapped (CLUTTER_ACTOR (actor))) -- clutter_actor_queue_redraw (CLUTTER_ACTOR (actor)); -- } -+ if (changed && clutter_actor_is_mapped (CLUTTER_ACTOR (actor))) -+ clutter_actor_queue_redraw (CLUTTER_ACTOR (actor)); - } - - static void --- -2.20.0 - diff --git a/0023-st-Avoid-integer-overflow-on-unpremultiply.patch b/0023-st-Avoid-integer-overflow-on-unpremultiply.patch deleted file mode 100644 index 1a93d58..0000000 --- a/0023-st-Avoid-integer-overflow-on-unpremultiply.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 925a25da17986bf60f61bb4e06ec22e2c59fa14f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Thu, 22 Nov 2018 20:41:44 +0100 -Subject: [PATCH 23/25] st: Avoid integer overflow on unpremultiply - -When computing the effective border color, we operate on colors with -premultiplied alpha to simplify the calculations, then unpremultiply -the result. However we miss a bounds check in the last check, so any -color component can overflow the allowed maximum of 0xff and shift the -result in unexpected ways. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/305 ---- - src/st/st-theme-node-drawing.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c -index 9f7e6b6ca..a7fb24ab8 100644 ---- a/src/st/st-theme-node-drawing.c -+++ b/src/st/st-theme-node-drawing.c -@@ -229,9 +229,9 @@ unpremultiply (ClutterColor *color) - { - if (color->alpha != 0) - { -- color->red = (color->red * 255 + 127) / color->alpha; -- color->green = (color->green * 255 + 127) / color->alpha; -- color->blue = (color->blue * 255 + 127) / color->alpha; -+ color->red = MIN((color->red * 255 + 127) / color->alpha, 255); -+ color->green = MIN((color->green * 255 + 127) / color->alpha, 255); -+ color->blue = MIN((color->blue * 255 + 127) / color->alpha, 255); - } - } - --- -2.20.0 - diff --git a/0024-messageTray-Re-enable-unredirection-when-banner-is-d.patch b/0024-messageTray-Re-enable-unredirection-when-banner-is-d.patch deleted file mode 100644 index 58936e4..0000000 --- a/0024-messageTray-Re-enable-unredirection-when-banner-is-d.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e5ce3d541e48dd75c9218312cd74ecb760ab857a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Thu, 22 Nov 2018 18:18:34 +0100 -Subject: [PATCH 24/25] messageTray: Re-enable unredirection when banner is - destroyed - -The intention of commit 4dc20398 was to disable unredirection while -banners are shown, but the ::done-displaying signal currently used for -re-enabling unredirection is only emitted under some circumstances, so -it's possible that unredirection is left disabled indefinitely, whoops. - -Fix this by tying disabling unredirection explicitly to the lifetime -of the banner actor. - -https://gitlab.gnome.org/GNOME/gnome-shell/issues/799 ---- - js/ui/messageTray.js | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -diff --git a/js/ui/messageTray.js b/js/ui/messageTray.js -index f8e2f0b9f..eebc93fdf 100644 ---- a/js/ui/messageTray.js -+++ b/js/ui/messageTray.js -@@ -1298,10 +1298,8 @@ var MessageTray = new Lang.Class({ - } - - this._banner = this._notification.createBanner(); -- this._bannerClickedId = this._banner.connect('done-displaying', () => { -- Meta.enable_unredirect_for_display(global.display); -- this._escapeTray(); -- }); -+ this._bannerClickedId = this._banner.connect('done-displaying', -+ this._escapeTray.bind(this)); - this._bannerUnfocusedId = this._banner.connect('unfocused', () => { - this._updateState(); - }); -@@ -1451,6 +1449,7 @@ var MessageTray = new Lang.Class({ - - this._pointerInNotification = false; - this._notificationRemoved = false; -+ Meta.enable_unredirect_for_display(global.display); - - this._banner.actor.destroy(); - this._banner = null; --- -2.20.0 - diff --git a/0025-thunderbolt-fix-missing-variable-underscore-for-enro.patch b/0025-thunderbolt-fix-missing-variable-underscore-for-enro.patch deleted file mode 100644 index aa73a66..0000000 --- a/0025-thunderbolt-fix-missing-variable-underscore-for-enro.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 616852cf2b1f235a5671013fbf3f1564be79ea1b Mon Sep 17 00:00:00 2001 -From: RyuzakiKK -Date: Fri, 7 Dec 2018 10:51:39 +0100 -Subject: [PATCH 25/25] thunderbolt: fix missing variable underscore for - `enrolling` - -The variable `this.enrolling` is a typo because it has not been defined -before and is also never used. -`this._enrolling` is what it was meant to be. ---- - js/ui/status/thunderbolt.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/ui/status/thunderbolt.js b/js/ui/status/thunderbolt.js -index 4584748ed..3d7a9614a 100644 ---- a/js/ui/status/thunderbolt.js -+++ b/js/ui/status/thunderbolt.js -@@ -195,7 +195,7 @@ var AuthRobot = new Lang.Class({ - if (this._enrolling) - return; - -- this.enrolling = true; -+ this._enrolling = true; - GLib.idle_add(GLib.PRIORITY_DEFAULT, - this._enrollDevicesIdle.bind(this)); - }, --- -2.20.0 - diff --git a/gnome-shell.spec b/gnome-shell.spec index 56795ea..e3eca8e 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell -Version: 3.31.2 -Release: 3%{?dist} +Version: 3.31.4 +Release: 1%{?dist} Summary: Window management and application launching for GNOME Group: User Interface/Desktops @@ -18,24 +18,6 @@ Patch1: gnome-shell-favourite-apps-firefox.patch Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch -# Various bugfixes from current git master -Patch4: 0001-windowAttentionHandler-Handle-XUrgencyHint-as-well.patch -Patch5: 0002-windowAttentionHandler-Fix-syntax-errors.patch -Patch6: 0003-power-Label-the-PENDING_CHARGE-state-as-Not-Charging.patch -Patch7: 0007-ibusManager-Don-t-pass-undefined-callback-to-ibus.patch -Patch8: 0008-altSwitcher-Fix-error-when-all-alternatives-are-disa.patch -Patch9: 0009-dash-destroy-items-s-child-before-tooltip.patch -Patch10: 0010-theme-Replace-corner-ripple-png-assets-with-css.patch -Patch11: 0011-theme-Replace-page-indicator-assets-with-css.patch -Patch12: 0012-theme-Drop-custom-assets-for-window-close-buttons-in.patch -Patch13: 0016-theme-Replace-calendar-arrow-images-with-symbolic-ic.patch -Patch14: 0017-st-button-Ignore-pointer-emulated-touch-events.patch -Patch15: 0018-iconGrid-Eliminate-JavaScript-for-painting-picking.patch -Patch16: 0022-StWidget-don-t-forget-to-invalidate-the-paint-state-.patch -Patch17: 0023-st-Avoid-integer-overflow-on-unpremultiply.patch -Patch18: 0024-messageTray-Re-enable-unredirection-when-banner-is-d.patch -Patch19: 0025-thunderbolt-fix-missing-variable-underscore-for-enro.patch - %define libcroco_version 0.6.8 %define eds_version 3.17.2 %define gnome_desktop_version 3.7.90 @@ -44,7 +26,7 @@ Patch19: 0025-thunderbolt-fix-missing-variable-underscore-for-enro.patch %define gjs_version 1.51.90 %define gtk3_version 3.15.0 %define json_glib_version 0.13.2 -%define mutter_version 3.31.2 +%define mutter_version 3.31.4 %define polkit_version 0.100 %define gsettings_desktop_schemas_version 3.21.3 %define ibus_version 1.5.2 @@ -232,6 +214,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null %{_mandir}/man1/%{name}.1.gz %changelog +* Thu Jan 10 2019 Florian Müllner - 3.31.4-1 +- Update to 3.31.4 + * Fri Dec 14 2018 Adam Williamson - 3.31.2-3 - Backport several bugfix commits from current git master diff --git a/sources b/sources index 9326829..4e5f5d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-3.31.2.tar.xz) = 75748acb1f8faba4c367b51fbb8f116117909077419f11ab97a1a8a912459d8cdfecc9718e6c0f4cc5335d6ff553e9f407ceb5858145702d9b5d2bf88ba0173c +SHA512 (gnome-shell-3.31.4.tar.xz) = 98972d60912320c1f0d59c0b439ab827bfdffea2deffd9799b735a0e0071c32d9fde9385bbbeadb7e7a3d7ed8756b21b2c27254f3bc439cd339f6115e3897f1d