Hello community,
here is the log from the commit of package gnome-shell-extensions for
openSUSE:Factory checked in at 2018-03-14 19:23:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-shell-extensions (Old)
and /work/SRC/openSUSE:Factory/.gnome-shell-extensions.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-shell-extensions"
Wed Mar 14 19:23:19 2018 rev:76 rq:584702 version:3.27.92
Changes:
--------
---
/work/SRC/openSUSE:Factory/gnome-shell-extensions/gnome-shell-extensions.changes
2018-02-15 13:20:10.771581001 +0100
+++
/work/SRC/openSUSE:Factory/.gnome-shell-extensions.new/gnome-shell-extensions.changes
2018-03-14 19:23:22.942560295 +0100
@@ -1,0 +2,53 @@
+Tue Mar 6 10:26:32 UTC 2018 - [email protected]
+
+- Update to version 3.27.92:
+ + Updated translations.
+- Drop gse-build-fixes.patch: fixed upstream.
+
+-------------------------------------------------------------------
+Mon Mar 5 06:24:23 UTC 2018 - [email protected]
+
+- Rebase gse-sle-classic-ext.patch (bsc#1082345).
+
+-------------------------------------------------------------------
+Wed Feb 28 16:29:39 UTC 2018 - [email protected]
+
+- Modernize spec-file by calling spec-cleaner
+
+-------------------------------------------------------------------
+Sat Feb 24 03:01:16 UTC 2018 - [email protected]
+
+- Rebase gnome-shell-add-app-to-desktop.patch (bsc#1082345).
+- Rebase gnome-shell-favorites-menu-at-end.patch
+- Drop gnome-shell-extensions-window-list-app-icon-not-shown.patch:
+ fixed upstream.
+
+-------------------------------------------------------------------
+Thu Feb 22 15:23:55 UTC 2018 - [email protected]
+
+- Update to version 3.27.91:
+ + places-menu: Support unmounting ejectable places.
+ + apps-menu: Support separators and custom sort order.
+ + Port to meson.
+ + window-list: Fix missing icons on wayland.
+ + places-menu: Fix terminating gnome-shell with recent gjs.
+ + auto-move: Make it work with wayland windows.
+ + Classic theme fixes.
+ + Require sassc for classic styling.
+ + Misc. bug fixes: bgo#772211,
+ glgo#GNOME/gnome-shell-extensions#32,
+ glgo#GNOME/gnome-shell-extensions#30.
+ + Updated translations.
+- Switch to meson build system:
+ + Add meson BuildRequires.
+ + Replace configure/make/make_install with
+ meson/meson_build/meson_install macros.
+- Add sassc BuildRequires: new dependency.
+- Add gse-build-fixes.patch: Fix installation of classic desktop
+ session files.
+- Disable SLE-classic patches that need rebase:
+ gse-sle-classic-ext.patch, gnome-shell-add-app-to-desktop.patch,
+ gnome-shell-favorites-menu-at-end.patch and
+ gnome-shell-extensions-window-list-app-icon-not-shown.patch.
+
+-------------------------------------------------------------------
@@ -19,0 +73,7 @@
+
+-------------------------------------------------------------------
+Wed Nov 29 03:27:01 UTC 2017 - [email protected]
+
+- Update to version 3.27.1:
+ + Updated translations.
+- Rebase gnome-shell-add-app-to-desktop.patch.
Old:
----
gnome-shell-extensions-3.26.2.tar.xz
gnome-shell-extensions-window-list-app-icon-not-shown.patch
New:
----
gnome-shell-extensions-3.27.92.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-shell-extensions.spec ++++++
--- /var/tmp/diff_new_pack.UZAvyg/_old 2018-03-14 19:23:24.178516412 +0100
+++ /var/tmp/diff_new_pack.UZAvyg/_new 2018-03-14 19:23:24.182516270 +0100
@@ -19,13 +19,13 @@
%global __requires_exclude typelib\\(Meta\\)
Name: gnome-shell-extensions
-Version: 3.26.2
+Version: 3.27.92
Release: 0
Summary: A collection of extensions for GNOME Shell
-License: GPL-2.0+
+License: GPL-2.0-or-later
Group: System/GUI/GNOME
-Url: https://wiki.gnome.org/Projects/GnomeShell/Extensions
-Source:
https://download.gnome.org/sources/gnome-shell-extensions/3.26/%{name}-%{version}.tar.xz
+URL: https://wiki.gnome.org/Projects/GnomeShell/Extensions
+Source:
http://download.gnome.org/sources/gnome-shell-extensions/3.27/%{name}-%{version}.tar.xz
Source1: README.SUSE
Source2: sle-classic.desktop
Source3: SLE-theme.tar.gz
@@ -38,8 +38,6 @@
Patch2: gnome-shell-favorites-menu-at-end.patch
# PATCH-FEATURE-SLE sle-classic-lock-screen-background.patch bsc#1007468
[email protected] -- add SUSE logo on lock screen when auth is requested
Patch3: sle-classic-lock-screen-background.patch
-# PATCH-FIX-UPSTREAM
gnome-shell-extensions-window-list-app-icon-not-shown.patch bgo#745064
[email protected] -- window-list application icon don't show on taskbar
-Patch4: gnome-shell-extensions-window-list-app-icon-not-shown.patch
## NOTE keep SLE Classic patch at the bottom
# PATCH-FIX-SLE gse-sle-classic-ext.patch Fate#318572 [email protected] -- add
sle classic support
Patch1000: gse-sle-classic-ext.patch
@@ -51,7 +49,9 @@
BuildRequires: gnome-shell
BuildRequires: gobject-introspection
BuildRequires: intltool
+BuildRequires: meson >= 0.44.0
BuildRequires: pkgconfig
+BuildRequires: sassc
BuildRequires: translation-update-upstream
BuildRequires: pkgconfig(gio-2.0)
BuildArch: noarch
@@ -107,7 +107,6 @@
gnome-patch-translation-prepare
%patch3 -p1
%endif
-%patch4 -p1
%patch1000 -p1
##gnome-patch-translation-update
# In openSUSE GNOME, we don't launch gnome-session directly, but wrap this
through a shell script, /usr/bin/gnome
@@ -118,15 +117,14 @@
%endif
%build
-CLASSIC_EXTENSIONS=$(awk -F\" '/^CLASSIC_EXTENSIONS=/{ print $2 }'
configure.ac)
-CLASSIC_EXTENSIONS="${CLASSIC_EXTENSIONS} workspace-indicator"
-%configure \
- --enable-classic-mode \
- --enable-extensions="$CLASSIC_EXTENSIONS"
-make %{?_smp_mflags}
+%meson \
+ -D classic_mode=true \
+ -D extension_set=classic \
+ -D
enable_extensions="alternate-tab,apps-menu,places-menu,launch-new-instance,window-list,workspace-indicator"
+%meson_build
%install
-%make_install
+%meson_install
%find_lang %{name} %{?no_lang_C}
install -m0644 %{SOURCE2}
%{buildroot}/%{_datadir}/xsessions/sle-classic.desktop
cp
%{buildroot}/%{_datadir}/gnome-shell/extensions/[email protected]/classic.css
\
@@ -170,13 +168,17 @@
%endif
%files common
-%defattr(-,root,root)
-%doc COPYING README.SUSE
+%license COPYING
+%doc README.SUSE
%files -n gnome-shell-classic
-%defattr(-,root,root)
-%doc COPYING
+%license COPYING
+%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.auto-move-windows.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.example.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.native-window-placement.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
+%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.user-theme.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
%{_datadir}/gnome-session/sessions/gnome-classic.session
%dir %{_datadir}/gnome-shell/extensions
++++++ gnome-shell-add-app-to-desktop.patch ++++++
--- /var/tmp/diff_new_pack.UZAvyg/_old 2018-03-14 19:23:24.250513856 +0100
+++ /var/tmp/diff_new_pack.UZAvyg/_new 2018-03-14 19:23:24.254513713 +0100
@@ -1,8 +1,8 @@
-Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
+Index: gnome-shell-extensions-3.27.91/extensions/apps-menu/extension.js
===================================================================
---- gnome-shell-extensions-3.26.1.orig/extensions/apps-menu/extension.js
-+++ gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
-@@ -7,6 +7,8 @@ const Lang = imports.lang;
+--- gnome-shell-extensions-3.27.91.orig/extensions/apps-menu/extension.js
++++ gnome-shell-extensions-3.27.91/extensions/apps-menu/extension.js
+@@ -6,6 +6,8 @@ const GMenu = imports.gi.GMenu;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const Clutter = imports.gi.Clutter;
@@ -11,37 +11,36 @@
const Main = imports.ui.main;
const Meta = imports.gi.Meta;
const PanelMenu = imports.ui.panelMenu;
-@@ -68,9 +70,20 @@ const ApplicationMenuItem = new Lang.Cla
+@@ -61,8 +63,19 @@ class ApplicationMenuItem extends PopupM
let textureCache = St.TextureCache.get_default();
let iconThemeChangedId = textureCache.connect('icon-theme-changed',
- Lang.bind(this,
this._updateIcon));
+
this._updateIcon.bind(this));
+
-+ this.actor.connect('button-press-event', Lang.bind(this,
this._onButtonPress));
-+ this.actor.connect('popup-menu', Lang.bind(this,
this._onKeyboardPopupMenu));
++ this.actor.connect('button-press-event',
this._onButtonPress.bind(this));
++ this.actor.connect('popup-menu',
this._onKeyboardPopupMenu.bind(this));
+ this._menu = null;
+ this._menuManager = new PopupMenu.PopupMenuManager(this);
+
- this.actor.connect('destroy', Lang.bind(this,
- function() {
- textureCache.disconnect(iconThemeChangedId);
+ this.actor.connect('destroy', () => {
+ textureCache.disconnect(iconThemeChangedId);
+ if (this._menu) {
+ this._menu.destroy();
+ this._menu = null;
+ this._menuManager = null;
+ }
- }));
+ });
this._updateIcon();
-@@ -92,6 +105,105 @@ const ApplicationMenuItem = new Lang.Cla
+@@ -84,6 +97,106 @@ class ApplicationMenuItem extends PopupM
});
- },
+ }
-+ _onKeyboardPopupMenu: function() {
++ _onKeyboardPopupMenu() {
+ this.popupMenu();
+ this._menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD,
false);
-+ },
++ }
+
-+ _onButtonPress: function(actor, event) {
++ _onButtonPress(actor, event) {
+ // close any opened menu to avoid input focus grab
+ if (this._menu && this._menu.isOpen) {
+ this._menu.close();
@@ -54,18 +53,18 @@
+ return true;
+ }
+ return false;
-+ },
++ }
+
-+ popupMenu: function() {
++ popupMenu() {
+ if (!this._menu) {
+ this._menu = new PopupMenu.PopupMenu(this.actor, 0.0,
St.Side.TOP, 0);
+ let openItem = new PopupMenu.PopupMenuItem(_("Open"));
+ this._menu.addMenuItem(openItem);
-+ openItem.connect('activate', Lang.bind(this, function() {
++ openItem.connect('activate', () => {
+ this._app.open_new_window(-1);
+ this._button.selectCategory(null, null);
+ this._button.menu.toggle();
-+ }));
++ });
+
+ let sepItem = new PopupMenu.PopupSeparatorMenuItem();
+ this._menu.addMenuItem(sepItem);
@@ -79,7 +78,7 @@
+
+ let favItem = new PopupMenu.PopupMenuItem(favText);
+ this._menu.addMenuItem(favItem);
-+ favItem.connect('activate', Lang.bind(this, function() {
++ favItem.connect('activate', () => {
+ let favs = AppFavorites.getAppFavorites();
+ let isFavorite = favs.isFavorite(this._app.get_id());
+ if (isFavorite)
@@ -93,11 +92,11 @@
+
+ this._button.selectCategory(null, null);
+ this._button.menu.toggle();
-+ }));
++ });
+
+ let desktopItem = new PopupMenu.PopupMenuItem(_("Add to
Desktop"));
+ this._menu.addMenuItem(desktopItem);
-+ desktopItem.connect('activate', Lang.bind(this, function() {
++ desktopItem.connect('activate', () => {
+ let desktopApp = this._app.get_app_info();
+ let sourcePath = desktopApp.get_filename();
+ let sourceFile = Gio.File.new_for_path(sourcePath);
@@ -108,7 +107,8 @@
+ destDirPath = Glib.build_filenamev([GLib.get_home_dir(),
"Desktop"]);
+ }
+ let destFile = Gio.File.new_for_path(destDirPath + '/' +
sourceFile.get_basename());
-+ if (sourceFile.copy(destFile, Gio.FileCopyFlags.OVERWRITE,
null, null)) {
++ if (sourceFile.copy(destFile, Gio.FileCopyFlags.OVERWRITE,
++ null, null, null)) {
+ // In order to make the general monitor recognize the
setting of metadata,
+ // this function call should before the setting of unix
mode.
+ destFile.set_attribute_string("metadata::trusted",
@@ -122,7 +122,7 @@
+ }
+ this._button.selectCategory(null, null);
+ this._button.menu.toggle();
-+ }));
++ });
+
+ Main.uiGroup.add_actor(this._menu.actor);
+
@@ -133,8 +133,8 @@
+ this._menuManager.ignoreRelease();
+
+ return false;
-+ },
++ }
+
- activate: function(event) {
- this._app.open_new_window(-1);
+ activate(event) {
+ this._app.open_new_window(-1);
this._button.selectCategory(null, null);
++++++ gnome-shell-extensions-3.26.2.tar.xz ->
gnome-shell-extensions-3.27.92.tar.xz ++++++
++++ 41270 lines of diff (skipped)
++++++ gnome-shell-favorites-menu-at-end.patch ++++++
--- /var/tmp/diff_new_pack.UZAvyg/_old 2018-03-14 19:23:24.598501501 +0100
+++ /var/tmp/diff_new_pack.UZAvyg/_new 2018-03-14 19:23:24.610501074 +0100
@@ -1,9 +1,9 @@
-Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
+Index: gnome-shell-extensions-3.27.91/extensions/apps-menu/extension.js
===================================================================
---- gnome-shell-extensions-3.26.1.orig/extensions/apps-menu/extension.js
-+++ gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
-@@ -33,6 +33,10 @@ const HORIZ_FACTOR = 5;
+--- gnome-shell-extensions-3.27.91.orig/extensions/apps-menu/extension.js
++++ gnome-shell-extensions-3.27.91/extensions/apps-menu/extension.js
+@@ -32,6 +32,10 @@ const HORIZ_FACTOR = 5;
const MENU_HEIGHT_OFFSET = 132;
const NAVIGATION_REGION_OVERSHOOT = 50;
@@ -11,19 +11,19 @@
+ return Main.sessionMode.currentMode == "sle-classic" ? true : false;
+}
+
- const ActivitiesMenuItem = new Lang.Class({
- Name: 'ActivitiesMenuItem',
- Extends: PopupMenu.PopupBaseMenuItem,
-@@ -790,8 +794,6 @@ const ApplicationsButton = new Lang.Clas
- let tree = new GMenu.Tree({ menu_basename: 'applications.menu' });
- tree.load_sync();
- let root = tree.get_root_directory();
+ class ActivitiesMenuItem extends PopupMenu.PopupBaseMenuItem {
+ constructor(button) {
+ super();
+@@ -776,8 +780,6 @@ class ApplicationsButton extends PanelMe
+ this.applicationsByCategory = {};
+ this._tree.load_sync();
+ let root = this._tree.get_root_directory();
- let categoryMenuItem = new CategoryMenuItem(this, null);
- this.categoriesBox.add_actor(categoryMenuItem.actor);
let iter = root.iter();
let nextType;
while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
-@@ -809,6 +811,10 @@ const ApplicationsButton = new Lang.Clas
+@@ -795,6 +797,10 @@ class ApplicationsButton extends PanelMe
}
}
++++++ gse-sle-classic-ext.patch ++++++
--- /var/tmp/diff_new_pack.UZAvyg/_old 2018-03-14 19:23:24.634500223 +0100
+++ /var/tmp/diff_new_pack.UZAvyg/_new 2018-03-14 19:23:24.634500223 +0100
@@ -1,115 +1,7 @@
-Index: gnome-shell-extensions-3.26.1/data/gnome-classic.css
+Index: gnome-shell-extensions-3.27.91/extensions/window-list/classic.css
===================================================================
---- gnome-shell-extensions-3.26.1.orig/data/gnome-classic.css
-+++ gnome-shell-extensions-3.26.1/data/gnome-classic.css
-@@ -500,7 +500,12 @@ StScrollBar {
- color: rgba(46, 52, 54, 0.5); }
- .popup-menu.panel-menu {
- -boxpointer-gap: 4px;
-- margin-bottom: 1.75em; }
-+ /* TODO was 1.75em, no idea of its use */
-+ /* NOTE: the following creates an ugly gap between menu and its source
actor
-+when the PanelMenu's source actor is at the bottom. Preferrably for bottom
menu,
-+`margin-top` might be a better choice. However, since we have no idea about
its
-+use so reset to 0 for now. */
-+ margin-bottom: 0em; }
-
- .popup-menu-ornament {
- text-align: right;
-@@ -691,8 +696,7 @@ StScrollBar {
- margin-right: 4px; }
- #panel .panel-button .system-status-icon,
- #panel .panel-button .app-menu-icon > StIcon,
-- #panel .panel-button .popup-menu-arrow {
-- icon-shadow: 0px 1px 2px rgba(0, 0, 0, 0.9); }
-+ #panel .panel-button .popup-menu-arrow {}
- #panel .panel-button:hover {
- color: #454f52;
- text-shadow: 0px 1px 6px black; }
-@@ -901,6 +905,7 @@ StScrollBar {
- width: 31.5em; }
-
- .message-list-clear-button.button {
-+ color: black;
- background-color: transparent;
- margin: 1.5em 1.5em 0; }
- .message-list-clear-button.button:hover,
.message-list-clear-button.button:focus {
-@@ -924,7 +929,6 @@ StScrollBar {
- padding: 0.68em 0.68em 0.68em 0.2em; }
-
- .message-icon-bin > StIcon {
-- color: black;
- icon-size: 1.09em;
- -st-icon-style: symbolic; }
-
-@@ -941,11 +945,9 @@ StScrollBar {
- .message-secondary-bin > StIcon {
- icon-size: 1.09em; }
-
--.message-title {
-- color: #222728; }
-+.message-title {}
-
- .message-content {
-- color: black;
- padding: 10px; }
-
- .message-media-control {
-@@ -1882,8 +1884,6 @@ StScrollBar {
- #panel {
- font-weight: normal;
- background-color: #ededed !important;
-- background-gradient-direction: vertical;
-- background-gradient-end: #e0e0e0;
- border-top-color: #666;
- /* we don't support non-uniform border-colors and
- use the top border color for any border, so we
-@@ -1892,12 +1892,12 @@ StScrollBar {
- border-bottom: 1px solid #666;
- app-icon-bottom-clip: 0px; }
- #panel:overview {
-- background-color: #000;
-- background-gradient-end: #000;
-- border-top-color: #000;
-- border-bottom: 1px solid #000; }
-+ background-color: #000 !important;
-+ background-gradient-end: #000 !important;
-+ border-top-color: #000 !important;
-+ border-bottom: 1px solid #000 !important; }
- #panel:overview .panel-button {
-- color: #fff; }
-+ color: #fff !important; }
- #panel .panel-button {
- -natural-hpadding: 8px;
- -minimum-hpadding: 4px;
-@@ -1912,8 +1912,6 @@ StScrollBar {
- icon-shadow: none; }
- #panel .panel-button:hover {
- text-shadow: none; }
-- #panel .panel-button:hover .system-status-icon {
-- icon-shadow: none; }
- #panel .panel-button .app-menu-icon {
- width: 0;
- height: 0;
-@@ -1924,12 +1922,10 @@ StScrollBar {
- #panel .panel-corner:focus {
- -panel-corner-radius: 0; }
- #panel.lock-screen, #panel.unlock-screen, #panel.login-screen {
-- background-color: rgba(46, 52, 54, 0.5);
-- background-gradient-start: rgba(46, 52, 54, 0.5);
-- background-gradient-end: rgba(46, 52, 54, 0.5);
-+ background-color: transparent !important;
- border-bottom: none; }
- #panel.lock-screen .panel-button, #panel.unlock-screen .panel-button,
#panel.login-screen .panel-button {
-- color: #eeeeec; }
-+ color: #eeeeec !important; }
- #panel .popup-menu-arrow {
- width: 0;
- height: 0; }
-Index: gnome-shell-extensions-3.26.1/extensions/window-list/classic.css
-===================================================================
---- gnome-shell-extensions-3.26.1.orig/extensions/window-list/classic.css
-+++ gnome-shell-extensions-3.26.1/extensions/window-list/classic.css
+--- gnome-shell-extensions-3.27.91.orig/extensions/window-list/classic.css
++++ gnome-shell-extensions-3.27.91/extensions/window-list/classic.css
@@ -6,7 +6,7 @@
height: 2.25em ;
}
@@ -151,11 +43,11 @@
color: #888;
box-shadow: inset -1px -1px 1px rgba(0,0,0,0.5);
}
-Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
+Index: gnome-shell-extensions-3.27.91/extensions/window-list/extension.js
===================================================================
---- gnome-shell-extensions-3.26.1.orig/extensions/window-list/extension.js
-+++ gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
-@@ -28,6 +28,401 @@ const GroupingMode = {
+--- gnome-shell-extensions-3.27.91.orig/extensions/window-list/extension.js
++++ gnome-shell-extensions-3.27.91/extensions/window-list/extension.js
+@@ -27,6 +27,395 @@ const GroupingMode = {
ALWAYS: 2
};
@@ -164,10 +56,8 @@
+}
+
+// NOTE: call `initializeWindowList` explicitly to finish initialization.
-+var PureWinList = new Lang.Class({
-+ Name: 'PureWinList',
-+
-+ _init: function(perMonitor, monitor, maxWidthFunc) {
++class PureWinList {
++ constructor(perMonitor, monitor, maxWidthFunc) {
+ // NOTE: in SLE Classic `PureWinList` will NOT use any multiple
monitor
+ // support, the following is kept for use in GNOME Classic as we try
to
+ // unify code for two sides.
@@ -186,25 +76,25 @@
+ x_expand: true,
+ y_expand: true });
+
-+ this.actor.connect('style-changed', Lang.bind(this, function() {
++ this.actor.connect('style-changed', () => {
+ let node = this.actor.get_theme_node();
+ let spacing = node.get_length('spacing');
+ this.actor.layout_manager.spacing = spacing;
-+ }));
-+ this.actor.connect('scroll-event', Lang.bind(this,
this._onScrollEvent));
-+ this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
++ });
++ this.actor.connect('scroll-event', this._onScrollEvent.bind(this));
++ this.actor.connect('destroy', this._onDestroy.bind(this));
+
+ this._appSystem = Shell.AppSystem.get_default();
+ this._appStateChangedId =
+ this._appSystem.connect('app-state-changed',
-+ Lang.bind(this, this._onAppStateChanged));
++ this._onAppStateChanged.bind(this));
+
+ this._settings = Convenience.getSettings();
+
+ // Grouping
+ this._groupingModeChangedId =
+ this._settings.connect('changed::grouping-mode',
-+ Lang.bind(this,
this._groupingModeChanged));
++ this._groupingModeChanged.bind(this));
+ this._grouped = undefined;
+ // NOTE: do NOT `_checkGrouping` here
+
@@ -212,45 +102,45 @@
+ this._workspaceSignals = new Map();
+ this._nWorkspacesChangedId =
+ global.screen.connect('notify::n-workspaces',
-+ Lang.bind(this, this._onWorkspacesChanged));
++ this._onWorkspacesChanged.bind(this));
+ this._onWorkspacesChanged();
+
+ this._switchWorkspaceId =
+ global.window_manager.connect('switch-workspace',
-+ Lang.bind(this,
this._checkGrouping));
++ this._checkGrouping.bind(this));
+
+ // Hide and Show with Overview
+ this._overviewShowingId =
-+ Main.overview.connect('showing', Lang.bind(this, function() {
++ Main.overview.connect('showing', () => {
+ this.actor.hide();
-+ }));
++ });
+
+ this._overviewHidingId =
-+ Main.overview.connect('hiding', Lang.bind(this, function() {
++ Main.overview.connect('hiding', () => {
+ this.actor.show();
-+ }));
++ });
+
+ this._groupingMode = this._settings.get_enum('grouping-mode');
-+ },
++ }
+
-+ _getDynamicWorkspacesSettings: function() {
++ _getDynamicWorkspacesSettings() {
+ if (this._workspaceSettings.list_keys().indexOf('dynamic-workspaces')
> -1)
+ return this._workspaceSettings;
+ return this._mutterSettings;
-+ },
++ }
+
+ // NOTE: an API for parent panel to refresh the window list. This is
+ // necessary as window/app buttons require its parents having allocation
and
+ // positioning *completed* before being properly allocated and positioned
-+ initializeWindowList: function() {
++ initializeWindowList() {
+ this._groupingModeChanged();
-+ },
++ }
+
+ // NOTE: support scrolling in window list s.t. scrolling activate window
+ // buttons sequentially.
+ //
+ // *Code is rewritten*.
-+ _onScrollEvent: function(actor, event) {
++ _onScrollEvent(actor, event) {
+ let direction = event.get_scroll_direction();
+ let diff = 0;
+ if (direction === Clutter.ScrollDirection.DOWN)
@@ -282,9 +172,9 @@
+
+ // TODO: no need to call `deactivate` for old `active button` ?
+ buttons[activeBtnIdx].activate();
-+ },
++ }
+
-+ _onAppStateChanged: function(appSys, app) {
++ _onAppStateChanged(appSys, app) {
+ if (!this._grouped)
+ return;
+
@@ -292,17 +182,17 @@
+ this._addApp(app);
+ else if (app.state == Shell.AppState.STOPPED)
+ this._removeApp(app);
-+ },
++ }
+
-+ _addApp: function(app) {
++ _addApp(app) {
+ let button = new AppButton(app, this._perMonitor,
this._monitor.index);
+ this.actor.layout_manager.pack(button.actor,
+ true, true, true,
+ Clutter.BoxAlignment.START,
+ Clutter.BoxAlignment.START)
-+ },
++ }
+
-+ _removeApp: function(app) {
++ _removeApp(app) {
+ let children = this.actor.get_children();
+ for (let i = 0; i < children.length; i++) {
+ if (children[i]._delegate.app === app) {
@@ -310,9 +200,9 @@
+ return;
+ }
+ }
-+ },
++ }
+
-+ _groupingModeChanged: function() {
++ _groupingModeChanged() {
+ this._groupingMode = this._settings.get_enum('grouping-mode');
+
+ if (this._groupingMode == GroupingMode.AUTO) {
@@ -321,9 +211,9 @@
+ this._grouped = ( this._groupingMode === GroupingMode.ALWAYS );
+ this._populateWindowList();
+ }
-+ },
++ }
+
-+ _checkGrouping: function() {
++ _checkGrouping() {
+ if (this._groupingMode != GroupingMode.AUTO)
+ return;
+
@@ -355,9 +245,9 @@
+ this._grouped = grouped;
+ this._populateWindowList();
+ }
-+ },
++ }
+
-+ _populateWindowList: function() {
++ _populateWindowList() {
+ this.actor.destroy_all_children();
+
+ if (!this._grouped) {
@@ -377,11 +267,11 @@
+ for (let i = 0; i < apps.length; i++)
+ this._addApp(apps[i]);
+ }
-+ },
++ }
+
+ // NOTE the `ws` params in the following two are not used (necessarily be
+ // here as the event handler Interface dictates).
-+ _onWindowAdded: function(ws, win) {
++ _onWindowAdded(ws, win) {
+ if (win.skip_taskbar)
+ return;
+
@@ -402,9 +292,9 @@
+ true, true, true,
+ Clutter.BoxAlignment.START,
+ Clutter.BoxAlignment.START);
-+ },
++ }
+
-+ _onWindowRemoved: function(ws, win) {
++ _onWindowRemoved(ws, win) {
+ if (this._grouped)
+ this._checkGrouping();
+
@@ -423,9 +313,9 @@
+ return;
+ }
+ }
-+ },
++ }
+
-+ _getPreferredUngroupedWindowListWidth: function() {
++ _getPreferredUngroupedWindowListWidth() {
+ if (this.actor.get_n_children() == 0)
+ return this.actor.get_preferred_width(-1)[1];
+
@@ -435,19 +325,16 @@
+
+ let workspace = global.screen.get_active_workspace();
+ let windows = global.display.get_tab_list(Meta.TabList.NORMAL,
workspace);
-+ if (this._perMonitor) {
-+ windows = windows.filter(Lang.bind(this, function(window) {
-+ return window.get_monitor() == this._monitor.index;
-+ }));
-+ }
++ if (this._perMonitor)
++ windows = windows.filter(w => w.get_monitor() ==
this._monitor.index);
+ let nWindows = windows.length;
+ if (nWindows == 0)
+ return this.actor.get_preferred_width(-1)[1];
+
+ return nWindows * childWidth + (nWindows - 1) * spacing;
-+ },
++ }
+
-+ _onWorkspacesChanged: function() {
++ _onWorkspacesChanged() {
+ let numWorkspaces = global.screen.n_workspaces;
+ for (let i = 0; i < numWorkspaces; i++) {
+ let workspace = global.screen.get_workspace_by_index(i);
@@ -457,15 +344,15 @@
+ let signals = { windowAddedId: 0, windowRemovedId: 0 };
+ signals._windowAddedId =
+ workspace.connect_after('window-added',
-+ Lang.bind(this, this._onWindowAdded));
++ this._onWindowAdded.bind(this));
+ signals._windowRemovedId =
+ workspace.connect('window-removed',
-+ Lang.bind(this, this._onWindowRemoved));
++ this._onWindowRemoved.bind(this));
+ this._workspaceSignals.set(workspace, signals);
+ }
-+ },
++ }
+
-+ _disconnectWorkspaceSignals: function() {
++ _disconnectWorkspaceSignals() {
+ let numWorkspaces = global.screen.n_workspaces;
+ for (let i = 0; i < numWorkspaces; i++) {
+ let workspace = global.screen.get_workspace_by_index(i);
@@ -474,9 +361,9 @@
+ workspace.disconnect(signals._windowAddedId);
+ workspace.disconnect(signals._windowRemovedId);
+ }
-+ },
++ }
+
-+ _onDestroy: function() {
++ _onDestroy() {
+ Main.overview.disconnect(this._overviewHidingId);
+ this._overviewHidingId = 0;
+ Main.overview.disconnect(this._overviewShowingId);
@@ -498,15 +385,14 @@
+ for (let i = 0; i < windows.length; i++)
+ windows[i].metaWindow.set_icon_geometry(null);
+ }
-+});
++};
+
-+var SCExtension = new Lang.Class({
-+ Name: 'SCExtension',
-+ _init: function() {
++class SCExtension {
++ constructor() {
+ this._pureWinList = null;
-+ },
++ }
+
-+ enable: function() {
++ enable() {
+ // NOTE For SLE Classic, a window list is shown on Main panel ONLY
+ let showOnAllMonitors = false;
+ // NOTE Use a guessed value passed to `PureWinList` as `checkGrouping`
@@ -537,9 +423,9 @@
+ // NOTE: IMO, no need to rebuild `_pureWinList` when monitors changed.
+ // No need for `showOnAllMonitors` change either even this option
+ // changes.
-+ },
++ }
+
-+ disable: function() {
++ disable() {
+ if (!this._pureWinList)
+ return;
+
@@ -547,18 +433,18 @@
+ this._pureWinList.actor.destroy();
+
+ this._pureWinList = null;
-+ },
++ }
+
+ // NOTE: this function is used for multiple window list situations,
invalid for SCExtension case, let's return false.
-+ someWindowListContains: function(actor) {
++ someWindowListContains(actor) {
+ return false;
+ }
-+});
++};
function _minimizeOrActivateWindow(window) {
let focusWindow = global.display.focus_window;
-@@ -1302,5 +1697,10 @@ const Extension = new Lang.Class({
- });
+@@ -1258,5 +1647,10 @@ class Extension {
+ };
function init() {
- return new Extension();
@@ -569,10 +455,10 @@
+ return new Extension();
+ }
}
-Index: gnome-shell-extensions-3.26.1/extensions/window-list/stylesheet.css
+Index: gnome-shell-extensions-3.27.91/extensions/window-list/stylesheet.css
===================================================================
---- gnome-shell-extensions-3.26.1.orig/extensions/window-list/stylesheet.css
-+++ gnome-shell-extensions-3.26.1/extensions/window-list/stylesheet.css
+--- gnome-shell-extensions-3.27.91.orig/extensions/window-list/stylesheet.css
++++ gnome-shell-extensions-3.27.91/extensions/window-list/stylesheet.css
@@ -79,6 +79,10 @@
border: 1px solid #cccccc;
}