Compare commits
3 Commits
3.35.1
...
gbsneto/dn
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
87de09a83e | ||
|
|
b65b4e3cae | ||
|
|
5880758709 |
48
NEWS
48
NEWS
@@ -1,51 +1,3 @@
|
||||
3.35.1
|
||||
======
|
||||
* Misc. bug fixes and cleanups [Marco; Matthias; !758, #701212]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño)
|
||||
|
||||
3.34.1
|
||||
======
|
||||
* Fix "Frequent" view icons disappearing on hover [Jonas D.; #1502]
|
||||
* Allow editing app folder names [Georges, Marco; !675, !720]
|
||||
* Skip property transitions while hidden [Florian; !708]
|
||||
* Make menu animations more consistent [Florian, GB_2; #1595, !717]
|
||||
* Improve performance when enabling/disabling all extensions [Jonas D.; !96]
|
||||
* Fix extra icons appearing in "Frequent" view animation [Georges; !696]
|
||||
* Fix fading out desktop icons [Harshula; #1616]
|
||||
* Fix box-shadow glitch with prerendered resources [Daniel; #1186]
|
||||
* Fix accidentally skipped animations [Florian; #1572]
|
||||
* Fix screenshots and window animations when scaled [Robert; !728]
|
||||
* Don't leak NOTIFY_SOCKET environment variable to applications [Benjamin; !741]
|
||||
* Fix lock-up on X11 when ibus is already running on startup [Marco; #1712]
|
||||
* Fix screen dimming on idle [Marco; #1683]
|
||||
* Do not notify systemd before initialization is complete [Iain; !750]
|
||||
* Support SAE secrets in network agent [Lubomir; !751]
|
||||
* Fix various regressions with dynamic workspaces [Florian; #1497]
|
||||
* Fixed crashes [Florian, Marco; #1678, !746]
|
||||
* Misc. bug fixes and cleanups [Marco, Jonas D., Florian, Iain, Georges,
|
||||
Jonas Å., Martin, Takao, Carlos; !700, !705, !709, !711, !707, #1538, !710,
|
||||
!713, !699, !715, !718, !716, !719, !721, #1243, !725, !731, #1614, !683,
|
||||
!732, !121, !735, !736, !740, #573, #1641, #1571]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Benjamin Berg, Jonas Dreßler, Takao Fujiwara, GB_2,
|
||||
Carlos Garnacho, Harshula Jayasuriya, Iain Lane, Robert Mader,
|
||||
Daniel García Moreno, Florian Müllner, Georges Basile Stavracas Neto,
|
||||
Lubomir Rintel, Martin Zurowietz, Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Rafael Fontenelle [pt_BR], Fran Dieguez [gl], Balázs Úr [hu],
|
||||
Milo Casagrande [it], Daniel Șerbănescu [ro], Kukuh Syafaat [id],
|
||||
Jiri Grönroos [fi], Daniel Mustieles [es], Piotr Drąg [pl],
|
||||
Anders Jonsson [sv], Marek Černocký [cs], Jordi Mas [ca],
|
||||
Aurimas Černius [lt], Christian Kirbach [de], Emin Tufan Çetin [tr],
|
||||
Enrico Nicoletto [pt_BR], Danial Behzadi [fa], Марко Костић [sr],
|
||||
Alexandre Franke [fr], Charles Monzat [fr], Kjartan Maraas [nb],
|
||||
Ryuta Fujii [ja], Nathan Follens [nl], Dušan Kazik [sk], Fabio Tomat [fur],
|
||||
Matej Urbančič [sl], Ask Hjorth Larsen [da], Alan Mortensen [da]
|
||||
|
||||
3.34.0
|
||||
======
|
||||
* Handle startup/shutdown of misc X11 services [Carlos; !680]
|
||||
|
||||
@@ -72,16 +72,6 @@ var IBusManager = class {
|
||||
}
|
||||
|
||||
_clear() {
|
||||
if (this._cancellable) {
|
||||
this._cancellable.cancel();
|
||||
this._cancellable = null;
|
||||
}
|
||||
|
||||
if (this._preloadEnginesId) {
|
||||
GLib.source_remove(this._preloadEnginesId);
|
||||
this._preloadEnginesId = 0;
|
||||
}
|
||||
|
||||
if (this._panelService)
|
||||
this._panelService.destroy();
|
||||
|
||||
@@ -96,41 +86,28 @@ var IBusManager = class {
|
||||
}
|
||||
|
||||
_onConnected() {
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this._ibus.list_engines_async(-1, this._cancellable,
|
||||
this._initEngines.bind(this));
|
||||
this._ibus.list_engines_async(-1, null, this._initEngines.bind(this));
|
||||
this._ibus.request_name_async(IBus.SERVICE_PANEL,
|
||||
IBus.BusNameFlag.REPLACE_EXISTING, -1, this._cancellable,
|
||||
this._initPanelService.bind(this));
|
||||
IBus.BusNameFlag.REPLACE_EXISTING,
|
||||
-1, null,
|
||||
this._initPanelService.bind(this));
|
||||
}
|
||||
|
||||
_initEngines(ibus, result) {
|
||||
try {
|
||||
let enginesList = this._ibus.list_engines_async_finish(result);
|
||||
let enginesList = this._ibus.list_engines_async_finish(result);
|
||||
if (enginesList) {
|
||||
for (let i = 0; i < enginesList.length; ++i) {
|
||||
let name = enginesList[i].get_name();
|
||||
this._engines.set(name, enginesList[i]);
|
||||
}
|
||||
this._updateReadiness();
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
|
||||
logError(e);
|
||||
} else {
|
||||
this._clear();
|
||||
}
|
||||
}
|
||||
|
||||
_initPanelService(ibus, result) {
|
||||
let success = false;
|
||||
try {
|
||||
success = !!this._ibus.request_name_async_finish(result);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
return;
|
||||
logError(e);
|
||||
}
|
||||
|
||||
let success = this._ibus.request_name_async_finish(result);
|
||||
if (success) {
|
||||
this._panelService = new IBus.PanelService({ connection: this._ibus.get_connection(),
|
||||
object_path: IBus.PATH_PANEL });
|
||||
@@ -157,7 +134,7 @@ var IBusManager = class {
|
||||
} catch (e) {
|
||||
}
|
||||
// If an engine is already active we need to get its properties
|
||||
this._ibus.get_global_engine_async(-1, this._cancellable, (_bus, result) => {
|
||||
this._ibus.get_global_engine_async(-1, null, (i, result) => {
|
||||
let engine;
|
||||
try {
|
||||
engine = this._ibus.get_global_engine_async_finish(result);
|
||||
@@ -229,18 +206,8 @@ var IBusManager = class {
|
||||
return;
|
||||
}
|
||||
|
||||
this._ibus.set_global_engine_async(id,
|
||||
this._MAX_INPUT_SOURCE_ACTIVATION_TIME,
|
||||
this._cancellable, (_bus, res) => {
|
||||
try {
|
||||
this._ibus.set_global_engine_async_finish(res);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
logError(e);
|
||||
}
|
||||
if (callback)
|
||||
callback();
|
||||
});
|
||||
this._ibus.set_global_engine_async(id, this._MAX_INPUT_SOURCE_ACTIVATION_TIME,
|
||||
null, callback || null);
|
||||
}
|
||||
|
||||
preloadEngines(ids) {
|
||||
@@ -260,7 +227,7 @@ var IBusManager = class {
|
||||
this._ibus.preload_engines_async(
|
||||
ids,
|
||||
-1,
|
||||
this._cancellable,
|
||||
null,
|
||||
null);
|
||||
this._preloadEnginesId = 0;
|
||||
return GLib.SOURCE_REMOVE;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
/* exported InputMethod */
|
||||
const { Clutter, GLib, Gio, GObject, IBus } = imports.gi;
|
||||
const { Clutter, GLib, GObject, IBus } = imports.gi;
|
||||
|
||||
const Keyboard = imports.ui.status.keyboard;
|
||||
|
||||
@@ -36,7 +36,15 @@ class InputMethod extends Clutter.InputMethod {
|
||||
}
|
||||
|
||||
_updateCapabilities() {
|
||||
let caps = IBus.Capabilite.PREEDIT_TEXT | IBus.Capabilite.FOCUS | IBus.Capabilite.SURROUNDING_TEXT;
|
||||
let caps = 0;
|
||||
|
||||
if (this.can_show_preedit)
|
||||
caps |= IBus.Capabilite.PREEDIT_TEXT;
|
||||
|
||||
if (this._currentFocus)
|
||||
caps |= IBus.Capabilite.FOCUS | IBus.Capabilite.SURROUNDING_TEXT;
|
||||
else
|
||||
caps |= IBus.Capabilite.PREEDIT_TEXT | IBus.Capabilite.AUXILIARY_TEXT | IBus.Capabilite.LOOKUP_TABLE | IBus.Capabilite.PROPERTY;
|
||||
|
||||
if (this._context)
|
||||
this._context.set_capabilities(caps);
|
||||
@@ -47,22 +55,12 @@ class InputMethod extends Clutter.InputMethod {
|
||||
}
|
||||
|
||||
_onConnected() {
|
||||
this._cancellable = new Gio.Cancellable();
|
||||
this._ibus.create_input_context_async ('gnome-shell', -1,
|
||||
this._cancellable, this._setContext.bind(this));
|
||||
this._ibus.create_input_context_async ('gnome-shell', -1, null,
|
||||
this._setContext.bind(this));
|
||||
}
|
||||
|
||||
_setContext(bus, res) {
|
||||
try {
|
||||
this._context = this._ibus.create_input_context_async_finish(res);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) {
|
||||
logError(e);
|
||||
this._clear();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
this._context = this._ibus.create_input_context_async_finish(res);
|
||||
this._context.connect('commit-text', this._onCommitText.bind(this));
|
||||
this._context.connect('delete-surrounding-text', this._onDeleteSurroundingText.bind(this));
|
||||
this._context.connect('update-preedit-text', this._onUpdatePreeditText.bind(this));
|
||||
@@ -74,11 +72,6 @@ class InputMethod extends Clutter.InputMethod {
|
||||
}
|
||||
|
||||
_clear() {
|
||||
if (this._cancellable) {
|
||||
this._cancellable.cancel();
|
||||
this._cancellable = null;
|
||||
}
|
||||
|
||||
this._context = null;
|
||||
this._hints = 0;
|
||||
this._purpose = 0;
|
||||
@@ -144,6 +137,7 @@ class InputMethod extends Clutter.InputMethod {
|
||||
this._currentFocus = focus;
|
||||
if (this._context) {
|
||||
this._context.focus_in();
|
||||
this._updateCapabilities();
|
||||
this._emitRequestSurrounding();
|
||||
}
|
||||
|
||||
@@ -155,8 +149,10 @@ class InputMethod extends Clutter.InputMethod {
|
||||
|
||||
vfunc_focus_out() {
|
||||
this._currentFocus = null;
|
||||
if (this._context)
|
||||
if (this._context) {
|
||||
this._context.focus_out();
|
||||
this._updateCapabilities();
|
||||
}
|
||||
|
||||
if (this._preeditStr) {
|
||||
// Unset any preedit text
|
||||
@@ -259,19 +255,17 @@ class InputMethod extends Clutter.InputMethod {
|
||||
if (event.type() == Clutter.EventType.KEY_RELEASE)
|
||||
state |= IBus.ModifierType.RELEASE_MASK;
|
||||
|
||||
this._context.process_key_event_async(
|
||||
event.get_key_symbol(),
|
||||
event.get_key_code() - 8, // Convert XKB keycodes to evcodes
|
||||
state, -1, this._cancellable,
|
||||
(context, res) => {
|
||||
try {
|
||||
let retval = context.process_key_event_async_finish(res);
|
||||
this.notify_key_event(event, retval);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED))
|
||||
log(`Error processing key on IM: ${e.message}`);
|
||||
}
|
||||
});
|
||||
this._context.process_key_event_async(event.get_key_symbol(),
|
||||
event.get_key_code() - 8, // Convert XKB keycodes to evcodes
|
||||
state, -1, null,
|
||||
(context, res) => {
|
||||
try {
|
||||
let retval = context.process_key_event_async_finish(res);
|
||||
this.notify_key_event(event, retval);
|
||||
} catch (e) {
|
||||
log(`Error processing key on IM: ${e.message}`);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -167,8 +167,8 @@ var Spinner = class extends AnimatedIcon {
|
||||
if (this._animate) {
|
||||
this.actor.ease({
|
||||
opacity: 0,
|
||||
duration: SPINNER_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.LINEAR,
|
||||
time: SPINNER_ANIMATION_TIME,
|
||||
transition: 'linear',
|
||||
onComplete: () => super.stop()
|
||||
});
|
||||
} else {
|
||||
|
||||
@@ -2233,7 +2233,7 @@ var AppIcon = class AppIcon {
|
||||
this.actor.ease({
|
||||
scale_x: 1,
|
||||
scale_y: 1,
|
||||
duration: APP_ICON_SCALE_IN_TIME,
|
||||
time: APP_ICON_SCALE_IN_TIME,
|
||||
delay: APP_ICON_SCALE_IN_DELAY,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUINT
|
||||
});
|
||||
|
||||
@@ -213,7 +213,6 @@ class NetworkSecretDialog extends ModalDialog.ModalDialog {
|
||||
// First the easy ones
|
||||
case 'wpa-none':
|
||||
case 'wpa-psk':
|
||||
case 'sae':
|
||||
secrets.push({ label: _("Password: "), key: 'psk',
|
||||
value: wirelessSecuritySetting.psk || '',
|
||||
validate: this._validateWpaPsk, password: true });
|
||||
|
||||
@@ -623,7 +623,7 @@ var Dash = class Dash {
|
||||
icon.icon.ease({
|
||||
width: targetWidth,
|
||||
height: targetHeight,
|
||||
duration: DASH_ANIMATION_TIME,
|
||||
time: DASH_ANIMATION_TIME,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD
|
||||
});
|
||||
}
|
||||
|
||||
15
js/ui/dnd.js
15
js/ui/dnd.js
@@ -642,12 +642,13 @@ var _Draggable = class _Draggable {
|
||||
this._dragState = DragState.CANCELLED;
|
||||
|
||||
if (this._actorDestroyed || wasCancelled) {
|
||||
let dragActor = this._dragActor;
|
||||
global.display.set_cursor(Meta.Cursor.DEFAULT);
|
||||
if (!this._buttonDown)
|
||||
this._dragComplete();
|
||||
this.emit('drag-end', eventTime, false);
|
||||
if (!this._dragOrigParent && this._dragActor)
|
||||
this._dragActor.destroy();
|
||||
if (!this._dragOrigParent && dragActor)
|
||||
dragActor.destroy();
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -702,17 +703,17 @@ var _Draggable = class _Draggable {
|
||||
}
|
||||
|
||||
_onAnimationComplete(dragActor, eventTime) {
|
||||
this.emit('drag-end', eventTime, false);
|
||||
this._finishAnimation();
|
||||
|
||||
if (this._dragOrigParent) {
|
||||
Main.uiGroup.remove_child(this._dragActor);
|
||||
this._dragOrigParent.add_actor(this._dragActor);
|
||||
Main.uiGroup.remove_child(dragActor);
|
||||
this._dragOrigParent.add_actor(dragActor);
|
||||
dragActor.set_scale(this._dragOrigScale, this._dragOrigScale);
|
||||
dragActor.set_position(this._dragOrigX, this._dragOrigY);
|
||||
} else {
|
||||
dragActor.destroy();
|
||||
}
|
||||
|
||||
this.emit('drag-end', eventTime, false);
|
||||
this._finishAnimation();
|
||||
}
|
||||
|
||||
_dragComplete() {
|
||||
|
||||
@@ -126,9 +126,6 @@ Signals.addSignalMethods(CandidateArea.prototype);
|
||||
|
||||
var CandidatePopup = class CandidatePopup {
|
||||
constructor() {
|
||||
this._dummyCursor = new St.Widget({ opacity: 0 });
|
||||
Main.layoutManager.uiGroup.add_actor(this._dummyCursor);
|
||||
|
||||
this._boxPointer = new BoxPointer.BoxPointer(St.Side.TOP);
|
||||
this._boxPointer.visible = false;
|
||||
this._boxPointer.style_class = 'candidate-popup-boxpointer';
|
||||
@@ -275,11 +272,9 @@ var CandidatePopup = class CandidatePopup {
|
||||
}
|
||||
|
||||
_setDummyCursorGeometry(x, y, w, h) {
|
||||
this._dummyCursor.set_position(Math.round(x), Math.round(y));
|
||||
this._dummyCursor.set_size(Math.round(w), Math.round(h));
|
||||
|
||||
Main.layoutManager.setDummyCursorGeometry(x, y, w, h);
|
||||
if (this._boxPointer.visible)
|
||||
this._boxPointer.setPosition(this._dummyCursor, 0);
|
||||
this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0);
|
||||
}
|
||||
|
||||
_updateVisibility() {
|
||||
@@ -289,7 +284,7 @@ var CandidatePopup = class CandidatePopup {
|
||||
this._candidateArea.actor.visible));
|
||||
|
||||
if (isVisible) {
|
||||
this._boxPointer.setPosition(this._dummyCursor, 0);
|
||||
this._boxPointer.setPosition(Main.layoutManager.dummyCursor, 0);
|
||||
this._boxPointer.open(BoxPointer.PopupAnimation.NONE);
|
||||
this._boxPointer.raise_top();
|
||||
} else {
|
||||
|
||||
@@ -185,8 +185,6 @@ var Lightbox = class Lightbox {
|
||||
this.emit('shown');
|
||||
};
|
||||
|
||||
this.actor.show();
|
||||
|
||||
if (this._radialEffect) {
|
||||
this.actor.ease_property(
|
||||
'@effects.radial.brightness', VIGNETTE_BRIGHTNESS, easeProps);
|
||||
@@ -199,6 +197,8 @@ var Lightbox = class Lightbox {
|
||||
onComplete
|
||||
}));
|
||||
}
|
||||
|
||||
this.actor.show();
|
||||
}
|
||||
|
||||
hide(fadeOutTime) {
|
||||
|
||||
@@ -428,7 +428,7 @@ var ObjInspector = class ObjInspector {
|
||||
scale_x: 1,
|
||||
scale_y: 1,
|
||||
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
|
||||
duration: 200
|
||||
time: 200
|
||||
});
|
||||
} else {
|
||||
this.actor.set_scale(1, 1);
|
||||
|
||||
@@ -229,11 +229,7 @@ function _initializeUI() {
|
||||
EndSessionDialog.init();
|
||||
|
||||
// We're ready for the session manager to move to the next phase
|
||||
GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
|
||||
Shell.util_sd_notify();
|
||||
Meta.register_with_session();
|
||||
return GLib.SOURCE_REMOVE;
|
||||
});
|
||||
Meta.register_with_session();
|
||||
|
||||
_startDate = new Date();
|
||||
|
||||
@@ -262,19 +258,6 @@ function _initializeUI() {
|
||||
});
|
||||
}
|
||||
|
||||
let credentials = new Gio.Credentials();
|
||||
if (credentials.get_unix_user() === 0) {
|
||||
notify(_('Logged in as a privileged user'),
|
||||
_('Running a session as a privileged user should be avoided for security reasons. If possible, you should log in as a normal user.'));
|
||||
}
|
||||
|
||||
if (sessionMode.currentMode !== 'gdm' &&
|
||||
sessionMode.currentMode !== 'initial-setup' &&
|
||||
screenShield === null) {
|
||||
notify(_('Screen Lock disabled'),
|
||||
_('Screen Locking requires the GNOME display manager.'));
|
||||
}
|
||||
|
||||
LoginManager.registerSessionWithGDM();
|
||||
|
||||
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
|
||||
|
||||
@@ -151,13 +151,9 @@ var GnomeShell = class {
|
||||
let connection = this._dbusImpl.get_connection();
|
||||
let info = this._dbusImpl.get_info();
|
||||
let params = { 'device-id': GLib.Variant.new('u', device.get_device_id()),
|
||||
'device-node': GLib.Variant.new('s', device.get_device_node()),
|
||||
'timestamp': GLib.Variant.new('u', timestamp),
|
||||
'action-mode': GLib.Variant.new('u', Main.actionMode) };
|
||||
|
||||
let deviceNode = device.get_device_node();
|
||||
if (deviceNode)
|
||||
params['device-node'] = GLib.Variant.new('s', deviceNode);
|
||||
|
||||
connection.emit_signal(destination,
|
||||
this._dbusImpl.get_object_path(),
|
||||
info ? info.name : null,
|
||||
|
||||
@@ -187,9 +187,6 @@ var WorkspaceTracker = class {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
workspaceManager.connect('notify::n-workspaces',
|
||||
this._nWorkspacesChanged.bind(this));
|
||||
workspaceManager.connect('workspaces-reordered', () => {
|
||||
this._workspaces.sort((a, b) => a.index() - b.index());
|
||||
});
|
||||
global.window_manager.connect('switch-workspace',
|
||||
this._queueCheckWorkspaces.bind(this));
|
||||
|
||||
@@ -1212,41 +1209,9 @@ var WindowManager = class {
|
||||
if (!Meta.prefs_get_dynamic_workspaces())
|
||||
return;
|
||||
|
||||
workspaceManager.append_new_workspace(false, global.get_current_time());
|
||||
|
||||
let windows = global.get_window_actors().map(a => a.meta_window);
|
||||
|
||||
// To create a new workspace, we slide all the windows on workspaces
|
||||
// below us to the next workspace, leaving a blank workspace for us
|
||||
// to recycle.
|
||||
windows.forEach(window => {
|
||||
// If the window is attached to an ancestor, we don't need/want
|
||||
// to move it
|
||||
if (window.get_transient_for() != null)
|
||||
return;
|
||||
// Same for OR windows
|
||||
if (window.is_override_redirect())
|
||||
return;
|
||||
// Sticky windows don't need moving, in fact moving would
|
||||
// unstick them
|
||||
if (window.on_all_workspaces)
|
||||
return;
|
||||
// Windows on workspaces below pos don't need moving
|
||||
let index = window.get_workspace().index();
|
||||
if (index < pos)
|
||||
return;
|
||||
window.change_workspace_by_index(index + 1, true);
|
||||
});
|
||||
|
||||
// If the new workspace was inserted before the active workspace,
|
||||
// activate the workspace to which its windows went
|
||||
let activeIndex = workspaceManager.get_active_workspace_index();
|
||||
if (activeIndex >= pos) {
|
||||
let newWs = workspaceManager.get_workspace_by_index(activeIndex + 1);
|
||||
this._blockAnimations = true;
|
||||
newWs.activate(global.get_current_time());
|
||||
this._blockAnimations = false;
|
||||
}
|
||||
let newWs = workspaceManager.append_new_workspace(
|
||||
false, global.get_current_time());
|
||||
workspaceManager.reorder_workspace(newWs, pos);
|
||||
}
|
||||
|
||||
keepWorkspaceAlive(workspace, duration) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell', 'c',
|
||||
version: '3.35.1',
|
||||
version: '3.34.0',
|
||||
meson_version: '>= 0.47.0',
|
||||
license: 'GPLv2+'
|
||||
)
|
||||
@@ -26,7 +26,7 @@ gio_req = '>= 2.56.0'
|
||||
gi_req = '>= 1.49.1'
|
||||
gjs_req = '>= 1.57.3'
|
||||
gtk_req = '>= 3.15.0'
|
||||
mutter_req = '>= 3.35.1'
|
||||
mutter_req = '>= 3.34.0'
|
||||
polkit_req = '>= 0.100'
|
||||
schemas_req = '>= 3.33.1'
|
||||
startup_req = '>= 0.11'
|
||||
|
||||
38
po/ja.po
38
po/ja.po
@@ -16,8 +16,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
|
||||
"POT-Creation-Date: 2019-09-22 11:29+0000\n"
|
||||
"PO-Revision-Date: 2019-10-04 23:50+0900\n"
|
||||
"POT-Creation-Date: 2019-09-17 11:44+0000\n"
|
||||
"PO-Revision-Date: 2019-09-22 20:10+0900\n"
|
||||
"Last-Translator: sicklylife <translation@sicklylife.jp>\n"
|
||||
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
|
||||
"Language: ja\n"
|
||||
@@ -466,7 +466,7 @@ msgid "Next"
|
||||
msgstr "次へ"
|
||||
|
||||
#: js/gdm/authPrompt.js:197 js/ui/shellMountOperation.js:396
|
||||
#: js/ui/unlockDialog.js:45
|
||||
#: js/ui/unlockDialog.js:42
|
||||
msgid "Unlock"
|
||||
msgstr "ロック解除"
|
||||
|
||||
@@ -599,7 +599,7 @@ msgstr "次のコマンドは解析できません:"
|
||||
#: js/misc/util.js:157
|
||||
#, javascript-format
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "“%s”の実行に失敗しました:"
|
||||
msgstr "”%s”の実行に失敗しました:"
|
||||
|
||||
#: js/misc/util.js:174
|
||||
msgid "Just now"
|
||||
@@ -754,32 +754,32 @@ msgstr "常用"
|
||||
msgid "All"
|
||||
msgstr "すべて"
|
||||
|
||||
#: js/ui/appDisplay.js:1745
|
||||
#: js/ui/appDisplay.js:1749
|
||||
msgid "Rename"
|
||||
msgstr "名前の変更"
|
||||
|
||||
#. Translators: This is the heading of a list of open windows
|
||||
#: js/ui/appDisplay.js:2418 js/ui/panel.js:76
|
||||
#: js/ui/appDisplay.js:2397 js/ui/panel.js:76
|
||||
msgid "Open Windows"
|
||||
msgstr "開いているウィンドウ"
|
||||
|
||||
#: js/ui/appDisplay.js:2437 js/ui/panel.js:83
|
||||
#: js/ui/appDisplay.js:2416 js/ui/panel.js:83
|
||||
msgid "New Window"
|
||||
msgstr "新しいウィンドウで開く"
|
||||
|
||||
#: js/ui/appDisplay.js:2449
|
||||
#: js/ui/appDisplay.js:2428
|
||||
msgid "Launch using Dedicated Graphics Card"
|
||||
msgstr "専用のグラフィックカードを使用して起動する"
|
||||
|
||||
#: js/ui/appDisplay.js:2478 js/ui/dash.js:239
|
||||
#: js/ui/appDisplay.js:2457 js/ui/dash.js:239
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "お気に入りから削除"
|
||||
|
||||
#: js/ui/appDisplay.js:2484
|
||||
#: js/ui/appDisplay.js:2463
|
||||
msgid "Add to Favorites"
|
||||
msgstr "お気に入りに追加"
|
||||
|
||||
#: js/ui/appDisplay.js:2494 js/ui/panel.js:94
|
||||
#: js/ui/appDisplay.js:2473 js/ui/panel.js:94
|
||||
msgid "Show Details"
|
||||
msgstr "詳細を表示する"
|
||||
|
||||
@@ -952,7 +952,7 @@ msgstr "消去"
|
||||
#: js/ui/closeDialog.js:42
|
||||
#, javascript-format
|
||||
msgid "“%s” is not responding."
|
||||
msgstr "“%s”の応答がありません。"
|
||||
msgstr "”%s”の応答がありません。"
|
||||
|
||||
#: js/ui/closeDialog.js:43
|
||||
msgid ""
|
||||
@@ -1043,7 +1043,7 @@ msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr ""
|
||||
"無線ネットワーク“%s”にアクセスするにはパスワードか暗号化キーが必要です。"
|
||||
"無線ネットワーク”%s”にアクセスするにはパスワードか暗号化キーが必要です。"
|
||||
|
||||
#: js/ui/components/networkAgent.js:321 js/ui/components/networkAgent.js:696
|
||||
msgid "Wired 802.1X authentication"
|
||||
@@ -1077,7 +1077,7 @@ msgstr "モバイルブロードバンドネットワークのパスワード"
|
||||
#: js/ui/components/networkAgent.js:701 js/ui/components/networkAgent.js:713
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "“%s”への接続にはパスワードが必要です。"
|
||||
msgstr "”%s”への接続にはパスワードが必要です。"
|
||||
|
||||
#: js/ui/components/networkAgent.js:680 js/ui/status/network.js:1675
|
||||
msgid "Network Manager"
|
||||
@@ -1316,7 +1316,7 @@ msgstr "インストール"
|
||||
#: js/ui/extensionDownloader.js:200
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "extensions.gnome.org から“%s”をダウンロードしてインストールしますか?"
|
||||
msgstr "extensions.gnome.org から”%s”をダウンロードしてインストールしますか?"
|
||||
|
||||
#: js/ui/inhibitShortcutsDialog.js:80
|
||||
#, javascript-format
|
||||
@@ -2186,11 +2186,11 @@ msgstr "外部のみ"
|
||||
msgid "Built-in Only"
|
||||
msgstr "組み込みのみ"
|
||||
|
||||
#: js/ui/unlockDialog.js:53
|
||||
#: js/ui/unlockDialog.js:50
|
||||
msgid "Log in as another user"
|
||||
msgstr "他のユーザーでログイン"
|
||||
|
||||
#: js/ui/unlockDialog.js:70
|
||||
#: js/ui/unlockDialog.js:67
|
||||
msgid "Unlock Window"
|
||||
msgstr "ロック解除"
|
||||
|
||||
@@ -2205,7 +2205,7 @@ msgstr "検索"
|
||||
#: js/ui/windowAttentionHandler.js:20
|
||||
#, javascript-format
|
||||
msgid "“%s” is ready"
|
||||
msgstr "“%s”の準備ができました"
|
||||
msgstr "”%s”の準備ができました"
|
||||
|
||||
#: js/ui/windowManager.js:54
|
||||
msgid "Do you want to keep these display settings?"
|
||||
@@ -2629,7 +2629,7 @@ msgstr "不明なプログラム"
|
||||
#: src/shell-app.c:515
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "“%s”の起動に失敗しました"
|
||||
msgstr "”%s”の起動に失敗しました"
|
||||
|
||||
#: src/shell-keyring-prompt.c:731
|
||||
msgid "Passwords do not match."
|
||||
|
||||
11
src/main.c
11
src/main.c
@@ -24,6 +24,14 @@
|
||||
#include "shell-perf-log.h"
|
||||
#include "st.h"
|
||||
|
||||
#ifdef HAVE_SYSTEMD
|
||||
#include <systemd/sd-daemon.h>
|
||||
#else
|
||||
/* So we don't need to add ifdef's everywhere */
|
||||
#define sd_notify(u, m) do {} while (0)
|
||||
#define sd_notifyf(u, m, ...) do {} while (0)
|
||||
#endif
|
||||
|
||||
extern GType gnome_shell_plugin_get_type (void);
|
||||
|
||||
#define SHELL_DBUS_SERVICE "org.gnome.Shell"
|
||||
@@ -524,6 +532,9 @@ main (int argc, char **argv)
|
||||
shell_init_debug (g_getenv ("SHELL_DEBUG"));
|
||||
|
||||
shell_dbus_init (meta_get_replace_current_wm ());
|
||||
/* We only use NOTIFY_SOCKET exactly once; unset it so it doesn't remain in
|
||||
* our environment. */
|
||||
sd_notify (1, "READY=1");
|
||||
shell_a11y_init ();
|
||||
shell_perf_log_init ();
|
||||
shell_introspection_init ();
|
||||
|
||||
@@ -832,13 +832,6 @@ entry_cursor_func (StEntry *entry,
|
||||
use_ibeam ? META_CURSOR_IBEAM : META_CURSOR_DEFAULT);
|
||||
}
|
||||
|
||||
static void
|
||||
on_x11_display_closed (MetaDisplay *display,
|
||||
ShellGlobal *global)
|
||||
{
|
||||
g_signal_handlers_disconnect_by_data (global->stage, global);
|
||||
}
|
||||
|
||||
void
|
||||
_shell_global_set_plugin (ShellGlobal *global,
|
||||
MetaPlugin *plugin)
|
||||
@@ -902,10 +895,6 @@ _shell_global_set_plugin (ShellGlobal *global,
|
||||
g_signal_connect (global->meta_display, "notify::focus-window",
|
||||
G_CALLBACK (focus_window_changed), global);
|
||||
|
||||
if (global->xdisplay)
|
||||
g_signal_connect_object (global->meta_display, "x11-display-closing",
|
||||
G_CALLBACK (on_x11_display_closed), global, 0);
|
||||
|
||||
backend = meta_get_backend ();
|
||||
settings = meta_backend_get_settings (backend);
|
||||
g_signal_connect (settings, "ui-scaling-factor-changed",
|
||||
@@ -943,9 +932,6 @@ shell_global_begin_modal (ShellGlobal *global,
|
||||
guint32 timestamp,
|
||||
MetaModalOptions options)
|
||||
{
|
||||
if (!meta_display_get_compositor (global->meta_display))
|
||||
return FALSE;
|
||||
|
||||
/* Make it an error to call begin_modal while we already
|
||||
* have a modal active. */
|
||||
if (global->has_modal)
|
||||
@@ -967,9 +953,6 @@ void
|
||||
shell_global_end_modal (ShellGlobal *global,
|
||||
guint32 timestamp)
|
||||
{
|
||||
if (!meta_display_get_compositor (global->meta_display))
|
||||
return;
|
||||
|
||||
if (!global->has_modal)
|
||||
return;
|
||||
|
||||
|
||||
@@ -26,14 +26,6 @@
|
||||
#include <langinfo.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_SYSTEMD
|
||||
#include <systemd/sd-daemon.h>
|
||||
#else
|
||||
/* So we don't need to add ifdef's everywhere */
|
||||
#define sd_notify(u, m) do {} while (0)
|
||||
#define sd_notifyf(u, m, ...) do {} while (0)
|
||||
#endif
|
||||
|
||||
static void
|
||||
stop_pick (ClutterActor *actor,
|
||||
const ClutterColor *color)
|
||||
@@ -667,11 +659,3 @@ shell_util_stop_systemd_unit (const char *unit,
|
||||
{
|
||||
return shell_util_systemd_call ("StopUnit", unit, mode, error);
|
||||
}
|
||||
|
||||
void
|
||||
shell_util_sd_notify (void)
|
||||
{
|
||||
/* We only use NOTIFY_SOCKET exactly once; unset it so it doesn't remain in
|
||||
* our environment. */
|
||||
sd_notify (1, "READY=1");
|
||||
}
|
||||
|
||||
@@ -66,8 +66,6 @@ gboolean shell_util_stop_systemd_unit (const char *unit,
|
||||
const char *mode,
|
||||
GError **error);
|
||||
|
||||
void shell_util_sd_notify (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __SHELL_UTIL_H__ */
|
||||
|
||||
Reference in New Issue
Block a user