import gnome-shell-extensions-3.32.1-10.el8
This commit is contained in:
parent
7956688e28
commit
06f0c66d7c
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/gnome-shell-extensions-3.28.1.tar.xz
|
SOURCES/gnome-shell-extensions-3.32.1.tar.xz
|
||||||
|
@ -1 +1 @@
|
|||||||
51b02a3157aa4c36af145b0c57b8132203954fc2 SOURCES/gnome-shell-extensions-3.28.1.tar.xz
|
51c1c16bcd0dc9125834b32d7c539c38fa9c4f52 SOURCES/gnome-shell-extensions-3.32.1.tar.xz
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
From 12f264be954474200864c9acad33c11292f34e14 Mon Sep 17 00:00:00 2001
|
From a3db60786407481efbfc4875f887d03b58f0a7b7 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Fri, 23 Feb 2018 16:56:46 +0100
|
Date: Fri, 23 Feb 2018 16:56:46 +0100
|
||||||
Subject: [PATCH] Include top-icons in classic session
|
Subject: [PATCH] Include top-icons in classic session
|
||||||
@ -8,10 +8,10 @@ Subject: [PATCH] Include top-icons in classic session
|
|||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
diff --git a/meson.build b/meson.build
|
||||||
index da5e791..ca9f60a 100644
|
index 6764f9a..32743ed 100644
|
||||||
--- a/meson.build
|
--- a/meson.build
|
||||||
+++ b/meson.build
|
+++ b/meson.build
|
||||||
@@ -39,6 +39,7 @@ classic_extensions = [
|
@@ -36,6 +36,7 @@ classic_extensions = [
|
||||||
'desktop-icons',
|
'desktop-icons',
|
||||||
'places-menu',
|
'places-menu',
|
||||||
'launch-new-instance',
|
'launch-new-instance',
|
||||||
@ -19,14 +19,14 @@ index da5e791..ca9f60a 100644
|
|||||||
'window-list'
|
'window-list'
|
||||||
]
|
]
|
||||||
|
|
||||||
@@ -59,7 +60,6 @@ all_extensions += [
|
@@ -56,7 +57,6 @@ all_extensions += [
|
||||||
'no-hot-corner',
|
'no-hot-corner',
|
||||||
'panel-favorites',
|
'panel-favorites',
|
||||||
'systemMonitor',
|
'systemMonitor',
|
||||||
- 'top-icons',
|
- 'top-icons',
|
||||||
'updates-dialog',
|
'updates-dialog',
|
||||||
'user-theme'
|
'user-theme',
|
||||||
]
|
'window-grouper'
|
||||||
--
|
--
|
||||||
2.20.1
|
2.21.0
|
||||||
|
|
||||||
|
@ -1,18 +1,48 @@
|
|||||||
From bddab939dedf770220f59394b4d4d5534063f0f1 Mon Sep 17 00:00:00 2001
|
From e768ad73e2d68b3f1567051675ba0539a75e3105 Mon Sep 17 00:00:00 2001
|
||||||
From: rpm-build <rpm-build>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Mon, 11 Jun 2018 16:40:34 -0400
|
Date: Sat, 18 May 2019 19:37:05 +0200
|
||||||
Subject: [PATCH] Update style
|
Subject: [PATCH] Update style
|
||||||
|
|
||||||
---
|
---
|
||||||
data/gnome-shell-sass/_common.scss | 19 +++++++++++++++++--
|
data/gnome-shell-sass | 2 +-
|
||||||
1 file changed, 17 insertions(+), 2 deletions(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Submodule data/gnome-shell-sass 1a56956..8842e57:
|
||||||
diff --git a/data/gnome-shell-sass/_common.scss b/data/gnome-shell-sass/_common.scss
|
diff --git a/data/gnome-shell-sass/_common.scss b/data/gnome-shell-sass/_common.scss
|
||||||
index 2f05098df..de3a9cdbc 100644
|
index a6357ba..62d9c82 100644
|
||||||
--- a/data/gnome-shell-sass/_common.scss
|
--- a/data/gnome-shell-sass/_common.scss
|
||||||
+++ b/data/gnome-shell-sass/_common.scss
|
+++ b/data/gnome-shell-sass/_common.scss
|
||||||
@@ -776,6 +776,11 @@ StScrollBar {
|
@@ -571,6 +571,18 @@ StScrollBar {
|
||||||
//dimensions of the icon are hardcoded
|
app menu inside the main app window itself rather than the top bar
|
||||||
|
*/
|
||||||
|
|
||||||
|
+/*************
|
||||||
|
+ * App Icons *
|
||||||
|
+ *************/
|
||||||
|
+/* Outline for low res icons */
|
||||||
|
+.lowres-icon {
|
||||||
|
+ icon-shadow: 0 1px 2px rgba(0,0,0,0.3);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* Drapshadow for large icons */
|
||||||
|
+.icon-dropshadow {
|
||||||
|
+ icon-shadow: 0 1px 2px rgba(0,0,0,0.4);
|
||||||
|
+}
|
||||||
|
|
||||||
|
/* OSD */
|
||||||
|
.osd-window {
|
||||||
|
@@ -680,7 +692,8 @@ StScrollBar {
|
||||||
|
spacing: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
- .ws-switcher-active-up, .ws-switcher-active-down {
|
||||||
|
+ .ws-switcher-active-up, .ws-switcher-active-down,
|
||||||
|
+ .ws-switcher-active-left, .ws-switcher-active-right {
|
||||||
|
height: 50px;
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
@@ -781,6 +794,11 @@ StScrollBar {
|
||||||
|
color: lighten($fg_color,10%);
|
||||||
}
|
}
|
||||||
|
|
||||||
+ .panel-logo-icon {
|
+ .panel-logo-icon {
|
||||||
@ -20,10 +50,10 @@ index 2f05098df..de3a9cdbc 100644
|
|||||||
+ icon-size: 1em;
|
+ icon-size: 1em;
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
.system-status-icon,
|
.system-status-icon { icon-size: 1.09em; padding: 0 5px; }
|
||||||
.app-menu-icon > StIcon,
|
.unlock-screen &,
|
||||||
.popup-menu-arrow {
|
.login-screen &,
|
||||||
@@ -1397,6 +1402,14 @@ StScrollBar {
|
@@ -1406,6 +1424,14 @@ StScrollBar {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -38,7 +68,7 @@ index 2f05098df..de3a9cdbc 100644
|
|||||||
.app-well-app-running-dot { //running apps indicator
|
.app-well-app-running-dot { //running apps indicator
|
||||||
width: 10px; height: 3px;
|
width: 10px; height: 3px;
|
||||||
background-color: $selected_bg_color;
|
background-color: $selected_bg_color;
|
||||||
@@ -1769,7 +1782,12 @@ StScrollBar {
|
@@ -1801,7 +1827,12 @@ StScrollBar {
|
||||||
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
||||||
.login-dialog-button-box { spacing: 5px; }
|
.login-dialog-button-box { spacing: 5px; }
|
||||||
.login-dialog-message-warning { color: $warning_color; }
|
.login-dialog-message-warning { color: $warning_color; }
|
||||||
@ -52,7 +82,7 @@ index 2f05098df..de3a9cdbc 100644
|
|||||||
.login-dialog-user-selection-box { padding: 100px 0px; }
|
.login-dialog-user-selection-box { padding: 100px 0px; }
|
||||||
.login-dialog-not-listed-label {
|
.login-dialog-not-listed-label {
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
@@ -1825,6 +1843,10 @@ StScrollBar {
|
@@ -1856,6 +1887,10 @@ StScrollBar {
|
||||||
padding-bottom: 12px;
|
padding-bottom: 12px;
|
||||||
spacing: 8px;
|
spacing: 8px;
|
||||||
width: 23em;
|
width: 23em;
|
||||||
@ -63,3 +93,6 @@ index 2f05098df..de3a9cdbc 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-prompt-label {
|
.login-dialog-prompt-label {
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
||||||
|
33
SOURCES/0001-apps-menu-Add-missing-chain-up.patch
Normal file
33
SOURCES/0001-apps-menu-Add-missing-chain-up.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 0bbeadadc41128b2be1f2b56c60b5a7a671d40da Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Thu, 27 Jun 2019 03:57:53 +0200
|
||||||
|
Subject: [PATCH] apps-menu: Add missing chain-up
|
||||||
|
|
||||||
|
PanelMenu.Button is a bit weird in that it also "contains" its parent
|
||||||
|
actor. That container is supposed to be destroyed with the button, but
|
||||||
|
as we currently don't chain up to the parent class' _onDestroy(), we
|
||||||
|
leave behind an empty container every time the extension is disabled.
|
||||||
|
|
||||||
|
Fix this by adding the missing chain-up.
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/75
|
||||||
|
---
|
||||||
|
extensions/apps-menu/extension.js | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
|
||||||
|
index b9e7111..9803cc1 100644
|
||||||
|
--- a/extensions/apps-menu/extension.js
|
||||||
|
+++ b/extensions/apps-menu/extension.js
|
||||||
|
@@ -433,6 +433,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||||
|
}
|
||||||
|
|
||||||
|
_onDestroy() {
|
||||||
|
+ super._onDestroy();
|
||||||
|
+
|
||||||
|
Main.overview.disconnect(this._showingId);
|
||||||
|
Main.overview.disconnect(this._hidingId);
|
||||||
|
appSys.disconnect(this._installedChangedId);
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
From 07d409f6bf4e5bffa4dbda8d7cdefaf71742b85f Mon Sep 17 00:00:00 2001
|
From 52ee25effa3debb21307e33ac223cf48ac7bc57a Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Thu, 17 Mar 2016 17:15:38 +0100
|
Date: Thu, 17 Mar 2016 17:15:38 +0100
|
||||||
Subject: [PATCH] apps-menu: Explicitly set label_actor
|
Subject: [PATCH] apps-menu: Explicitly set label_actor
|
||||||
@ -10,23 +10,23 @@ so set the label_actor explicitly as workaround.
|
|||||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
|
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
|
||||||
index 5067b63..49a05c7 100644
|
index d62e3d7..cc399c6 100644
|
||||||
--- a/extensions/apps-menu/extension.js
|
--- a/extensions/apps-menu/extension.js
|
||||||
+++ b/extensions/apps-menu/extension.js
|
+++ b/extensions/apps-menu/extension.js
|
||||||
@@ -34,7 +34,9 @@ class ActivitiesMenuItem extends PopupMenu.PopupBaseMenuItem {
|
@@ -29,7 +29,9 @@ class ActivitiesMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
constructor(button) {
|
constructor(button) {
|
||||||
super();
|
super();
|
||||||
this._button = button;
|
this._button = button;
|
||||||
- this.actor.add_child(new St.Label({ text: _("Activities Overview") }));
|
- this.actor.add_child(new St.Label({ text: _('Activities Overview') }));
|
||||||
+ let label = new St.Label({ text: _("Activities Overview") });
|
+ let label = new St.Label({ text: _('Activities Overview') });
|
||||||
+ this.actor.add_child(label);
|
+ this.actor.add_child(label);
|
||||||
+ this.actor.label_actor = label;
|
+ this.actor.label_actor = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
activate(event) {
|
activate(event) {
|
||||||
@@ -129,7 +131,9 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
@@ -120,7 +122,9 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
else
|
else
|
||||||
name = _("Favorites");
|
name = _('Favorites');
|
||||||
|
|
||||||
- this.actor.add_child(new St.Label({ text: name }));
|
- this.actor.add_child(new St.Label({ text: name }));
|
||||||
+ let label = new St.Label({ text: name });
|
+ let label = new St.Label({ text: name });
|
||||||
@ -36,5 +36,5 @@ index 5067b63..49a05c7 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
--
|
--
|
||||||
2.20.1
|
2.21.0
|
||||||
|
|
||||||
|
@ -1,29 +1,32 @@
|
|||||||
From fe6695b8d45fe7d1d9aea8c41c9aa54048a9704d Mon Sep 17 00:00:00 2001
|
From 3e3634b59455da0cbae1de4af0ce5cf97be8b80d Mon Sep 17 00:00:00 2001
|
||||||
From: Ray Strode <rstrode@redhat.com>
|
From: Ray Strode <rstrode@redhat.com>
|
||||||
Date: Tue, 21 Jan 2014 16:48:17 -0500
|
Date: Tue, 21 Jan 2014 16:48:17 -0500
|
||||||
Subject: [PATCH] apps-menu: add logo icon to Applications menu
|
Subject: [PATCH] apps-menu: add logo icon to Applications menu
|
||||||
|
|
||||||
Brand requested it.
|
Brand requested it.
|
||||||
---
|
---
|
||||||
extensions/apps-menu/extension.js | 5 +++++
|
extensions/apps-menu/extension.js | 8 ++++++++
|
||||||
1 file changed, 5 insertions(+)
|
1 file changed, 8 insertions(+)
|
||||||
|
|
||||||
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
|
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
|
||||||
index 2f4002a..41d1faf 100644
|
index d7ba570..d62e3d7 100644
|
||||||
--- a/extensions/apps-menu/extension.js
|
--- a/extensions/apps-menu/extension.js
|
||||||
+++ b/extensions/apps-menu/extension.js
|
+++ b/extensions/apps-menu/extension.js
|
||||||
@@ -433,6 +433,11 @@ const ApplicationsButton = new Lang.Class({
|
@@ -390,6 +390,14 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||||
|
|
||||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||||
|
|
||||||
+ let iconFile = Gio.File.new_for_path('/usr/share/icons/hicolor/scalable/apps/start-here.svg');
|
+ let iconFile = Gio.File.new_for_path(
|
||||||
+ this._icon = new St.Icon({ gicon: new Gio.FileIcon({ file: iconFile }),
|
+ '/usr/share/icons/hicolor/scalable/apps/start-here.svg');
|
||||||
+ style_class: 'panel-logo-icon' });
|
+ this._icon = new St.Icon({
|
||||||
|
+ gicon: new Gio.FileIcon({ file: iconFile }),
|
||||||
|
+ style_class: 'panel-logo-icon'
|
||||||
|
+ });
|
||||||
+ hbox.add_actor(this._icon);
|
+ hbox.add_actor(this._icon);
|
||||||
+
|
+
|
||||||
this._label = new St.Label({ text: _("Applications"),
|
this._label = new St.Label({
|
||||||
y_expand: true,
|
text: _('Applications'),
|
||||||
y_align: Clutter.ActorAlign.CENTER });
|
y_expand: true,
|
||||||
--
|
--
|
||||||
2.14.2
|
2.21.0
|
||||||
|
|
||||||
|
@ -1,34 +0,0 @@
|
|||||||
From 91ed30147a69d53d7c170b65602be5f90851666e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jakub Steiner <jimmac@gmail.com>
|
|
||||||
Date: Tue, 14 Jan 2014 17:00:23 +0100
|
|
||||||
Subject: [PATCH] classic: Shade panel in overview
|
|
||||||
|
|
||||||
... rather than using the top bar styling (negative space),
|
|
||||||
base the overview panel on the classic grey and "darken"
|
|
||||||
for overview.
|
|
||||||
---
|
|
||||||
data/gnome-classic.scss | 8 +++-----
|
|
||||||
1 file changed, 3 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/data/gnome-classic.scss b/data/gnome-classic.scss
|
|
||||||
index 9e23506..e8f4803 100644
|
|
||||||
--- a/data/gnome-classic.scss
|
|
||||||
+++ b/data/gnome-classic.scss
|
|
||||||
@@ -19,11 +19,9 @@ $variant: 'light';
|
|
||||||
border-bottom: 1px solid #666;
|
|
||||||
app-icon-bottom-clip: 0px;
|
|
||||||
&:overview {
|
|
||||||
- background-color: #000;
|
|
||||||
- background-gradient-end: #000;
|
|
||||||
- border-top-color: #000;
|
|
||||||
- border-bottom: 1px solid #000;
|
|
||||||
- .panel-button { color: #fff; }
|
|
||||||
+ background-color: darken($bg_color,5%);
|
|
||||||
+ background-gradient-end: darken($bg_color,10%);
|
|
||||||
+ .panel-button { color: darken($fg_color,5%); }
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-button {
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
@ -1,159 +0,0 @@
|
|||||||
From 707ca4122da0a638f3df3b92178acc04eea264ec Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <rpm-build>
|
|
||||||
Date: Tue, 4 Sep 2018 15:33:26 -0400
|
|
||||||
Subject: [PATCH] common: get rid of weird drop shadow nex to app menu
|
|
||||||
|
|
||||||
Resolves: #1620241
|
|
||||||
|
|
||||||
---
|
|
||||||
data/gnome-shell-sass/_common.scss | 10 ----------
|
|
||||||
1 file changed, 10 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/data/gnome-shell-sass/_common.scss b/data/gnome-shell-sass/_common.scss
|
|
||||||
index 2f5c887..9883c78 100644
|
|
||||||
--- a/data/gnome-shell-sass/_common.scss
|
|
||||||
+++ b/data/gnome-shell-sass/_common.scss
|
|
||||||
@@ -742,140 +742,130 @@ StScrollBar {
|
|
||||||
|
|
||||||
#panelLeft, #panelCenter { // spacing between activities<>app menu and such
|
|
||||||
spacing: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-corner {
|
|
||||||
-panel-corner-radius: $panel-corner-radius;
|
|
||||||
-panel-corner-background-color: rgba(0, 0, 0, 0.35);
|
|
||||||
-panel-corner-border-width: 2px;
|
|
||||||
-panel-corner-border-color: transparent;
|
|
||||||
|
|
||||||
&:active, &:overview, &:focus {
|
|
||||||
-panel-corner-border-color: lighten($selected_bg_color,5%);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.lock-screen, &.login-screen, &.unlock-screen {
|
|
||||||
-panel-corner-radius: 0;
|
|
||||||
-panel-corner-background-color: transparent;
|
|
||||||
-panel-corner-border-color: transparent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-button {
|
|
||||||
-natural-hpadding: 12px;
|
|
||||||
-minimum-hpadding: 6px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #eee;
|
|
||||||
text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.9);
|
|
||||||
transition-duration: 100ms;
|
|
||||||
|
|
||||||
- .app-menu-icon {
|
|
||||||
- -st-icon-style: symbolic;
|
|
||||||
- margin-left: 4px;
|
|
||||||
- margin-right: 4px;
|
|
||||||
- //dimensions of the icon are hardcoded
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
.panel-logo-icon {
|
|
||||||
padding-right: .4em;
|
|
||||||
icon-size: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.system-status-icon,
|
|
||||||
- .app-menu-icon > StIcon,
|
|
||||||
.popup-menu-arrow {
|
|
||||||
icon-shadow: 0px 1px 2px rgba(0, 0, 0, 0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: lighten($fg_color, 10%);
|
|
||||||
text-shadow: 0px 1px 6px rgba(0, 0, 0, 1);
|
|
||||||
|
|
||||||
.system-status-icon,
|
|
||||||
- .app-menu-icon > StIcon,
|
|
||||||
.popup-menu-arrow {
|
|
||||||
icon-shadow: 0px 1px 6px rgba(0, 0, 0, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active, &:overview, &:focus, &:checked {
|
|
||||||
// Trick due to St limitations. It needs a background to draw
|
|
||||||
// a box-shadow
|
|
||||||
background-color: rgba(0, 0, 0, 0.01);
|
|
||||||
box-shadow: inset 0 -2px 0px lighten($selected_bg_color,5%);
|
|
||||||
color: lighten($fg_color,10%);
|
|
||||||
|
|
||||||
& > .system-status-icon { icon-shadow: black 0 2px 2px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.system-status-icon { icon-size: 1.09em; padding: 0 5px; }
|
|
||||||
.unlock-screen &,
|
|
||||||
.login-screen &,
|
|
||||||
.lock-screen & {
|
|
||||||
color: lighten($fg_color, 10%);
|
|
||||||
&:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-status-indicators-box,
|
|
||||||
.panel-status-menu-box {
|
|
||||||
spacing: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// spacing between power icon and (optional) percentage label
|
|
||||||
.power-status.panel-status-indicators-box {
|
|
||||||
spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.screencast-indicator { color: $warning_color; }
|
|
||||||
|
|
||||||
&.solid {
|
|
||||||
background-color: black;
|
|
||||||
/* transition from transparent to solid */
|
|
||||||
transition-duration: 300ms;
|
|
||||||
|
|
||||||
.panel-corner {
|
|
||||||
-panel-corner-background-color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-button {
|
|
||||||
color: #ccc;
|
|
||||||
text-shadow: none;
|
|
||||||
|
|
||||||
&:hover, &:active, &:overview, &:focus, &:checked {
|
|
||||||
color: lighten($fg_color, 10%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.system-status-icon,
|
|
||||||
- .app-menu-icon > StIcon,
|
|
||||||
.popup-menu-arrow {
|
|
||||||
icon-shadow: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// calendar popover
|
|
||||||
#calendarArea {
|
|
||||||
padding: 0.75em 1.0em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar {
|
|
||||||
margin-bottom: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar,
|
|
||||||
.datemenu-today-button,
|
|
||||||
.datemenu-displays-box,
|
|
||||||
.message-list-sections {
|
|
||||||
margin: 0 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.datemenu-calendar-column { spacing: 0.5em; }
|
|
||||||
.datemenu-displays-section { padding-bottom: 3em; }
|
|
||||||
.datemenu-displays-box { spacing: 1em; }
|
|
||||||
|
|
||||||
.datemenu-calendar-column {
|
|
||||||
border: 0 solid lighten($bg_color,5%);
|
|
||||||
&:ltr { border-left-width: 1px; }
|
|
||||||
&:rtl { border-right-width: 1px; }
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
3270
SOURCES/more-classic-classic-mode.patch
Normal file
3270
SOURCES/more-classic-classic-mode.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
|||||||
From 901e1b32939d27b0b0edabe99705fd3066d360ba Mon Sep 17 00:00:00 2001
|
From 7c3b0af4fde0b542089f2b0c84250404eef0ecca Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Wed, 17 May 2017 19:13:50 +0200
|
Date: Wed, 17 May 2017 19:13:50 +0200
|
||||||
Subject: [PATCH 1/4] extensions: Resurrect systemMonitor extension
|
Subject: [PATCH 1/5] extensions: Resurrect systemMonitor extension
|
||||||
|
|
||||||
The extension was removed upstream because:
|
The extension was removed upstream because:
|
||||||
- it hooks into the message tray that was removed
|
- it hooks into the message tray that was removed
|
||||||
@ -476,134 +476,419 @@ index 0000000..13f95ec
|
|||||||
+ font-weight: bold;
|
+ font-weight: bold;
|
||||||
+}
|
+}
|
||||||
diff --git a/meson.build b/meson.build
|
diff --git a/meson.build b/meson.build
|
||||||
index 201c484..cde2d34 100644
|
index 6e8c41f..6764f9a 100644
|
||||||
--- a/meson.build
|
--- a/meson.build
|
||||||
+++ b/meson.build
|
+++ b/meson.build
|
||||||
@@ -57,6 +57,7 @@ all_extensions += [
|
@@ -55,6 +55,7 @@ all_extensions += [
|
||||||
'native-window-placement',
|
'native-window-placement',
|
||||||
'no-hot-corner',
|
'no-hot-corner',
|
||||||
'panel-favorites',
|
'panel-favorites',
|
||||||
+ 'systemMonitor',
|
+ 'systemMonitor',
|
||||||
'top-icons',
|
'top-icons',
|
||||||
'updates-dialog',
|
'updates-dialog',
|
||||||
'user-theme'
|
'user-theme',
|
||||||
--
|
--
|
||||||
2.20.1
|
2.21.0
|
||||||
|
|
||||||
|
|
||||||
From a0583c021dd74378618139d760b2c4d6d528f11a Mon Sep 17 00:00:00 2001
|
From ddf4d70df56321366a2cb8b89689d59be4dbb718 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Wed, 17 May 2017 19:31:58 +0200
|
Date: Fri, 17 May 2019 22:55:48 +0000
|
||||||
Subject: [PATCH 2/4] systemMonitor: Move indicators to calendar
|
Subject: [PATCH 2/5] systemMonitor: Modernise code
|
||||||
|
|
||||||
The message tray joined the invisible choir, so we have to find
|
- port to ES6 classes
|
||||||
a new home for the extension UI. The message list in the calendar
|
- replace Lang.bind()
|
||||||
drop-down looks like the best option, given that it replaced the
|
- destructure imports
|
||||||
old tray (and also took over the old keyboard shortcut to bring
|
- fix style issues (stray/missing spaces/semi-colons, indent, ...)
|
||||||
it up quickly).
|
|
||||||
---
|
---
|
||||||
extensions/systemMonitor/extension.js | 56 ++++++++++++-------------
|
extensions/systemMonitor/extension.js | 377 +++++++++++++-------------
|
||||||
extensions/systemMonitor/stylesheet.css | 14 -------
|
1 file changed, 192 insertions(+), 185 deletions(-)
|
||||||
2 files changed, 28 insertions(+), 42 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||||
index 7b09df0..1388a1f 100644
|
index 7b09df0..89f8916 100644
|
||||||
--- a/extensions/systemMonitor/extension.js
|
--- a/extensions/systemMonitor/extension.js
|
||||||
+++ b/extensions/systemMonitor/extension.js
|
+++ b/extensions/systemMonitor/extension.js
|
||||||
@@ -4,10 +4,12 @@ const Clutter = imports.gi.Clutter;
|
@@ -1,22 +1,16 @@
|
||||||
const GTop = imports.gi.GTop;
|
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||||
const Lang = imports.lang;
|
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
+const Signals = imports.signals;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
|
|
||||||
|
-const Clutter = imports.gi.Clutter;
|
||||||
|
-const GTop = imports.gi.GTop;
|
||||||
|
-const Lang = imports.lang;
|
||||||
|
-const Mainloop = imports.mainloop;
|
||||||
|
-const St = imports.gi.St;
|
||||||
|
-const Shell = imports.gi.Shell;
|
||||||
|
+/* exported init */
|
||||||
|
|
||||||
|
+const { Clutter, GLib, GTop, Shell, St } = imports.gi;
|
||||||
|
+
|
||||||
|
+const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
+const MessageList = imports.ui.messageList;
|
|
||||||
const Tweener = imports.ui.tweener;
|
const Tweener = imports.ui.tweener;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||||
@@ -29,18 +31,21 @@ const Indicator = new Lang.Class({
|
const _ = Gettext.gettext;
|
||||||
|
|
||||||
_init: function() {
|
-const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
-const Me = ExtensionUtils.getCurrentExtension();
|
||||||
|
-const Convenience = Me.imports.convenience;
|
||||||
|
-
|
||||||
|
const INDICATOR_UPDATE_INTERVAL = 500;
|
||||||
|
const INDICATOR_NUM_GRID_LINES = 3;
|
||||||
|
|
||||||
|
@@ -24,32 +18,38 @@ const ITEM_LABEL_SHOW_TIME = 0.15;
|
||||||
|
const ITEM_LABEL_HIDE_TIME = 0.1;
|
||||||
|
const ITEM_HOVER_TIMEOUT = 300;
|
||||||
|
|
||||||
|
-const Indicator = new Lang.Class({
|
||||||
|
- Name: 'SystemMonitor.Indicator',
|
||||||
|
-
|
||||||
|
- _init: function() {
|
||||||
|
+const Indicator = class {
|
||||||
|
+ constructor() {
|
||||||
this._initValues();
|
this._initValues();
|
||||||
- this.drawing_area = new St.DrawingArea({ reactive: true });
|
- this.drawing_area = new St.DrawingArea({ reactive: true });
|
||||||
+ this.drawing_area = new St.DrawingArea();
|
- this.drawing_area.connect('repaint', Lang.bind(this, this._draw));
|
||||||
this.drawing_area.connect('repaint', Lang.bind(this, this._draw));
|
|
||||||
- this.drawing_area.connect('button-press-event', function() {
|
- this.drawing_area.connect('button-press-event', function() {
|
||||||
+
|
+ this._drawingArea = new St.DrawingArea({ reactive: true });
|
||||||
+ this.actor = new St.Button({ style_class: "message message-content extension-systemMonitor-indicator-area",
|
+ this._drawingArea.connect('repaint', this._draw.bind(this));
|
||||||
+ x_expand: true, x_fill: true,
|
+ this._drawingArea.connect('button-press-event', () => {
|
||||||
+ y_fill: true, can_focus: true });
|
|
||||||
+ this.actor.add_actor(this.drawing_area);
|
|
||||||
+
|
|
||||||
+ this.actor.connect('clicked', function() {
|
|
||||||
let app = Shell.AppSystem.get_default().lookup_app('gnome-system-monitor.desktop');
|
let app = Shell.AppSystem.get_default().lookup_app('gnome-system-monitor.desktop');
|
||||||
app.open_new_window(-1);
|
app.open_new_window(-1);
|
||||||
- return true;
|
return true;
|
||||||
- });
|
});
|
||||||
|
|
||||||
- this.actor = new St.Bin({ style_class: "extension-systemMonitor-indicator-area",
|
- this.actor = new St.Bin({ style_class: "extension-systemMonitor-indicator-area",
|
||||||
- reactive: true, track_hover: true,
|
- reactive: true, track_hover: true,
|
||||||
- x_fill: true, y_fill: true });
|
- x_fill: true, y_fill: true });
|
||||||
- this.actor.add_actor(this.drawing_area);
|
- this.actor.add_actor(this.drawing_area);
|
||||||
+ Main.overview.hide();
|
+ this.actor = new St.Bin({
|
||||||
+ Main.panel.closeCalendar();
|
+ style_class: 'extension-systemMonitor-indicator-area',
|
||||||
|
+ reactive: true,
|
||||||
|
+ track_hover: true,
|
||||||
|
+ x_fill: true,
|
||||||
|
+ y_fill: true
|
||||||
+ });
|
+ });
|
||||||
|
+ this.actor.add_actor(this._drawingArea);
|
||||||
|
|
||||||
this._timeout = Mainloop.timeout_add(INDICATOR_UPDATE_INTERVAL, Lang.bind(this, function () {
|
- this._timeout = Mainloop.timeout_add(INDICATOR_UPDATE_INTERVAL, Lang.bind(this, function () {
|
||||||
this._updateValues();
|
- this._updateValues();
|
||||||
@@ -73,6 +78,7 @@ const Indicator = new Lang.Class({
|
- this.drawing_area.queue_repaint();
|
||||||
|
- return true;
|
||||||
|
- }));
|
||||||
|
- },
|
||||||
|
+ this.actor.connect('destroy', this._onDestroy.bind(this));
|
||||||
|
|
||||||
|
- showLabel: function() {
|
||||||
|
+ this._timeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||||
|
+ INDICATOR_UPDATE_INTERVAL,
|
||||||
|
+ () => {
|
||||||
|
+ this._updateValues();
|
||||||
|
+ this._drawingArea.queue_repaint();
|
||||||
|
+ return GLib.SOURCE_CONTINUE;
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ showLabel() {
|
||||||
|
if (this.label == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
@@ -58,12 +58,10 @@ const Indicator = new Lang.Class({
|
||||||
|
|
||||||
|
let [stageX, stageY] = this.actor.get_transformed_position();
|
||||||
|
|
||||||
|
- let itemWidth = this.actor.allocation.x2 - this.actor.allocation.x1;
|
||||||
|
- let itemHeight = this.actor.allocation.y2 - this.actor.allocation.y1;
|
||||||
|
+ let itemWidth = this.actor.allocation.x2 - this.actor.allocation.x1;
|
||||||
|
|
||||||
|
- let labelWidth = this.label.width;
|
||||||
|
- let labelHeight = this.label.height;
|
||||||
|
- let xOffset = Math.floor((itemWidth - labelWidth) / 2)
|
||||||
|
+ let labelWidth = this.label.width;
|
||||||
|
+ let xOffset = Math.floor((itemWidth - labelWidth) / 2);
|
||||||
|
|
||||||
|
let x = stageX + xOffset;
|
||||||
|
|
||||||
|
@@ -73,48 +71,51 @@ const Indicator = new Lang.Class({
|
||||||
let y = stageY - this.label.get_height() - yOffset;
|
let y = stageY - this.label.get_height() - yOffset;
|
||||||
|
|
||||||
this.label.set_position(x, y);
|
this.label.set_position(x, y);
|
||||||
+ this.label.get_parent().set_child_above_sibling(this.label, null);
|
- Tweener.addTween(this.label,
|
||||||
Tweener.addTween(this.label,
|
- { opacity: 255,
|
||||||
{ opacity: 255,
|
- time: ITEM_LABEL_SHOW_TIME,
|
||||||
time: ITEM_LABEL_SHOW_TIME,
|
- transition: 'easeOutQuad',
|
||||||
@@ -100,6 +106,14 @@ const Indicator = new Lang.Class({
|
- });
|
||||||
});
|
- },
|
||||||
},
|
-
|
||||||
|
- setLabelText: function(text) {
|
||||||
+ /* MessageList.Message boilerplate */
|
+ Tweener.addTween(this.label, {
|
||||||
+ canClose: function() {
|
+ opacity: 255,
|
||||||
+ return false;
|
+ time: ITEM_LABEL_SHOW_TIME,
|
||||||
+ },
|
+ transition: 'easeOutQuad',
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ clear: function() {
|
+ setLabelText(text) {
|
||||||
+ },
|
if (this.label == null)
|
||||||
+
|
- this.label = new St.Label({ style_class: 'extension-systemMonitor-indicator-label'});
|
||||||
destroy: function() {
|
+ this.label = new St.Label({
|
||||||
Mainloop.source_remove(this._timeout);
|
+ style_class: 'extension-systemMonitor-indicator-label'
|
||||||
|
+ });
|
||||||
|
|
||||||
@@ -194,6 +208,7 @@ const Indicator = new Lang.Class({
|
this.label.set_text(text);
|
||||||
|
Main.layoutManager.addChrome(this.label);
|
||||||
|
this.label.hide();
|
||||||
|
- },
|
||||||
|
-
|
||||||
|
- hideLabel: function () {
|
||||||
|
- Tweener.addTween(this.label,
|
||||||
|
- { opacity: 0,
|
||||||
|
- time: ITEM_LABEL_HIDE_TIME,
|
||||||
|
- transition: 'easeOutQuad',
|
||||||
|
- onComplete: Lang.bind(this, function() {
|
||||||
|
- this.label.hide();
|
||||||
|
- })
|
||||||
|
- });
|
||||||
|
- },
|
||||||
|
-
|
||||||
|
- destroy: function() {
|
||||||
|
- Mainloop.source_remove(this._timeout);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
+ hideLabel() {
|
||||||
|
+ Tweener.addTween(this.label, {
|
||||||
|
+ opacity: 0,
|
||||||
|
+ time: ITEM_LABEL_HIDE_TIME,
|
||||||
|
+ transition: 'easeOutQuad',
|
||||||
|
+ onComplete: () => this.label.hide()
|
||||||
|
+ });
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ destroy() {
|
||||||
|
this.actor.destroy();
|
||||||
|
- if (this.label)
|
||||||
|
- this.label.destroy();
|
||||||
|
- },
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ _onDestroy() {
|
||||||
|
+ GLib.source_remove(this._timeout);
|
||||||
|
+
|
||||||
|
+ if (this.label)
|
||||||
|
+ this.label.destroy();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- _initValues: function() {
|
||||||
|
- },
|
||||||
|
+ _initValues() {
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- _updateValues: function() {
|
||||||
|
- },
|
||||||
|
+ _updateValues() {
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- _draw: function(area) {
|
||||||
|
+ _draw(area) {
|
||||||
|
let [width, height] = area.get_surface_size();
|
||||||
|
let themeNode = this.actor.get_theme_node();
|
||||||
|
let cr = area.get_context();
|
||||||
|
@@ -123,12 +124,12 @@ const Indicator = new Lang.Class({
|
||||||
|
let color = themeNode.get_color(this.gridColor);
|
||||||
|
let gridOffset = Math.floor(height / (INDICATOR_NUM_GRID_LINES + 1));
|
||||||
|
for (let i = 1; i <= INDICATOR_NUM_GRID_LINES; ++i) {
|
||||||
|
- cr.moveTo(0, i * gridOffset + .5);
|
||||||
|
- cr.lineTo(width, i * gridOffset + .5);
|
||||||
|
+ cr.moveTo(0, i * gridOffset + .5);
|
||||||
|
+ cr.lineTo(width, i * gridOffset + .5);
|
||||||
|
}
|
||||||
|
Clutter.cairo_set_source_color(cr, color);
|
||||||
|
cr.setLineWidth(1);
|
||||||
|
- cr.setDash([4,1], 0);
|
||||||
|
+ cr.setDash([4, 1], 0);
|
||||||
|
cr.stroke();
|
||||||
|
|
||||||
|
//draw the foreground
|
||||||
|
@@ -155,12 +156,12 @@ const Indicator = new Lang.Class({
|
||||||
|
let renderStats = this.renderStats;
|
||||||
|
|
||||||
|
// Make sure we don't have more sample points than pixels
|
||||||
|
- renderStats.map(Lang.bind(this, function(k){
|
||||||
|
+ renderStats.map(k => {
|
||||||
|
let stat = this.stats[k];
|
||||||
|
if (stat.values.length > width) {
|
||||||
|
stat.values = stat.values.slice(stat.values.length - width, stat.values.length);
|
||||||
|
}
|
||||||
|
- }));
|
||||||
|
+ });
|
||||||
|
|
||||||
|
for (let i = 0; i < renderStats.length; ++i) {
|
||||||
|
let stat = this.stats[renderStats[i]];
|
||||||
|
@@ -178,10 +179,10 @@ const Indicator = new Lang.Class({
|
||||||
|
cr.lineTo(0, height);
|
||||||
|
cr.closePath();
|
||||||
|
} else {
|
||||||
|
- let nextStat = this.stats[renderStats[i+1]];
|
||||||
|
+ let nextStat = this.stats[renderStats[i + 1]];
|
||||||
|
makePath(nextStat.values, true);
|
||||||
|
}
|
||||||
|
- cr.closePath()
|
||||||
|
+ cr.closePath();
|
||||||
|
Clutter.cairo_set_source_color(cr, color);
|
||||||
|
cr.fill();
|
||||||
|
|
||||||
|
@@ -193,40 +194,42 @@ const Indicator = new Lang.Class({
|
||||||
|
cr.stroke();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
-});
|
||||||
+Signals.addSignalMethods(Indicator.prototype); // For MessageList.Message compat
|
-
|
||||||
|
-const CpuIndicator = new Lang.Class({
|
||||||
|
- Name: 'SystemMonitor.CpuIndicator',
|
||||||
|
- Extends: Indicator,
|
||||||
|
+};
|
||||||
|
|
||||||
const CpuIndicator = new Lang.Class({
|
- _init: function() {
|
||||||
Name: 'SystemMonitor.CpuIndicator',
|
- this.parent();
|
||||||
@@ -302,9 +317,7 @@ const Extension = new Lang.Class({
|
+const CpuIndicator = class extends Indicator {
|
||||||
},
|
+ constructor() {
|
||||||
|
+ super();
|
||||||
|
|
||||||
enable: function() {
|
this.gridColor = '-grid-color';
|
||||||
|
- this.renderStats = [ 'cpu-user', 'cpu-sys', 'cpu-iowait' ];
|
||||||
|
+ this.renderStats = ['cpu-user', 'cpu-sys', 'cpu-iowait'];
|
||||||
|
|
||||||
|
// Make sure renderStats is sorted as necessary for rendering
|
||||||
|
- let renderStatOrder = {'cpu-total': 0, 'cpu-user': 1, 'cpu-sys': 2, 'cpu-iowait': 3};
|
||||||
|
- this.renderStats = this.renderStats.sort(function(a,b) {
|
||||||
|
+ let renderStatOrder = {
|
||||||
|
+ 'cpu-total': 0,
|
||||||
|
+ 'cpu-user': 1,
|
||||||
|
+ 'cpu-sys': 2,
|
||||||
|
+ 'cpu-iowait': 3
|
||||||
|
+ };
|
||||||
|
+ this.renderStats = this.renderStats.sort((a, b) => {
|
||||||
|
return renderStatOrder[a] - renderStatOrder[b];
|
||||||
|
});
|
||||||
|
|
||||||
|
- this.setLabelText(_("CPU"));
|
||||||
|
- },
|
||||||
|
+ this.setLabelText(_('CPU'));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- _initValues: function() {
|
||||||
|
+ _initValues() {
|
||||||
|
this._prev = new GTop.glibtop_cpu;
|
||||||
|
GTop.glibtop_get_cpu(this._prev);
|
||||||
|
|
||||||
|
this.stats = {
|
||||||
|
- 'cpu-user': {color: '-cpu-user-color', values: []},
|
||||||
|
- 'cpu-sys': {color: '-cpu-sys-color', values: []},
|
||||||
|
- 'cpu-iowait': {color: '-cpu-iowait-color', values: []},
|
||||||
|
- 'cpu-total': {color: '-cpu-total-color', values: []}
|
||||||
|
- };
|
||||||
|
- },
|
||||||
|
-
|
||||||
|
- _updateValues: function() {
|
||||||
|
+ 'cpu-user': { color: '-cpu-user-color', values: [] },
|
||||||
|
+ 'cpu-sys': { color: '-cpu-sys-color', values: [] },
|
||||||
|
+ 'cpu-iowait': { color: '-cpu-iowait-color', values: [] },
|
||||||
|
+ 'cpu-total': { color: '-cpu-total-color', values: [] }
|
||||||
|
+ };
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ _updateValues() {
|
||||||
|
let cpu = new GTop.glibtop_cpu;
|
||||||
|
let t = 0.0;
|
||||||
|
GTop.glibtop_get_cpu(cpu);
|
||||||
|
@@ -246,37 +249,34 @@ const CpuIndicator = new Lang.Class({
|
||||||
|
|
||||||
|
this._prev = cpu;
|
||||||
|
}
|
||||||
|
-});
|
||||||
|
+};
|
||||||
|
|
||||||
|
-const MemoryIndicator = new Lang.Class({
|
||||||
|
- Name: 'SystemMonitor.MemoryIndicator',
|
||||||
|
- Extends: Indicator,
|
||||||
|
-
|
||||||
|
- _init: function() {
|
||||||
|
- this.parent();
|
||||||
|
+const MemoryIndicator = class extends Indicator {
|
||||||
|
+ constructor() {
|
||||||
|
+ super();
|
||||||
|
|
||||||
|
this.gridColor = '-grid-color';
|
||||||
|
- this.renderStats = [ 'mem-user', 'mem-other', 'mem-cached' ];
|
||||||
|
+ this.renderStats = ['mem-user', 'mem-other', 'mem-cached'];
|
||||||
|
|
||||||
|
// Make sure renderStats is sorted as necessary for rendering
|
||||||
|
let renderStatOrder = { 'mem-cached': 0, 'mem-other': 1, 'mem-user': 2 };
|
||||||
|
- this.renderStats = this.renderStats.sort(function(a,b) {
|
||||||
|
+ this.renderStats = this.renderStats.sort((a, b) => {
|
||||||
|
return renderStatOrder[a] - renderStatOrder[b];
|
||||||
|
});
|
||||||
|
|
||||||
|
- this.setLabelText(_("Memory"));
|
||||||
|
- },
|
||||||
|
+ this.setLabelText(_('Memory'));
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- _initValues: function() {
|
||||||
|
+ _initValues() {
|
||||||
|
this.mem = new GTop.glibtop_mem;
|
||||||
|
this.stats = {
|
||||||
|
- 'mem-user': { color: "-mem-user-color", values: [] },
|
||||||
|
- 'mem-other': { color: "-mem-other-color", values: [] },
|
||||||
|
- 'mem-cached': { color: "-mem-cached-color", values: [] }
|
||||||
|
- };
|
||||||
|
- },
|
||||||
|
+ 'mem-user': { color: '-mem-user-color', values: [] },
|
||||||
|
+ 'mem-other': { color: '-mem-other-color', values: [] },
|
||||||
|
+ 'mem-cached': { color: '-mem-cached-color', values: [] }
|
||||||
|
+ };
|
||||||
|
+ }
|
||||||
|
|
||||||
|
- _updateValues: function() {
|
||||||
|
+ _updateValues() {
|
||||||
|
GTop.glibtop_get_mem(this.mem);
|
||||||
|
|
||||||
|
let t = this.mem.user / this.mem.total;
|
||||||
|
@@ -286,90 +286,97 @@ const MemoryIndicator = new Lang.Class({
|
||||||
|
t += this.mem.cached / this.mem.total;
|
||||||
|
this.stats['mem-cached'].values.push(t);
|
||||||
|
}
|
||||||
|
-});
|
||||||
|
+};
|
||||||
|
|
||||||
|
const INDICATORS = [CpuIndicator, MemoryIndicator];
|
||||||
|
|
||||||
|
-const Extension = new Lang.Class({
|
||||||
|
- Name: 'SystemMonitor.Extension',
|
||||||
|
-
|
||||||
|
- _init: function() {
|
||||||
|
- Convenience.initTranslations();
|
||||||
|
-
|
||||||
|
- this._showLabelTimeoutId = 0;
|
||||||
|
- this._resetHoverTimeoutId = 0;
|
||||||
|
- this._labelShowing = false;
|
||||||
|
- },
|
||||||
|
-
|
||||||
|
- enable: function() {
|
||||||
- this._box = new St.BoxLayout({ style_class: 'extension-systemMonitor-container',
|
- this._box = new St.BoxLayout({ style_class: 'extension-systemMonitor-container',
|
||||||
- x_align: Clutter.ActorAlign.START,
|
- x_align: Clutter.ActorAlign.START,
|
||||||
- x_expand: true });
|
- x_expand: true });
|
||||||
+ this._section = new MessageList.MessageListSection(_("System Monitor"));
|
- this._indicators = [ ];
|
||||||
this._indicators = [ ];
|
-
|
||||||
|
- for (let i = 0; i < INDICATORS.length; i++) {
|
||||||
for (let i = 0; i < INDICATORS.length; i++) {
|
- let indicator = new (INDICATORS[i])();
|
||||||
@@ -313,31 +326,18 @@ const Extension = new Lang.Class({
|
-
|
||||||
indicator.actor.connect('notify::hover', Lang.bind(this, function() {
|
- indicator.actor.connect('notify::hover', Lang.bind(this, function() {
|
||||||
this._onHover(indicator);
|
- this._onHover(indicator);
|
||||||
}));
|
- }));
|
||||||
- this._box.add_actor(indicator.actor);
|
- this._box.add_actor(indicator.actor);
|
||||||
+ this._section.addMessage(indicator, false);
|
- this._indicators.push(indicator);
|
||||||
this._indicators.push(indicator);
|
- }
|
||||||
}
|
-
|
||||||
|
|
||||||
- this._boxHolder = new St.BoxLayout({ x_expand: true,
|
- this._boxHolder = new St.BoxLayout({ x_expand: true,
|
||||||
- y_expand: true,
|
- y_expand: true,
|
||||||
- x_align: Clutter.ActorAlign.START,
|
- x_align: Clutter.ActorAlign.START,
|
||||||
@ -614,23 +899,285 @@ index 7b09df0..1388a1f 100644
|
|||||||
-
|
-
|
||||||
- this._boxHolder.add_child(this._box);
|
- this._boxHolder.add_child(this._box);
|
||||||
- this._boxHolder.add_child(menuButton);
|
- this._boxHolder.add_child(menuButton);
|
||||||
+ Main.panel.statusArea.dateMenu._messageList._addSection(this._section);
|
- },
|
||||||
+ this._section.actor.get_parent().set_child_at_index(this._section.actor, 0);
|
-
|
||||||
},
|
- disable: function() {
|
||||||
|
- this._indicators.forEach(function(i) { i.destroy(); });
|
||||||
disable: function() {
|
-
|
||||||
this._indicators.forEach(function(i) { i.destroy(); });
|
|
||||||
|
|
||||||
- let menuButton = Main.messageTray._messageTrayMenuButton.actor;
|
- let menuButton = Main.messageTray._messageTrayMenuButton.actor;
|
||||||
- this._boxHolder.remove_child(menuButton);
|
- this._boxHolder.remove_child(menuButton);
|
||||||
- Main.messageTray.actor.add_child(menuButton);
|
- Main.messageTray.actor.add_child(menuButton);
|
||||||
-
|
-
|
||||||
- this._box.destroy();
|
- this._box.destroy();
|
||||||
- this._boxHolder.destroy();
|
- this._boxHolder.destroy();
|
||||||
+ Main.panel.statusArea.dateMenu._messageList._removeSection(this._section);
|
- },
|
||||||
},
|
-
|
||||||
|
- _onHover: function (item) {
|
||||||
|
+class Extension {
|
||||||
|
+ constructor() {
|
||||||
|
+ ExtensionUtils.initTranslations();
|
||||||
|
+
|
||||||
|
+ this._showLabelTimeoutId = 0;
|
||||||
|
+ this._resetHoverTimeoutId = 0;
|
||||||
|
+ this._labelShowing = false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ enable() {
|
||||||
|
+ this._box = new St.BoxLayout({
|
||||||
|
+ style_class: 'extension-systemMonitor-container',
|
||||||
|
+ x_align: Clutter.ActorAlign.START,
|
||||||
|
+ x_expand: true
|
||||||
|
+ });
|
||||||
|
+ this._indicators = [];
|
||||||
|
+
|
||||||
|
+ for (let i = 0; i < INDICATORS.length; i++) {
|
||||||
|
+ let indicator = new (INDICATORS[i])();
|
||||||
|
+
|
||||||
|
+ indicator.actor.connect('notify::hover', () => {
|
||||||
|
+ this._onHover(indicator);
|
||||||
|
+ });
|
||||||
|
+ this._box.add_actor(indicator.actor);
|
||||||
|
+ this._indicators.push(indicator);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ this._boxHolder = new St.BoxLayout({
|
||||||
|
+ x_expand: true,
|
||||||
|
+ y_expand: true,
|
||||||
|
+ x_align: Clutter.ActorAlign.START,
|
||||||
|
+ });
|
||||||
|
+ let menuButton = Main.messageTray._messageTrayMenuButton.actor;
|
||||||
|
+ Main.messageTray.actor.remove_child(menuButton);
|
||||||
|
+ Main.messageTray.actor.add_child(this._boxHolder);
|
||||||
|
+
|
||||||
|
+ this._boxHolder.add_child(this._box);
|
||||||
|
+ this._boxHolder.add_child(menuButton);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ disable() {
|
||||||
|
+ this._indicators.forEach(i => i.destroy());
|
||||||
|
+
|
||||||
|
+ let menuButton = Main.messageTray._messageTrayMenuButton.actor;
|
||||||
|
+ this._boxHolder.remove_child(menuButton);
|
||||||
|
+ Main.messageTray.actor.add_child(menuButton);
|
||||||
|
+
|
||||||
|
+ this._box.destroy();
|
||||||
|
+ this._boxHolder.destroy();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ _onHover(item) {
|
||||||
|
if (item.actor.get_hover()) {
|
||||||
|
- if (this._showLabelTimeoutId == 0) {
|
||||||
|
- let timeout = this._labelShowing ? 0 : ITEM_HOVER_TIMEOUT;
|
||||||
|
- this._showLabelTimeoutId = Mainloop.timeout_add(timeout,
|
||||||
|
- Lang.bind(this, function() {
|
||||||
|
- this._labelShowing = true;
|
||||||
|
- item.showLabel();
|
||||||
|
- return false;
|
||||||
|
- }));
|
||||||
|
- if (this._resetHoverTimeoutId > 0) {
|
||||||
|
- Mainloop.source_remove(this._resetHoverTimeoutId);
|
||||||
|
- this._resetHoverTimeoutId = 0;
|
||||||
|
- }
|
||||||
|
+ if (this._showLabelTimeoutId)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ let timeout = this._labelShowing ? 0 : ITEM_HOVER_TIMEOUT;
|
||||||
|
+ this._showLabelTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||||
|
+ timeout,
|
||||||
|
+ () => {
|
||||||
|
+ this._labelShowing = true;
|
||||||
|
+ item.showLabel();
|
||||||
|
+ this._showLabelTimeoutId = 0;
|
||||||
|
+ return GLib.SOURCE_REMOVE;
|
||||||
|
+ });
|
||||||
|
+
|
||||||
|
+ if (this._resetHoverTimeoutId > 0) {
|
||||||
|
+ GLib.source_remove(this._resetHoverTimeoutId);
|
||||||
|
+ this._resetHoverTimeoutId = 0;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this._showLabelTimeoutId > 0)
|
||||||
|
- Mainloop.source_remove(this._showLabelTimeoutId);
|
||||||
|
+ GLib.source_remove(this._showLabelTimeoutId);
|
||||||
|
this._showLabelTimeoutId = 0;
|
||||||
|
item.hideLabel();
|
||||||
|
- if (this._labelShowing) {
|
||||||
|
- this._resetHoverTimeoutId = Mainloop.timeout_add(ITEM_HOVER_TIMEOUT,
|
||||||
|
- Lang.bind(this, function() {
|
||||||
|
- this._labelShowing = false;
|
||||||
|
- return false;
|
||||||
|
- }));
|
||||||
|
- }
|
||||||
|
+ if (!this._labelShowing)
|
||||||
|
+ return;
|
||||||
|
+
|
||||||
|
+ this._resetHoverTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||||
|
+ ITEM_HOVER_TIMEOUT,
|
||||||
|
+ () => {
|
||||||
|
+ this._labelShowing = false;
|
||||||
|
+ return GLib.SOURCE_REMOVE;
|
||||||
|
+ });
|
||||||
|
}
|
||||||
|
- },
|
||||||
|
-});
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
|
||||||
_onHover: function (item) {
|
function init() {
|
||||||
|
return new Extension();
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
||||||
|
|
||||||
|
From e7ea49cd416e8ede9767f5ade46a06764d1e9a5b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
|
Date: Wed, 17 May 2017 19:31:58 +0200
|
||||||
|
Subject: [PATCH 3/5] systemMonitor: Move indicators to calendar
|
||||||
|
|
||||||
|
The message tray joined the invisible choir, so we have to find
|
||||||
|
a new home for the extension UI. The message list in the calendar
|
||||||
|
drop-down looks like the best option, given that it replaced the
|
||||||
|
old tray (and also took over the old keyboard shortcut to bring
|
||||||
|
it up quickly).
|
||||||
|
---
|
||||||
|
extensions/systemMonitor/extension.js | 65 ++++++++++++-------------
|
||||||
|
extensions/systemMonitor/stylesheet.css | 14 ------
|
||||||
|
2 files changed, 31 insertions(+), 48 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||||
|
index 89f8916..0188960 100644
|
||||||
|
--- a/extensions/systemMonitor/extension.js
|
||||||
|
+++ b/extensions/systemMonitor/extension.js
|
||||||
|
@@ -3,9 +3,11 @@
|
||||||
|
/* exported init */
|
||||||
|
|
||||||
|
const { Clutter, GLib, GTop, Shell, St } = imports.gi;
|
||||||
|
+const Signals = imports.signals;
|
||||||
|
|
||||||
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
const Main = imports.ui.main;
|
||||||
|
+const MessageList = imports.ui.messageList;
|
||||||
|
const Tweener = imports.ui.tweener;
|
||||||
|
|
||||||
|
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||||
|
@@ -21,22 +23,25 @@ const ITEM_HOVER_TIMEOUT = 300;
|
||||||
|
const Indicator = class {
|
||||||
|
constructor() {
|
||||||
|
this._initValues();
|
||||||
|
- this._drawingArea = new St.DrawingArea({ reactive: true });
|
||||||
|
+ this._drawingArea = new St.DrawingArea();
|
||||||
|
this._drawingArea.connect('repaint', this._draw.bind(this));
|
||||||
|
- this._drawingArea.connect('button-press-event', () => {
|
||||||
|
+
|
||||||
|
+ this.actor = new St.Button({
|
||||||
|
+ style_class: 'message message-content extension-systemMonitor-indicator-area',
|
||||||
|
+ child: this._drawingArea,
|
||||||
|
+ x_expand: true,
|
||||||
|
+ x_fill: true,
|
||||||
|
+ y_fill: true,
|
||||||
|
+ can_focus: true
|
||||||
|
+ });
|
||||||
|
+
|
||||||
|
+ this.actor.connect('clicked', () => {
|
||||||
|
let app = Shell.AppSystem.get_default().lookup_app('gnome-system-monitor.desktop');
|
||||||
|
app.open_new_window(-1);
|
||||||
|
- return true;
|
||||||
|
- });
|
||||||
|
|
||||||
|
- this.actor = new St.Bin({
|
||||||
|
- style_class: 'extension-systemMonitor-indicator-area',
|
||||||
|
- reactive: true,
|
||||||
|
- track_hover: true,
|
||||||
|
- x_fill: true,
|
||||||
|
- y_fill: true
|
||||||
|
+ Main.overview.hide();
|
||||||
|
+ Main.panel.closeCalendar();
|
||||||
|
});
|
||||||
|
- this.actor.add_actor(this._drawingArea);
|
||||||
|
|
||||||
|
this.actor.connect('destroy', this._onDestroy.bind(this));
|
||||||
|
|
||||||
|
@@ -71,6 +76,7 @@ const Indicator = class {
|
||||||
|
let y = stageY - this.label.get_height() - yOffset;
|
||||||
|
|
||||||
|
this.label.set_position(x, y);
|
||||||
|
+ this.label.get_parent().set_child_above_sibling(this.label, null);
|
||||||
|
Tweener.addTween(this.label, {
|
||||||
|
opacity: 255,
|
||||||
|
time: ITEM_LABEL_SHOW_TIME,
|
||||||
|
@@ -98,6 +104,14 @@ const Indicator = class {
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* MessageList.Message boilerplate */
|
||||||
|
+ canClose() {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ clear() {
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
destroy() {
|
||||||
|
this.actor.destroy();
|
||||||
|
}
|
||||||
|
@@ -195,6 +209,7 @@ const Indicator = class {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
+Signals.addSignalMethods(Indicator.prototype); // For MessageList.Message compat
|
||||||
|
|
||||||
|
const CpuIndicator = class extends Indicator {
|
||||||
|
constructor() {
|
||||||
|
@@ -300,11 +315,7 @@ class Extension {
|
||||||
|
}
|
||||||
|
|
||||||
|
enable() {
|
||||||
|
- this._box = new St.BoxLayout({
|
||||||
|
- style_class: 'extension-systemMonitor-container',
|
||||||
|
- x_align: Clutter.ActorAlign.START,
|
||||||
|
- x_expand: true
|
||||||
|
- });
|
||||||
|
+ this._section = new MessageList.MessageListSection(_('System Monitor'));
|
||||||
|
this._indicators = [];
|
||||||
|
|
||||||
|
for (let i = 0; i < INDICATORS.length; i++) {
|
||||||
|
@@ -313,32 +324,18 @@ class Extension {
|
||||||
|
indicator.actor.connect('notify::hover', () => {
|
||||||
|
this._onHover(indicator);
|
||||||
|
});
|
||||||
|
- this._box.add_actor(indicator.actor);
|
||||||
|
+ this._section.addMessage(indicator, false);
|
||||||
|
this._indicators.push(indicator);
|
||||||
|
}
|
||||||
|
|
||||||
|
- this._boxHolder = new St.BoxLayout({
|
||||||
|
- x_expand: true,
|
||||||
|
- y_expand: true,
|
||||||
|
- x_align: Clutter.ActorAlign.START,
|
||||||
|
- });
|
||||||
|
- let menuButton = Main.messageTray._messageTrayMenuButton.actor;
|
||||||
|
- Main.messageTray.actor.remove_child(menuButton);
|
||||||
|
- Main.messageTray.actor.add_child(this._boxHolder);
|
||||||
|
-
|
||||||
|
- this._boxHolder.add_child(this._box);
|
||||||
|
- this._boxHolder.add_child(menuButton);
|
||||||
|
+ Main.panel.statusArea.dateMenu._messageList._addSection(this._section);
|
||||||
|
+ this._section.actor.get_parent().set_child_at_index(this._section.actor, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
disable() {
|
||||||
|
this._indicators.forEach(i => i.destroy());
|
||||||
|
|
||||||
|
- let menuButton = Main.messageTray._messageTrayMenuButton.actor;
|
||||||
|
- this._boxHolder.remove_child(menuButton);
|
||||||
|
- Main.messageTray.actor.add_child(menuButton);
|
||||||
|
-
|
||||||
|
- this._box.destroy();
|
||||||
|
- this._boxHolder.destroy();
|
||||||
|
+ Main.panel.statusArea.dateMenu._messageList._removeSection(this._section);
|
||||||
|
}
|
||||||
|
|
||||||
|
_onHover(item) {
|
||||||
diff --git a/extensions/systemMonitor/stylesheet.css b/extensions/systemMonitor/stylesheet.css
|
diff --git a/extensions/systemMonitor/stylesheet.css b/extensions/systemMonitor/stylesheet.css
|
||||||
index 13f95ec..978ac12 100644
|
index 13f95ec..978ac12 100644
|
||||||
--- a/extensions/systemMonitor/stylesheet.css
|
--- a/extensions/systemMonitor/stylesheet.css
|
||||||
@ -662,70 +1209,67 @@ index 13f95ec..978ac12 100644
|
|||||||
|
|
||||||
.extension-systemMonitor-indicator-label {
|
.extension-systemMonitor-indicator-label {
|
||||||
--
|
--
|
||||||
2.20.1
|
2.21.0
|
||||||
|
|
||||||
|
|
||||||
From a56d2c1c5546b6f1a6bf66f168874860b427bf9f Mon Sep 17 00:00:00 2001
|
From f73fe9cfb5f9dbd6647e4eb30a9af0fb7ff79219 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Thu, 18 May 2017 16:20:07 +0200
|
Date: Thu, 18 May 2017 16:20:07 +0200
|
||||||
Subject: [PATCH 3/4] systemMonitor: Handle clicks on section title
|
Subject: [PATCH 4/5] systemMonitor: Handle clicks on section title
|
||||||
|
|
||||||
While on 3.24.x only the event section still has a clickable title,
|
While on 3.24.x only the event section still has a clickable title,
|
||||||
it's a generic message list feature in previous versions. It's easy
|
it's a generic message list feature in previous versions. It's easy
|
||||||
enough to support with a small subclass, so use that instead of
|
enough to support with a small subclass, so use that instead of
|
||||||
the generic baseclass.
|
the generic baseclass.
|
||||||
|
|
||||||
Fixes: #3
|
Fixes: https://gitlab.gnome.org/GNOME/gnome-shell-extensions3
|
||||||
---
|
---
|
||||||
extensions/systemMonitor/extension.js | 20 +++++++++++++++++++-
|
extensions/systemMonitor/extension.js | 17 ++++++++++++++++-
|
||||||
1 file changed, 19 insertions(+), 1 deletion(-)
|
1 file changed, 16 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
diff --git a/extensions/systemMonitor/extension.js b/extensions/systemMonitor/extension.js
|
||||||
index 1388a1f..9c010d8 100644
|
index 0188960..b4d5a9d 100644
|
||||||
--- a/extensions/systemMonitor/extension.js
|
--- a/extensions/systemMonitor/extension.js
|
||||||
+++ b/extensions/systemMonitor/extension.js
|
+++ b/extensions/systemMonitor/extension.js
|
||||||
@@ -303,6 +303,24 @@ const MemoryIndicator = new Lang.Class({
|
@@ -303,6 +303,21 @@ const MemoryIndicator = class extends Indicator {
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
|
||||||
+const SystemMonitorSection = new Lang.Class({
|
+class SystemMonitorSection extends MessageList.MessageListSection {
|
||||||
+ Name: 'SystemMonitorSection',
|
+ constructor() {
|
||||||
+ Extends: MessageList.MessageListSection,
|
+ super(_('System Monitor'));
|
||||||
|
+ }
|
||||||
+
|
+
|
||||||
+ _init: function() {
|
+ _onTitleClicked() {
|
||||||
+ this.parent(_("System Monitor"));
|
+ super._onTitleClicked();
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+ _onTitleClicked: function() {
|
|
||||||
+ this.parent();
|
|
||||||
+
|
+
|
||||||
+ let appSys = Shell.AppSystem.get_default();
|
+ let appSys = Shell.AppSystem.get_default();
|
||||||
+ let app = appSys.lookup_app('gnome-system-monitor.desktop');
|
+ let app = appSys.lookup_app('gnome-system-monitor.desktop');
|
||||||
+ if (app)
|
+ if (app)
|
||||||
+ app.open_new_window(-1);
|
+ app.open_new_window(-1);
|
||||||
+ }
|
+ }
|
||||||
+});
|
+}
|
||||||
+
|
+
|
||||||
const INDICATORS = [CpuIndicator, MemoryIndicator];
|
const INDICATORS = [CpuIndicator, MemoryIndicator];
|
||||||
|
|
||||||
const Extension = new Lang.Class({
|
class Extension {
|
||||||
@@ -317,7 +335,7 @@ const Extension = new Lang.Class({
|
@@ -315,7 +330,7 @@ class Extension {
|
||||||
},
|
}
|
||||||
|
|
||||||
enable: function() {
|
enable() {
|
||||||
- this._section = new MessageList.MessageListSection(_("System Monitor"));
|
- this._section = new MessageList.MessageListSection(_('System Monitor'));
|
||||||
+ this._section = new SystemMonitorSection();
|
+ this._section = new SystemMonitorSection();
|
||||||
this._indicators = [ ];
|
this._indicators = [];
|
||||||
|
|
||||||
for (let i = 0; i < INDICATORS.length; i++) {
|
for (let i = 0; i < INDICATORS.length; i++) {
|
||||||
--
|
--
|
||||||
2.20.1
|
2.21.0
|
||||||
|
|
||||||
|
|
||||||
From 0b22b3fb2f05a098408437d9cd48482fddc24766 Mon Sep 17 00:00:00 2001
|
From df76e98d6bbac7dccc86f66e82eac2977fb5ed87 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
||||||
Date: Thu, 18 May 2017 18:00:17 +0200
|
Date: Thu, 18 May 2017 18:00:17 +0200
|
||||||
Subject: [PATCH 4/4] systemMonitor: Provide classic styling
|
Subject: [PATCH 5/5] systemMonitor: Provide classic styling
|
||||||
|
|
||||||
The indicator tooltips currently don't work out in classic mode
|
The indicator tooltips currently don't work out in classic mode
|
||||||
(dark text on dark background), so provide some mode-specific
|
(dark text on dark background), so provide some mode-specific
|
||||||
@ -763,5 +1307,5 @@ index 48504f6..b6548b1 100644
|
|||||||
+ extension_data += files('classic.css')
|
+ extension_data += files('classic.css')
|
||||||
+endif
|
+endif
|
||||||
--
|
--
|
||||||
2.20.1
|
2.21.0
|
||||||
|
|
||||||
|
@ -5,13 +5,12 @@
|
|||||||
%global pkg_prefix gnome-shell-extension
|
%global pkg_prefix gnome-shell-extension
|
||||||
|
|
||||||
Name: gnome-shell-extensions
|
Name: gnome-shell-extensions
|
||||||
Version: 3.28.1
|
Version: 3.32.1
|
||||||
Release: 8%{?dist}
|
Release: 10%{?dist}
|
||||||
Summary: Modify and extend GNOME Shell functionality and behavior
|
Summary: Modify and extend GNOME Shell functionality and behavior
|
||||||
|
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
# The entire source code is GPLv2+ except lib/convenience.js which is BSD
|
License: GPLv2+
|
||||||
License: GPLv2+ and BSD
|
|
||||||
URL: http://wiki.gnome.org/Projects/GnomeShell/Extensions
|
URL: http://wiki.gnome.org/Projects/GnomeShell/Extensions
|
||||||
Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{major_version}/%{name}-%{version}.tar.xz
|
Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{major_version}/%{name}-%{version}.tar.xz
|
||||||
Source1: gnome-classic.desktop
|
Source1: gnome-classic.desktop
|
||||||
@ -28,24 +27,25 @@ Requires: gnome-shell >= %{min_gs_version}
|
|||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
Patch0001: 0001-Update-style.patch
|
Patch0001: 0001-Update-style.patch
|
||||||
Patch0002: 0001-classic-Shade-panel-in-overview.patch
|
Patch0002: 0001-apps-menu-add-logo-icon-to-Applications-menu.patch
|
||||||
Patch0003: 0001-apps-menu-add-logo-icon-to-Applications-menu.patch
|
Patch0003: add-extra-extensions.patch
|
||||||
Patch0004: add-extra-extensions.patch
|
Patch0004: 0001-apps-menu-Explicitly-set-label_actor.patch
|
||||||
Patch0005: 0001-apps-menu-Explicitly-set-label_actor.patch
|
Patch0005: resurrect-system-monitor.patch
|
||||||
Patch0006: resurrect-system-monitor.patch
|
Patch0006: 0001-Include-top-icons-in-classic-session.patch
|
||||||
Patch0007: 0001-common-get-rid-of-weird-drop-shadow-nex-to-app-menu.patch
|
Patch0007: more-classic-classic-mode.patch
|
||||||
Patch0008: 0001-Include-top-icons-in-classic-session.patch
|
Patch0008: 0001-apps-menu-Add-missing-chain-up.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GNOME Shell Extensions is a collection of extensions providing additional and
|
GNOME Shell Extensions is a collection of extensions providing additional and
|
||||||
optional functionality to GNOME Shell.
|
optional functionality to GNOME Shell.
|
||||||
|
|
||||||
Enabled extensions:
|
Enabled extensions:
|
||||||
* alternate-tab
|
|
||||||
* apps-menu
|
* apps-menu
|
||||||
* auto-move-windows
|
* auto-move-windows
|
||||||
* dash-to-dock
|
* dash-to-dock
|
||||||
|
* disable-screenshield
|
||||||
* desktop-icons
|
* desktop-icons
|
||||||
|
* horizontal-workspaces
|
||||||
* drive-menu
|
* drive-menu
|
||||||
* launch-new-instance
|
* launch-new-instance
|
||||||
* native-window-placement
|
* native-window-placement
|
||||||
@ -68,6 +68,7 @@ License: GPLv2+
|
|||||||
Requires: gnome-shell >= %{min_gs_version}
|
Requires: gnome-shell >= %{min_gs_version}
|
||||||
# Dock extension no longer provided by GNOME Shell extensions >= 3.7.1
|
# Dock extension no longer provided by GNOME Shell extensions >= 3.7.1
|
||||||
Obsoletes: %{pkg_prefix}-dock < 3.7.1
|
Obsoletes: %{pkg_prefix}-dock < 3.7.1
|
||||||
|
Obsoletes: %{pkg_prefix}-alternate-tab < 3.31.2
|
||||||
# Alternative-status-menu extension no longer provided by GNOME Shell extensions >= 3.9.5
|
# Alternative-status-menu extension no longer provided by GNOME Shell extensions >= 3.9.5
|
||||||
Obsoletes: %{pkg_prefix}-alternative-status-menu < 3.9.5
|
Obsoletes: %{pkg_prefix}-alternative-status-menu < 3.9.5
|
||||||
# Xrandr-indicator extension no longer provided by GNOME Shell extensions >= 3.9.5
|
# Xrandr-indicator extension no longer provided by GNOME Shell extensions >= 3.9.5
|
||||||
@ -88,9 +89,9 @@ This package provides common data files shared by various extensions.
|
|||||||
Summary: GNOME "classic" mode session
|
Summary: GNOME "classic" mode session
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Requires: %{pkg_prefix}-alternate-tab = %{version}-%{release}
|
|
||||||
Requires: %{pkg_prefix}-apps-menu = %{version}-%{release}
|
Requires: %{pkg_prefix}-apps-menu = %{version}-%{release}
|
||||||
Requires: %{pkg_prefix}-desktop-icons = %{version}-%{release}
|
Requires: %{pkg_prefix}-desktop-icons = %{version}-%{release}
|
||||||
|
Requires: %{pkg_prefix}-horizontal-workspaces = %{version}-%{release}
|
||||||
Requires: %{pkg_prefix}-launch-new-instance = %{version}-%{release}
|
Requires: %{pkg_prefix}-launch-new-instance = %{version}-%{release}
|
||||||
Requires: %{pkg_prefix}-places-menu = %{version}-%{release}
|
Requires: %{pkg_prefix}-places-menu = %{version}-%{release}
|
||||||
Requires: %{pkg_prefix}-window-list = %{version}-%{release}
|
Requires: %{pkg_prefix}-window-list = %{version}-%{release}
|
||||||
@ -110,17 +111,6 @@ This package contains the required components for the GNOME Shell "classic"
|
|||||||
mode, which aims to provide a GNOME 2-like user interface.
|
mode, which aims to provide a GNOME 2-like user interface.
|
||||||
|
|
||||||
|
|
||||||
%package -n %{pkg_prefix}-alternate-tab
|
|
||||||
Summary: Classic Alt+Tab behavior for GNOME Shell
|
|
||||||
Group: User Interface/Desktops
|
|
||||||
License: GPLv2+
|
|
||||||
Requires: %{pkg_prefix}-common = %{version}-%{release}
|
|
||||||
|
|
||||||
%description -n %{pkg_prefix}-alternate-tab
|
|
||||||
This GNOME Shell extension changes Alt+Tab to be window-based instead of
|
|
||||||
app-based.
|
|
||||||
|
|
||||||
|
|
||||||
%package -n %{pkg_prefix}-apps-menu
|
%package -n %{pkg_prefix}-apps-menu
|
||||||
Summary: Application menu for GNOME Shell
|
Summary: Application menu for GNOME Shell
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -154,6 +144,26 @@ Requires: %{pkg_prefix}-common = %{version}-%{release}
|
|||||||
This GNOME Shell extension makes the dash available outside the activities overview.
|
This GNOME Shell extension makes the dash available outside the activities overview.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n %{pkg_prefix}-disable-screenshield
|
||||||
|
Summary: Disable GNOME Shell screen shield if lock is disabled
|
||||||
|
Group: User Interface/Desktops
|
||||||
|
License: GPLv2+
|
||||||
|
Requires: %{pkg_prefix}-common = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n %{pkg_prefix}-disable-screenshield
|
||||||
|
This GNOME Shell extension disabled the screen shield if screen locking is disabled.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n %{pkg_prefix}-horizontal-workspaces
|
||||||
|
Summary: Desktop icons support for the classic experience
|
||||||
|
Group: User Interface/Desktops
|
||||||
|
License: GPLv3+
|
||||||
|
Requires: %{pkg_prefix}-common = %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n %{pkg_prefix}-horizontal-workspaces
|
||||||
|
This GNOME Shell extension adds desktop icons support as seen in GNOME 2
|
||||||
|
|
||||||
|
|
||||||
%package -n %{pkg_prefix}-desktop-icons
|
%package -n %{pkg_prefix}-desktop-icons
|
||||||
Summary: Desktop icons support for the classic experience
|
Summary: Desktop icons support for the classic experience
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -283,6 +293,16 @@ This GNOME Shell extension enables loading a GNOME Shell theme from
|
|||||||
~/.themes/<name>/gnome-shell/.
|
~/.themes/<name>/gnome-shell/.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n %{pkg_prefix}-window-grouper
|
||||||
|
Summary: Keep windows that belong to the same process on the same workspace
|
||||||
|
Group: User Interface/Desktops
|
||||||
|
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
|
%package -n %{pkg_prefix}-window-list
|
||||||
Summary: Display a window list at the bottom of the screen in GNOME Shell
|
Summary: Display a window list at the bottom of the screen in GNOME Shell
|
||||||
Group: User Interface/Desktops
|
Group: User Interface/Desktops
|
||||||
@ -323,6 +343,7 @@ workspaces.
|
|||||||
%meson -Dextension_set="all" -Dclassic_mode=true
|
%meson -Dextension_set="all" -Dclassic_mode=true
|
||||||
%meson_build
|
%meson_build
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%meson_install
|
%meson_install
|
||||||
|
|
||||||
@ -334,15 +355,12 @@ cp $RPM_BUILD_ROOT%{_datadir}/xsessions/gnome-classic.desktop \
|
|||||||
cp $RPM_SOURCE_DIR/gnome-classic-wayland.desktop $RPM_BUILD_ROOT%{_datadir}/wayland-sessions
|
cp $RPM_SOURCE_DIR/gnome-classic-wayland.desktop $RPM_BUILD_ROOT%{_datadir}/wayland-sessions
|
||||||
cp $RPM_SOURCE_DIR/gnome-classic.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions
|
cp $RPM_SOURCE_DIR/gnome-classic.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions
|
||||||
|
|
||||||
# Drop useless example extension
|
|
||||||
rm -r $RPM_BUILD_ROOT%{_datadir}/gnome-shell/extensions/example*/
|
|
||||||
rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
|
|
||||||
|
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
|
|
||||||
|
|
||||||
%files -n %{pkg_prefix}-common -f %{name}.lang
|
%files -n %{pkg_prefix}-common -f %{name}.lang
|
||||||
%doc COPYING NEWS README.md
|
%doc NEWS README.md
|
||||||
|
%license COPYING
|
||||||
|
|
||||||
|
|
||||||
%files -n gnome-classic-session
|
%files -n gnome-classic-session
|
||||||
@ -353,11 +371,7 @@ rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.exampl
|
|||||||
%{_datadir}/gnome-shell/theme/gnome-classic.css
|
%{_datadir}/gnome-shell/theme/gnome-classic.css
|
||||||
%{_datadir}/xsessions/gnome-classic.desktop
|
%{_datadir}/xsessions/gnome-classic.desktop
|
||||||
%{_datadir}/wayland-sessions/gnome-classic-wayland.desktop
|
%{_datadir}/wayland-sessions/gnome-classic-wayland.desktop
|
||||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml
|
%{_datadir}/glib-2.0/schemas/00_org.gnome.shell.extensions.classic.gschema.override
|
||||||
|
|
||||||
%files -n %{pkg_prefix}-alternate-tab
|
|
||||||
%{_datadir}/gnome-shell/extensions/alternate-tab*/
|
|
||||||
|
|
||||||
|
|
||||||
%files -n %{pkg_prefix}-apps-menu
|
%files -n %{pkg_prefix}-apps-menu
|
||||||
%{_datadir}/gnome-shell/extensions/apps-menu*/
|
%{_datadir}/gnome-shell/extensions/apps-menu*/
|
||||||
@ -373,6 +387,14 @@ rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.exampl
|
|||||||
%{_datadir}/gnome-shell/extensions/dash-to-dock*/
|
%{_datadir}/gnome-shell/extensions/dash-to-dock*/
|
||||||
|
|
||||||
|
|
||||||
|
%files -n %{pkg_prefix}-disable-screenshield
|
||||||
|
%{_datadir}/gnome-shell/extensions/disable-screenshield*/
|
||||||
|
|
||||||
|
|
||||||
|
%files -n %{pkg_prefix}-horizontal-workspaces
|
||||||
|
%{_datadir}/gnome-shell/extensions/horizontal-workspaces*/
|
||||||
|
|
||||||
|
|
||||||
%files -n %{pkg_prefix}-desktop-icons
|
%files -n %{pkg_prefix}-desktop-icons
|
||||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.desktop-icons.gschema.xml
|
||||||
%{_datadir}/gnome-shell/extensions/desktop-icons*/
|
%{_datadir}/gnome-shell/extensions/desktop-icons*/
|
||||||
@ -426,6 +448,11 @@ rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.exampl
|
|||||||
%{_datadir}/gnome-shell/extensions/user-theme*/
|
%{_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
|
%files -n %{pkg_prefix}-window-list
|
||||||
%{_datadir}/gnome-shell/extensions/window-list*/
|
%{_datadir}/gnome-shell/extensions/window-list*/
|
||||||
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
|
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
|
||||||
@ -440,6 +467,57 @@ rm $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.exampl
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 24 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-10
|
||||||
|
- Drop obsolete downstream style patch
|
||||||
|
- Keep classic notification styling
|
||||||
|
Related: #1731372
|
||||||
|
|
||||||
|
* Thu Jul 18 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-9
|
||||||
|
- Backport classic style improvements
|
||||||
|
Resolves: #1726093
|
||||||
|
|
||||||
|
* Thu Jul 04 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-8
|
||||||
|
- Allow closing window picker with Escape
|
||||||
|
Resolves: #1725854
|
||||||
|
|
||||||
|
* Sat Jun 29 2019 Florian Müllner <fmuellner@redhat.com> - 3.32-1-7
|
||||||
|
- Add window thumbnails to workspace switcher
|
||||||
|
Resolves: #1723467
|
||||||
|
- Fix apps-menu not disabling itself entirely
|
||||||
|
Resolves: #1722047
|
||||||
|
|
||||||
|
* Tue Jun 25 2019 Florian Müllner <fmuellner@redhat.com> - 3.32-1-6
|
||||||
|
- Fix new classic mode issues:
|
||||||
|
- stray signal handler with overlay key
|
||||||
|
Resolves: #1722844
|
||||||
|
- improve DND support:
|
||||||
|
+ don't consider regular windows
|
||||||
|
(it doesn't work well, and GNOME 2 didn't support it either)
|
||||||
|
+ indicate that workspace thumbs are drop targets
|
||||||
|
Related: #1704360
|
||||||
|
|
||||||
|
* Tue Jun 18 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-5
|
||||||
|
- Small refinements after design feedback:
|
||||||
|
- use default icon size in picker button to avoid blurriness
|
||||||
|
- use <super> shortcut to open window picker
|
||||||
|
Resolves: #1721195
|
||||||
|
|
||||||
|
* Tue Jun 18 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-4
|
||||||
|
- Don't add apps-menu logo when activities button is present
|
||||||
|
Resolves: #1721195
|
||||||
|
|
||||||
|
* Wed Jun 12 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-3
|
||||||
|
- Make classic mode more classic
|
||||||
|
Resolves: #1704360
|
||||||
|
|
||||||
|
* Fri May 31 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-2
|
||||||
|
- Fix top-icons sizing issue
|
||||||
|
Resolves: #1715765
|
||||||
|
|
||||||
|
* Thu May 23 2019 Florian Müllner <fmuellner@redhat.com> - 3.32.1-1
|
||||||
|
- Update to 3.32.1
|
||||||
|
Resolves: #1713453
|
||||||
|
|
||||||
* Mon Feb 11 2019 Florian Müllner <fmuellner@redhat.com> - 3.28.1-8
|
* Mon Feb 11 2019 Florian Müllner <fmuellner@redhat.com> - 3.28.1-8
|
||||||
- Update desktop-icons extension to 19.01
|
- Update desktop-icons extension to 19.01
|
||||||
Resolves: #1666739
|
Resolves: #1666739
|
||||||
|
Loading…
Reference in New Issue
Block a user