Accepting request 584702 from GNOME:Factory
Scripted push of project GNOME:Next (forwarded request 583538 from dimstar) OBS-URL: https://build.opensuse.org/request/show/584702 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gnome-shell-extensions?expand=0&rev=76
This commit is contained in:
commit
a233f4d9f2
@ -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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
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() {
|
||||
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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+ }
|
||||
+ this._button.selectCategory(null, null);
|
||||
+ this._button.menu.toggle();
|
||||
+ }));
|
||||
+ });
|
||||
+
|
||||
+ Main.uiGroup.add_actor(this._menu.actor);
|
||||
+
|
||||
@ -133,8 +133,8 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+ this._menuManager.ignoreRelease();
|
||||
+
|
||||
+ return false;
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
activate: function(event) {
|
||||
activate(event) {
|
||||
this._app.open_new_window(-1);
|
||||
this._button.selectCategory(null, null);
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:aefda4d810ef5ceb9402e2d620f4bdc1dc40c9cc4f6a51749840f7dd08628ab6
|
||||
size 348720
|
3
gnome-shell-extensions-3.27.92.tar.xz
Normal file
3
gnome-shell-extensions-3.27.92.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c56448090c039441a330ca66bb14cc2b46762ad84b2539b75bde4dbcb6e2d2b0
|
||||
size 198804
|
@ -1,41 +0,0 @@
|
||||
From 9e9064463b6a175d39ed1bda5e10a2a51f9db962 Mon Sep 17 00:00:00 2001
|
||||
From: Xiaoguang Wang <xwang@suse.com>
|
||||
Date: Sat, 4 Nov 2017 15:16:29 +0800
|
||||
Subject: [PATCH] window-list: App icon not shown on the taskbar
|
||||
|
||||
Some application can't show icon when working in wayland.
|
||||
Use application state change signal to update app icon.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=745064
|
||||
---
|
||||
extensions/window-list/extension.js | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js
|
||||
index f01b872..6d341ce 100644
|
||||
--- a/extensions/window-list/extension.js
|
||||
+++ b/extensions/window-list/extension.js
|
||||
@@ -167,6 +167,11 @@ const WindowTitle = new Lang.Class({
|
||||
this._notifyAppId =
|
||||
this._metaWindow.connect('notify::gtk-application-id',
|
||||
Lang.bind(this, this._updateIcon));
|
||||
+
|
||||
+ let appSys = Shell.AppSystem.get_default();
|
||||
+ this._appStateChangedSignalId =
|
||||
+ appSys.connect('app-state-changed', Lang.bind(this, this._updateIcon));
|
||||
+
|
||||
this._updateIcon();
|
||||
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
@@ -210,6 +215,9 @@ const WindowTitle = new Lang.Class({
|
||||
this._metaWindow.disconnect(this._notifyMinimizedId);
|
||||
this._metaWindow.disconnect(this._notifyWmClass);
|
||||
this._metaWindow.disconnect(this._notifyAppId);
|
||||
+
|
||||
+ let appSys = Shell.AppSystem.get_default();
|
||||
+ appSys.disconnect(this._appStateChangedSignalId);
|
||||
}
|
||||
});
|
||||
|
||||
--
|
||||
2.13.6
|
@ -1,3 +1,56 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 6 10:26:32 UTC 2018 - dimstar@opensuse.org
|
||||
|
||||
- Update to version 3.27.92:
|
||||
+ Updated translations.
|
||||
- Drop gse-build-fixes.patch: fixed upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 5 06:24:23 UTC 2018 - xwang@suse.com
|
||||
|
||||
- Rebase gse-sle-classic-ext.patch (bsc#1082345).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 28 16:29:39 UTC 2018 - dimstar@opensuse.org
|
||||
|
||||
- Modernize spec-file by calling spec-cleaner
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Feb 24 03:01:16 UTC 2018 - xwang@suse.com
|
||||
|
||||
- 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 - dimstar@opensuse.org
|
||||
|
||||
- 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.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 8 00:42:44 UTC 2018 - xwang@suse.com
|
||||
|
||||
@ -18,6 +71,13 @@ Thu Dec 14 01:29:21 UTC 2017 - xwang@suse.com
|
||||
+ Update sle-classic.desktop
|
||||
+ Update sle-classic-xorg.desktop
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 29 03:27:01 UTC 2017 - badshah400@gmail.com
|
||||
|
||||
- Update to version 3.27.1:
|
||||
+ Updated translations.
|
||||
- Rebase gnome-shell-add-app-to-desktop.patch.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 24 01:02:22 UTC 2017 - xwang@suse.com
|
||||
|
||||
|
@ -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 @@ Patch1: gnome-shell-add-app-to-desktop.patch
|
||||
Patch2: gnome-shell-favorites-menu-at-end.patch
|
||||
# PATCH-FEATURE-SLE sle-classic-lock-screen-background.patch bsc#1007468 xwang@suse.com -- 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 xwang@suse.com -- 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 cxiong@suse.com -- add sle classic support
|
||||
Patch1000: gse-sle-classic-ext.patch
|
||||
@ -51,7 +49,9 @@ BuildRequires: gnome-patch-translation
|
||||
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 @@ translation-update-upstream
|
||||
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 @@ sed -i -e 's/openSUSE/SUSE Linux Enterprise/g' README.SUSE
|
||||
%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/window-list@gnome-shell-extensions.gcampax.github.com/classic.css \
|
||||
@ -170,13 +168,17 @@ ln -s %{_sysconfdir}/alternatives/default-waylandsession.desktop %{buildroot}%{_
|
||||
%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
|
||||
|
@ -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 @@ Index: gnome-shell-extensions-3.26.1/extensions/apps-menu/extension.js
|
||||
+ 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
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/classic.css
|
||||
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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+}
|
||||
+
|
||||
+// 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+
|
||||
+ // 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _groupingModeChanged: function() {
|
||||
+ _groupingModeChanged() {
|
||||
+ this._groupingMode = this._settings.get_enum('grouping-mode');
|
||||
+
|
||||
+ if (this._groupingMode == GroupingMode.AUTO) {
|
||||
@ -321,9 +211,9 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ this._grouped = ( this._groupingMode === GroupingMode.ALWAYS );
|
||||
+ this._populateWindowList();
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _checkGrouping: function() {
|
||||
+ _checkGrouping() {
|
||||
+ if (this._groupingMode != GroupingMode.AUTO)
|
||||
+ return;
|
||||
+
|
||||
@ -355,9 +245,9 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ this._grouped = grouped;
|
||||
+ this._populateWindowList();
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _populateWindowList: function() {
|
||||
+ _populateWindowList() {
|
||||
+ this.actor.destroy_all_children();
|
||||
+
|
||||
+ if (!this._grouped) {
|
||||
@ -377,11 +267,11 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ return;
|
||||
+ }
|
||||
+ }
|
||||
+ },
|
||||
+ }
|
||||
+
|
||||
+ _getPreferredUngroupedWindowListWidth: function() {
|
||||
+ _getPreferredUngroupedWindowListWidth() {
|
||||
+ if (this.actor.get_n_children() == 0)
|
||||
+ return this.actor.get_preferred_width(-1)[1];
|
||||
+
|
||||
@ -435,19 +325,16 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ // 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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 @@ Index: gnome-shell-extensions-3.26.1/extensions/window-list/extension.js
|
||||
+ 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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user