* debian/patches/fix-applications-menu-resolution-change.patch:

- Backport commit to not break applications menu when screen resolution
    changes
* debian/patches/fix-hibernate.patch:
  - Backport patch to fix checking whether hibernate is allowed
* debian/patches/look-in-data-home-for-themes.patch:
  - Backport commit to also look in XDG_DATA_HOME (usually ~/.local/share/)
    for user themes
This commit is contained in:
Jeremy Bicha
2013-07-21 21:01:44 +00:00
parent 2db7b6756d
commit ad52e75e97
5 changed files with 129 additions and 1 deletions

10
debian/changelog vendored
View File

@@ -8,10 +8,18 @@ gnome-shell-extensions (3.8.3.1-1) UNRELEASED; urgency=low
- Update homepage
* debian/patches/dont-require-nautilus-classic.patch:
- Don't require nautilus-classic since it forces desktop icons
* debian/patches/fix-applications-menu-resolution-change.patch:
- Backport commit to not break applications menu when screen resolution
changes
* debian/patches/fix-hibernate.patch:
- Backport patch to fix checking whether hibernate is allowed
* debian/patches/look-in-data-home-for-themes.patch:
- Backport commit to also look in XDG_DATA_HOME (usually ~/.local/share/)
for user themes
* debian/rules:
- Run autoreconf
-- Jeremy Bicha <jbicha@ubuntu.com> Sat, 08 Jun 2013 19:46:26 -0400
-- Jeremy Bicha <jbicha@ubuntu.com> Sat, 21 Jul 2013 19:01:26 -0400
gnome-shell-extensions (3.8.2-1) experimental; urgency=low

View File

@@ -0,0 +1,70 @@
From a2f14c57c5855a6214aeb66be159ed2a986783f9 Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna@src.gnome.org>
Date: Thu, 04 Jul 2013 13:45:04 +0000
Subject: apps-menu: don't store the hot corner at creation
HotCorners become invalid when the xrandr configuration changes,
so instead of storing it fetch it directly from layoutManager when
needed.
https://bugzilla.gnome.org/show_bug.cgi?id=702038
---
diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js
index 8e6a4a2..a822d44 100644
--- a/extensions/apps-menu/extension.js
+++ b/extensions/apps-menu/extension.js
@@ -227,24 +227,23 @@ const ApplicationsMenu = new Lang.Class({
Name: 'ApplicationsMenu',
Extends: PopupMenu.PopupMenu,
- _init: function(sourceActor, arrowAlignment, arrowSide, button, hotCorner) {
+ _init: function(sourceActor, arrowAlignment, arrowSide, button) {
this.parent(sourceActor, arrowAlignment, arrowSide);
this._button = button;
- this._hotCorner = hotCorner;
},
open: function(animate) {
- this._hotCorner.setBarrierSize(0);
- if (this._hotCorner.actor) // fallback corner
- this._hotCorner.actor.hide();
+ this._button.hotCorner.setBarrierSize(0);
+ if (this._button.hotCorner.actor) // fallback corner
+ this._button.hotCorner.actor.hide();
this.parent(animate);
},
close: function(animate) {
let size = Main.layoutManager.panelBox.height;
- this._hotCorner.setBarrierSize(size);
- if (this._hotCorner.actor) // fallback corner
- this._hotCorner.actor.show();
+ this._button.hotCorner.setBarrierSize(size);
+ if (this._button.hotCorner.actor) // fallback corner
+ this._button.hotCorner.actor.show();
this.parent(animate);
},
@@ -265,9 +264,8 @@ const ApplicationsButton = new Lang.Class({
_init: function() {
this.parent(1.0, null, false);
- this._hotCorner = Main.layoutManager.hotCorners[Main.layoutManager.primaryIndex];
- this.setMenu(new ApplicationsMenu(this.actor, 1.0, St.Side.TOP, this, this._hotCorner));
+ this.setMenu(new ApplicationsMenu(this.actor, 1.0, St.Side.TOP, this));
Main.panel.menuManager.addMenu(this.menu);
// At this moment applications menu is not keyboard navigable at
@@ -310,6 +308,10 @@ const ApplicationsButton = new Lang.Class({
}));
},
+ get hotCorner() {
+ return Main.layoutManager.hotCorners[Main.layoutManager.primaryIndex];
+ },
+
_createVertSeparator: function() {
let separator = new St.DrawingArea({ style_class: 'calendar-vertical-separator',
pseudo_class: 'highlighted' });

24
debian/patches/fix-hibernate.patch vendored Normal file
View File

@@ -0,0 +1,24 @@
From 6fbc63e9e6f19aa992ba01cbd905bf486a888bba Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna@src.gnome.org>
Date: Thu, 04 Jul 2013 14:46:25 +0000
Subject: alternative-status-menu: unpack the result of CanHibernate
The DBus call yields a GVariant, which we need to unpack to
obtain the JS value to compare.
https://bugzilla.gnome.org/show_bug.cgi?id=702300
---
diff --git a/extensions/alternative-status-menu/extension.js b/extensions/alternative-status-menu/extension.js
index 44c4f75..4285edd 100644
--- a/extensions/alternative-status-menu/extension.js
+++ b/extensions/alternative-status-menu/extension.js
@@ -47,7 +47,7 @@ function loginManager_canHibernate(asyncCallback) {
let result, error;
try {
- result = proxy.call_finish(asyncResult);
+ result = proxy.call_finish(asyncResult).deep_unpack();
} catch(e) {
error = e;
}

View File

@@ -0,0 +1,23 @@
From ae9df9f0010eaadc79d068c49f96c8265b181014 Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna@src.gnome.org>
Date: Sun, 14 Jul 2013 13:18:08 +0000
Subject: user-theme: look for gnome-shell themes in ~/.local/share too
Just like we look in XDG_DATA_DIRS, we should honor XDG_DATA_HOME
as well.
For compatibility reasons, we look in ~/.themes first, then ~/.local/share,
then /usr/share.
---
diff --git a/extensions/user-theme/extension.js b/extensions/user-theme/extension.js
index 7d8f922..b36d36a 100644
--- a/extensions/user-theme/extension.js
+++ b/extensions/user-theme/extension.js
@@ -45,6 +45,7 @@ const ThemeManager = new Lang.Class({
_stylesheet = _userCssStylesheet;
else {
let sysdirs = GLib.get_system_data_dirs();
+ sysdirs.unshift(GLib.get_user_data_dir());
for (let i = 0; i < sysdirs.length; i++) {
_userCssStylesheet = sysdirs[i] + '/themes/' + _themeName + '/gnome-shell/gnome-shell.css';
let file = Gio.file_new_for_path(_userCssStylesheet);

View File

@@ -1 +1,4 @@
dont-require-nautilus-classic.patch
fix-hibernate.patch
fix-applications-menu-resolution-change.patch
look-in-data-home-for-themes.patch