Compare commits
1 Commits
3.12.2
...
wip/quadbu
Author | SHA1 | Date | |
---|---|---|---|
![]() |
b80641f45d |
18
NEWS
18
NEWS
@@ -1,21 +1,3 @@
|
||||
3.12.2
|
||||
======
|
||||
* Fix turning off airplane mode [Giovanni; #728512]
|
||||
* Handle empty VPN keyfiles [Adel; #728681]
|
||||
* Fix setting zero-level in osdWindow [Bastien; #727384]
|
||||
* Fix removal of multiple workspace thumbnails at once [Florian; #728820]
|
||||
* Make airplane mode menu insensitive in lock screen [Giovanni; #729224]
|
||||
* Fix keynav for alternatives in AltSwitcher [Florian; #727259]
|
||||
* Fix zombie search providers showing up [Jasper; #728597]
|
||||
|
||||
Contributors:
|
||||
Giovanni Campagna, Adel Gadllah, Florian Müllner, Bastien Nocera,
|
||||
Jasper St. Pierre
|
||||
|
||||
Translations:
|
||||
Wouter Bolsterlee [nl], Daniel Korostil [uk], Ihar Hrachyshka [be],
|
||||
Giovanni Campagna [it], Carles Ferrando [ca@valencia]
|
||||
|
||||
3.12.1
|
||||
======
|
||||
* Ensure the currently focused app icon is viewable [Rui; #726759]
|
||||
|
@@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.12.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.12.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
|
@@ -2057,6 +2057,11 @@ StScrollBar StButton#vhandle:active {
|
||||
font-size: 10pt;
|
||||
}
|
||||
|
||||
/* Restart message */
|
||||
.restart-message {
|
||||
font-size: 14pt;
|
||||
}
|
||||
|
||||
/* ShellMountOperation Dialogs */
|
||||
.shell-mount-operation-icon {
|
||||
icon-size: 48px;
|
||||
|
@@ -597,7 +597,9 @@ const LayoutManager = new Lang.Class({
|
||||
reactive: true });
|
||||
this.addChrome(this._coverPane);
|
||||
|
||||
if (Main.sessionMode.isGreeter) {
|
||||
if (Meta.is_restart()) {
|
||||
// On restart, we don't do an animation
|
||||
} else if (Main.sessionMode.isGreeter) {
|
||||
this.panelBox.translation_y = -this.panelBox.height;
|
||||
} else {
|
||||
this._updateBackgrounds();
|
||||
@@ -635,7 +637,9 @@ const LayoutManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_startupAnimation: function() {
|
||||
if (Main.sessionMode.isGreeter)
|
||||
if (Meta.is_restart())
|
||||
this._startupAnimationComplete();
|
||||
else if (Main.sessionMode.isGreeter)
|
||||
this._startupAnimationGreeter();
|
||||
else
|
||||
this._startupAnimationSession();
|
||||
|
@@ -18,6 +18,7 @@ const ExtensionSystem = imports.ui.extensionSystem;
|
||||
const ExtensionDownloader = imports.ui.extensionDownloader;
|
||||
const Keyboard = imports.ui.keyboard;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const OsdWindow = imports.ui.osdWindow;
|
||||
const Overview = imports.ui.overview;
|
||||
const Panel = imports.ui.panel;
|
||||
@@ -182,6 +183,16 @@ function _initializeUI() {
|
||||
overview.toggle();
|
||||
}));
|
||||
|
||||
global.display.connect('show-restart-message', function(display, message) {
|
||||
showRestartMessage(message);
|
||||
return true;
|
||||
});
|
||||
|
||||
global.display.connect('restart', function() {
|
||||
global.reexec_self();
|
||||
return true;
|
||||
});
|
||||
|
||||
// Provide the bus object for gnome-session to
|
||||
// initiate logouts.
|
||||
EndSessionDialog.init();
|
||||
@@ -613,3 +624,28 @@ function queueDeferredWork(workId) {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
const RestartMessage = new Lang.Class({
|
||||
Name: 'RestartMessage',
|
||||
Extends: ModalDialog.ModalDialog,
|
||||
|
||||
_init : function(message) {
|
||||
this.parent({ shellReactive: true,
|
||||
styleClass: 'restart-message',
|
||||
shouldFadeIn: false,
|
||||
destroyOnClose: true });
|
||||
|
||||
let label = new St.Label({ text: message });
|
||||
|
||||
this.contentLayout.add(label, { x_fill: false,
|
||||
y_fill: false,
|
||||
x_align: St.Align.MIDDLE,
|
||||
y_align: St.Align.MIDDLE });
|
||||
this.buttonLayout.hide();
|
||||
}
|
||||
});
|
||||
|
||||
function showRestartMessage(message) {
|
||||
let restartMessage = new RestartMessage(message);
|
||||
restartMessage.open();
|
||||
}
|
||||
|
@@ -43,6 +43,7 @@ const ModalDialog = new Lang.Class({
|
||||
styleClass: null,
|
||||
keybindingMode: Shell.KeyBindingMode.SYSTEM_MODAL,
|
||||
shouldFadeIn: true,
|
||||
shouldFadeOut: true,
|
||||
destroyOnClose: true });
|
||||
|
||||
this.state = State.CLOSED;
|
||||
@@ -50,6 +51,7 @@ const ModalDialog = new Lang.Class({
|
||||
this._keybindingMode = params.keybindingMode;
|
||||
this._shellReactive = params.shellReactive;
|
||||
this._shouldFadeIn = params.shouldFadeIn;
|
||||
this._shouldFadeOut = params.shouldFadeOut;
|
||||
this._destroyOnClose = params.destroyOnClose;
|
||||
|
||||
this._group = new St.Widget({ visible: false,
|
||||
@@ -307,6 +309,15 @@ const ModalDialog = new Lang.Class({
|
||||
return true;
|
||||
},
|
||||
|
||||
_closeComplete: function() {
|
||||
this.state = State.CLOSED;
|
||||
this._group.hide();
|
||||
this.emit('closed');
|
||||
|
||||
if (this._destroyOnClose)
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
close: function(timestamp) {
|
||||
if (this.state == State.CLOSED || this.state == State.CLOSING)
|
||||
return;
|
||||
@@ -315,20 +326,16 @@ const ModalDialog = new Lang.Class({
|
||||
this.popModal(timestamp);
|
||||
this._savedKeyFocus = null;
|
||||
|
||||
Tweener.addTween(this._group,
|
||||
{ opacity: 0,
|
||||
time: OPEN_AND_CLOSE_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: Lang.bind(this,
|
||||
function() {
|
||||
this.state = State.CLOSED;
|
||||
this._group.hide();
|
||||
this.emit('closed');
|
||||
|
||||
if (this._destroyOnClose)
|
||||
this.destroy();
|
||||
})
|
||||
});
|
||||
if (this._shouldFadeOut)
|
||||
Tweener.addTween(this._group,
|
||||
{ opacity: 0,
|
||||
time: OPEN_AND_CLOSE_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: Lang.bind(this,
|
||||
this._closeComplete)
|
||||
})
|
||||
else
|
||||
this._closeComplete();
|
||||
},
|
||||
|
||||
// Drop modal status without closing the dialog; this makes the
|
||||
|
@@ -50,14 +50,10 @@ const RunDialog = new Lang.Class({
|
||||
Main.createLookingGlass().open();
|
||||
}),
|
||||
|
||||
'r': Lang.bind(this, function() {
|
||||
global.reexec_self();
|
||||
}),
|
||||
'r': Lang.bind(this, this._restart),
|
||||
|
||||
// Developer brain backwards compatibility
|
||||
'restart': Lang.bind(this, function() {
|
||||
global.reexec_self();
|
||||
}),
|
||||
'restart': Lang.bind(this, this._restart),
|
||||
|
||||
'debugexit': Lang.bind(this, function() {
|
||||
Meta.quit(Meta.ExitCode.ERROR);
|
||||
@@ -271,6 +267,12 @@ const RunDialog = new Lang.Class({
|
||||
}
|
||||
},
|
||||
|
||||
_restart: function() {
|
||||
this._shouldFadeOut = false;
|
||||
this.close();
|
||||
Meta.restart('Restarting...');
|
||||
},
|
||||
|
||||
open: function() {
|
||||
this._history.lastItem();
|
||||
this._errorBox.hide();
|
||||
|
@@ -68,9 +68,6 @@ const SearchSystem = new Lang.Class({
|
||||
_unregisterProvider: function (provider) {
|
||||
let index = this._providers.indexOf(provider);
|
||||
this._providers.splice(index, 1);
|
||||
|
||||
if (provider.display)
|
||||
provider.display.destroy();
|
||||
},
|
||||
|
||||
getProviders: function() {
|
||||
|
Reference in New Issue
Block a user