Accepting request 291563 from GNOME:Next

Tweak sr

OBS-URL: https://build.opensuse.org/request/show/291563
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell-extensions?expand=0&rev=77
This commit is contained in:
Dominique Leuenberger 2015-03-19 14:36:40 +00:00 committed by Git OBS Bridge
parent 1c6c690423
commit 8c21f713c3
5 changed files with 231 additions and 8 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:183477b54b0aff78ead7bbd2aa0ab813544f65d04546d81ace858662a8810a2e
size 227948

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:997e744e287000afd22ea53b38962681a731a4821b0c34504ce54b5a817ece83
size 239260

View File

@ -1,3 +1,88 @@
-------------------------------------------------------------------
Thu Mar 19 06:40:43 UTC 2015 - cxiong@suse.com
- Add gnome-shell-reload-specials-when-xdg-user-dirs-changes.patch.
Let places menu handle changes of special user directories
properly (bnc#885490, bgo#746338).
-------------------------------------------------------------------
Wed Mar 18 08:22:29 UTC 2015 - dimstar@opensuse.org
- Update to version 3.15.92:
+ classic: Update theme.
+ update for mutter API changes.
+ Updated translations.
-------------------------------------------------------------------
Thu Mar 5 17:09:53 UTC 2015 - dimstar@opensuse.org
- Update to version 3.15.91:
+ Classic: Update theme.
+ systemMonitor extension was removed, as the message tray where
it put its indicator no longer exists.
+ window-list: Adjust for gnome-shell changes.
-------------------------------------------------------------------
Sat Feb 21 11:05:16 UTC 2015 - dimstar@opensuse.org
- Update to version 3.15.90:
+ classic: Visual refresh based on new shell theme.
+ window-list: Adjust for gnome-shell changes.
+ Updated translations.
-------------------------------------------------------------------
Wed Feb 4 17:10:17 UTC 2015 - mgorse@suse.com
- Add a Recommends on gnome-shell-extensions-common-lang in
gnome-shell-classic.
-------------------------------------------------------------------
Sun Jan 25 22:58:36 UTC 2015 - zaitor@opensuse.org
- Update to version 3.15.4:
+ window-list: Improve interaction with system modal dialogs.
+ Updated translations.
-------------------------------------------------------------------
Sat Dec 20 12:15:48 UTC 2014 - zaitor@opensuse.org
- Update to version 3.15.3.1:
+ Adjust to gnome-shell change.
-------------------------------------------------------------------
Fri Dec 19 17:11:07 UTC 2014 - zaitor@opensuse.org
- Update to version 3.15.3:
+ classic-mode:
- Add high-contrast theme variant.
- Drop .desktop file.
+ places-menu: Fix error when XDG user directories are not set
up.
+ window-list: Add option to show on all monitors.
+ Updated translations.
-------------------------------------------------------------------
Wed Dec 19 17:10:33 UTC 2014 - zaitor@opensuse.org
- Update to version 3.15.2:
+ removable-drive, user-theme, window-list: Update for
gnome-shell changes.
+ apps-menu: Fix some visual glitches.
+ Fix classic mode style.
+ Updated translations.
-------------------------------------------------------------------
Wed Dec 19 17:09:33 UTC 2014 - badshah400@gmail.com
- Fix build failure by having the package own the directory
/usr/share/gnome-shell/theme.
-------------------------------------------------------------------
Wed Dec 19 17:08:33 UTC 2014 - zaitor@opensuse.org
- Update to version 3.15.1:
+ Updated translations.
-------------------------------------------------------------------
Fri Dec 19 15:20:42 UTC 2014 - zaitor@opensuse.org

View File

@ -1,7 +1,7 @@
#
# spec file for package gnome-shell-extensions
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2011 Dominique Leuenberger, Amsterdam, The Netherlands
#
# All modifications and additions to the file contributed by third parties
@ -18,14 +18,16 @@
Name: gnome-shell-extensions
Version: 3.14.3
Version: 3.15.92
Release: 0
Summary: A collection of extensions for GNOME Shell
License: GPL-2.0+
Group: System/GUI/GNOME
Url: http://live.gnome.org/GnomeShell/Extensions
Source: http://download.gnome.org/sources/gnome-shell-extensions/3.14/%{name}-%{version}.tar.xz
Source: http://download.gnome.org/sources/gnome-shell-extensions/3.15/%{name}-%{version}.tar.xz
Source1: README.SUSE
# PATCH-FIX-UPSTREAM gnome-shell-reload-specials-when-xdg-user-dirs-changes.patch bnc#885490 bgo#746338 cxiong@suse.com -- let place menu handles changes of special user directories properly
Patch1: gnome-shell-reload-specials-when-xdg-user-dirs-changes.patch
# Needed because we build a tarball generated with "git archive"
BuildRequires: gnome-common
# Needed for directory ownership
@ -65,8 +67,9 @@ Obsoletes: gnome-shell-extensions < %{version}
This package provides files common to several GNOME Shell Extensions
%package -n gnome-shell-classic
Summary: gnome-shell classic -- collection of extensions
Summary: Gnome-shell classic -- collection of extensions
Group: System/GUI/GNOME
Recommends: %{name}-common-lang
%description -n gnome-shell-classic
This GNOME Shell extension adds a power off item in the status
@ -79,6 +82,7 @@ and also installs the required session files.
%lang_package -n %{name}-common
%prep
%setup -q
%patch1 -p1
# In openSUSE GNOME, we don't launch gnome-session directly, but wrap this through a shell script, /usr/bin/gnome
sed -i "s:Exec=gnome-session:Exec=gnome:g" data/gnome-classic.desktop.in
cp %{S:1} .
@ -107,7 +111,6 @@ make %{?_smp_mflags}
%files -n gnome-shell-classic
%defattr(-,root,root)
%doc COPYING
%{_datadir}/applications/gnome-shell-classic.desktop
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.classic-overrides.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gnome.shell.extensions.window-list.gschema.xml
%{_datadir}/gnome-session/sessions/gnome-classic.session
@ -118,12 +121,14 @@ make %{?_smp_mflags}
%{_datadir}/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com/
%dir %{_datadir}/gnome-shell/modes
%{_datadir}/gnome-shell/modes/classic.json
%dir %{_datadir}/gnome-shell/theme/
%{_datadir}/gnome-shell/theme/classic-process-working.svg
%{_datadir}/gnome-shell/theme/classic-toggle-off-intl.svg
%{_datadir}/gnome-shell/theme/classic-toggle-off-us.svg
%{_datadir}/gnome-shell/theme/classic-toggle-on-intl.svg
%{_datadir}/gnome-shell/theme/classic-toggle-on-us.svg
%{_datadir}/gnome-shell/theme/gnome-classic.css
%{_datadir}/gnome-shell/theme/gnome-classic-high-contrast.css
%{_datadir}/xsessions/gnome-classic.desktop
%files common-lang -f %{name}.lang

View File

@ -0,0 +1,133 @@
From cac578ad835e4aa08e8c238c99fa2918f95813b6 Mon Sep 17 00:00:00 2001
From: Carl Xiong <xiongc05@gmail.com>
Date: Tue, 17 Mar 2015 19:30:13 +0800
Subject: [PATCH] Reload specials when XDG user dirs changes
---
extensions/places-menu/placeDisplay.js | 95 +++++++++++++++++++++++++---------
1 file changed, 70 insertions(+), 25 deletions(-)
diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js
index f7a2567..ec321bc 100644
--- a/extensions/places-menu/placeDisplay.js
+++ b/extensions/places-menu/placeDisplay.js
@@ -193,32 +193,30 @@ const PlacesManager = new Lang.Class({
network: [],
};
- let homePath = GLib.get_home_dir();
-
- this._places.special.push(new PlaceInfo('special',
- Gio.File.new_for_path(homePath),
- _("Home")));
-
- let specials = [];
- for (let i = 0; i < DEFAULT_DIRECTORIES.length; i++) {
- let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]);
- if (specialPath == null || specialPath == homePath)
- continue;
-
- let file = Gio.File.new_for_path(specialPath), info;
- try {
- info = new PlaceInfo('special', file);
- } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) {
- continue;
- }
-
- specials.push(info);
+ // unlike bookmark file, XDG's 'user-dirs.dirs' here only serves as a
+ // signal gnerator: when 'reload_user_special_dirs_cache' should be
+ // invoked, not a definitive source for user special dirs, which is
+ // handled by GLib as before.
+ this._userDirsFile = this._findUserDirsFile();
+ this._userDirsTimeoutId = 0;
+ this._userDirsMonitor = null;
+
+ if (this._userDirsFile) {
+ this._userDirsMonitor = this._userDirsFile.monitor_file(Gio.FileMonitorFlags.NONE, null);
+ this._userDirsMonitor.connect('changed', Lang.bind(this, function () {
+ if (this._userDirsTimeoutId > 0)
+ return;
+ /* Defensive event compression */
+ this._userDirsTimeoutId = Mainloop.timeout_add(100, Lang.bind(this, function () {
+ this._userDirsTimeoutId = 0;
+ this._reloadSpecial();
+ return false;
+ }));
+ }));
}
-
- specials.sort(function(a, b) {
- return GLib.utf8_collate(a.name, b.name);
- });
- this._places.special = this._places.special.concat(specials);
+ // as stated above, special will always get loaded, even
+ // 'user-dirs.dirs' are not found.
+ this._reloadSpecial();
/*
* Show devices, code more or less ported from nautilus-places-sidebar.c
@@ -248,6 +246,40 @@ const PlacesManager = new Lang.Class({
}
},
+ _reloadSpecial: function() {
+ let homePath = GLib.get_home_dir();
+ this._places.special = [];
+
+ this._places.special.push(new PlaceInfo('special',
+ Gio.File.new_for_path(homePath),
+ _("Home")));
+
+ // Reload cache s.t. the changes on disk would appear here immediately
+ GLib.reload_user_special_dirs_cache();
+ let specials = [];
+ for (let i = 0; i < DEFAULT_DIRECTORIES.length; i++) {
+ let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]);
+ if (specialPath == homePath)
+ continue;
+
+ let file = Gio.File.new_for_path(specialPath), info;
+ try {
+ info = new PlaceInfo('special', file);
+ } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) {
+ continue;
+ }
+
+ specials.push(info);
+ }
+
+ specials.sort(function(a, b) {
+ return GLib.utf8_collate(a.name, b.name);
+ });
+ this._places.special = this._places.special.concat(specials);
+
+ this.emit('special-updated');
+ },
+
_connectVolumeMonitorSignals: function() {
const signals = ['volume-added', 'volume-removed', 'volume-changed',
'mount-added', 'mount-removed', 'mount-changed',
@@ -354,6 +386,19 @@ const PlacesManager = new Lang.Class({
this.emit('network-updated');
},
+ _findUserDirsFile: function() {
+ let paths = [
+ GLib.build_filenamev([GLib.get_user_config_dir(), 'user-dirs.dirs']),
+ ];
+
+ for (let i = 0; i < paths.length; i++) {
+ if (GLib.file_test(paths[i], GLib.FileTest.EXISTS))
+ return Gio.File.new_for_path(paths[i]);
+ }
+
+ return null;
+ },
+
_findBookmarksFile: function() {
let paths = [
GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']),
--
1.8.1.4