gnome-shell: add 3.12.2 version
This commit is contained in:
parent
b6286bf481
commit
3bf7226d8c
@ -7,11 +7,11 @@
|
|||||||
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "gnome-shell-3.10.2.1";
|
name = "gnome-shell-3.12.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnome/sources/gnome-shell/3.10/${name}.tar.xz";
|
url = "mirror://gnome/sources/gnome-shell/3.12/${name}.tar.xz";
|
||||||
sha256 = "0k642y6h878v6mczx4z1zj4pjl7z4bvq02raxxwxkjyvyz2fv36j";
|
sha256 = "3ae230e8cb7a31e7b782c16ca178af5957858810788e26a6d630b69b3f85ce71";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = with gnome3;
|
buildInputs = with gnome3;
|
||||||
@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
|
|||||||
libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
|
libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
|
||||||
at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
|
at_spi2_core upower ibus gnome_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
|
||||||
|
|
||||||
|
installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
patchShebangs src/data-to-c.pl
|
patchShebangs src/data-to-c.pl
|
||||||
substituteInPlace data/Makefile --replace " install-keysDATA" ""
|
substituteInPlace data/Makefile --replace " install-keysDATA" ""
|
||||||
@ -33,14 +35,12 @@ stdenv.mkDerivation rec {
|
|||||||
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
|
||||||
--prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
|
--prefix LD_LIBRARY_PATH : "${accountservice}/lib:${ibus}/lib:${gdm}/lib" \
|
||||||
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
|
||||||
--prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:${gtk}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||||
|
|
||||||
wrapProgram "$out/libexec/gnome-shell-calendar-server" \
|
wrapProgram "$out/libexec/gnome-shell-calendar-server" \
|
||||||
--prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
--prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [ ./fix_background_corruption.patch ];
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
|
@ -1,147 +0,0 @@
|
|||||||
commit 831bd07b0d6b7055fea8317f2cdf8fd4a408c36d
|
|
||||||
Author: Jasper St. Pierre <jstpierre@mecheye.net>
|
|
||||||
Date: Thu Nov 7 17:14:47 2013 -0500
|
|
||||||
|
|
||||||
layout: Fix several issues with the background management code
|
|
||||||
|
|
||||||
If monitor-changed fires at startup, it will destroy all of the
|
|
||||||
backgrounds, but since this._isStartup is true, won't recreate any
|
|
||||||
of them. Additionally, since _bgManagers is indexed by monitor index,
|
|
||||||
if the primary index is not 0, it could become a sparse array (e.g.
|
|
||||||
[undefined, undefined, primaryBackground]), and our for loop will
|
|
||||||
crash trying to access properties of undefined.
|
|
||||||
|
|
||||||
Fix both of these issues by always creating background managers for
|
|
||||||
every monitor, hiding them on startup but only showing them after
|
|
||||||
the startup animation is complete.
|
|
||||||
|
|
||||||
One thing we need to watch out for is that while LayoutManager is
|
|
||||||
constructing, Main.uiGroup / Main.layoutManager will be undefined,
|
|
||||||
so addBackgroundMenu will fail. Fix this by passing down the uiGroup
|
|
||||||
to the background menu code.
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=709313
|
|
||||||
|
|
||||||
diff --git a/js/ui/backgroundMenu.js b/js/ui/backgroundMenu.js
|
|
||||||
index 06e698c..dcbbb39 100644
|
|
||||||
--- a/js/ui/backgroundMenu.js
|
|
||||||
+++ b/js/ui/backgroundMenu.js
|
|
||||||
@@ -13,7 +13,7 @@ const BackgroundMenu = new Lang.Class({
|
|
||||||
Name: 'BackgroundMenu',
|
|
||||||
Extends: PopupMenu.PopupMenu,
|
|
||||||
|
|
||||||
- _init: function(source) {
|
|
||||||
+ _init: function(source, layoutManager) {
|
|
||||||
this.parent(source, 0, St.Side.TOP);
|
|
||||||
|
|
||||||
this.addSettingsAction(_("Settings"), 'gnome-control-center.desktop');
|
|
||||||
@@ -22,17 +22,17 @@ const BackgroundMenu = new Lang.Class({
|
|
||||||
|
|
||||||
this.actor.add_style_class_name('background-menu');
|
|
||||||
|
|
||||||
- Main.uiGroup.add_actor(this.actor);
|
|
||||||
+ layoutManager.uiGroup.add_actor(this.actor);
|
|
||||||
this.actor.hide();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
-function addBackgroundMenu(actor) {
|
|
||||||
+function addBackgroundMenu(actor, layoutManager) {
|
|
||||||
let cursor = new St.Bin({ opacity: 0 });
|
|
||||||
- Main.uiGroup.add_actor(cursor);
|
|
||||||
+ layoutManager.uiGroup.add_actor(cursor);
|
|
||||||
|
|
||||||
actor.reactive = true;
|
|
||||||
- actor._backgroundMenu = new BackgroundMenu(cursor);
|
|
||||||
+ actor._backgroundMenu = new BackgroundMenu(cursor, layoutManager);
|
|
||||||
actor._backgroundManager = new PopupMenu.PopupMenuManager({ actor: actor });
|
|
||||||
actor._backgroundManager.addMenu(actor._backgroundMenu);
|
|
||||||
|
|
||||||
diff --git a/js/ui/layout.js b/js/ui/layout.js
|
|
||||||
index 17073a6..80bae9d 100644
|
|
||||||
--- a/js/ui/layout.js
|
|
||||||
+++ b/js/ui/layout.js
|
|
||||||
@@ -352,26 +352,26 @@ const LayoutManager = new Lang.Class({
|
|
||||||
this.emit('hot-corners-changed');
|
|
||||||
},
|
|
||||||
|
|
||||||
- _createBackground: function(monitorIndex) {
|
|
||||||
+ _addBackgroundMenu: function(bgManager) {
|
|
||||||
+ BackgroundMenu.addBackgroundMenu(bgManager.background.actor, this);
|
|
||||||
+ },
|
|
||||||
+
|
|
||||||
+ _createBackgroundManager: function(monitorIndex) {
|
|
||||||
let bgManager = new Background.BackgroundManager({ container: this._backgroundGroup,
|
|
||||||
layoutManager: this,
|
|
||||||
monitorIndex: monitorIndex });
|
|
||||||
- BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
|
|
||||||
-
|
|
||||||
- bgManager.connect('changed', Lang.bind(this, function() {
|
|
||||||
- BackgroundMenu.addBackgroundMenu(bgManager.background.actor);
|
|
||||||
- }));
|
|
||||||
|
|
||||||
- this._bgManagers[monitorIndex] = bgManager;
|
|
||||||
+ bgManager.connect('changed', Lang.bind(this, this._addBackgroundMenu));
|
|
||||||
+ this._addBackgroundMenu(bgManager);
|
|
||||||
|
|
||||||
- return bgManager.background;
|
|
||||||
+ return bgManager;
|
|
||||||
},
|
|
||||||
|
|
||||||
- _createSecondaryBackgrounds: function() {
|
|
||||||
+ _showSecondaryBackgrounds: function() {
|
|
||||||
for (let i = 0; i < this.monitors.length; i++) {
|
|
||||||
if (i != this.primaryIndex) {
|
|
||||||
- let background = this._createBackground(i);
|
|
||||||
-
|
|
||||||
+ let background = this._bgManagers[i].background;
|
|
||||||
+ background.actor.show();
|
|
||||||
background.actor.opacity = 0;
|
|
||||||
Tweener.addTween(background.actor,
|
|
||||||
{ opacity: 255,
|
|
||||||
@@ -381,10 +381,6 @@ const LayoutManager = new Lang.Class({
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
- _createPrimaryBackground: function() {
|
|
||||||
- this._createBackground(this.primaryIndex);
|
|
||||||
- },
|
|
||||||
-
|
|
||||||
_updateBackgrounds: function() {
|
|
||||||
let i;
|
|
||||||
for (i = 0; i < this._bgManagers.length; i++)
|
|
||||||
@@ -395,11 +391,12 @@ const LayoutManager = new Lang.Class({
|
|
||||||
if (Main.sessionMode.isGreeter)
|
|
||||||
return;
|
|
||||||
|
|
||||||
- if (this._startingUp)
|
|
||||||
- return;
|
|
||||||
-
|
|
||||||
for (let i = 0; i < this.monitors.length; i++) {
|
|
||||||
- this._createBackground(i);
|
|
||||||
+ let bgManager = this._createBackgroundManager(i);
|
|
||||||
+ this._bgManagers.push(bgManager);
|
|
||||||
+
|
|
||||||
+ if (i != this.primaryIndex && this._startingUp)
|
|
||||||
+ bgManager.background.actor.hide();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
@@ -595,7 +592,7 @@ const LayoutManager = new Lang.Class({
|
|
||||||
if (Main.sessionMode.isGreeter) {
|
|
||||||
this.panelBox.translation_y = -this.panelBox.height;
|
|
||||||
} else {
|
|
||||||
- this._createPrimaryBackground();
|
|
||||||
+ this._updateBackgrounds();
|
|
||||||
|
|
||||||
// We need to force an update of the regions now before we scale
|
|
||||||
// the UI group to get the coorect allocation for the struts.
|
|
||||||
@@ -673,7 +670,7 @@ const LayoutManager = new Lang.Class({
|
|
||||||
this.keyboardBox.show();
|
|
||||||
|
|
||||||
if (!Main.sessionMode.isGreeter) {
|
|
||||||
- this._createSecondaryBackgrounds();
|
|
||||||
+ this._showSecondaryBackgrounds();
|
|
||||||
global.window_group.remove_clip();
|
|
||||||
}
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user