Compare commits

..

7 Commits

Author SHA1 Message Date
Benjamin Berg
ff1b411f74 data: Add desktop autostart file for extension warning
Adding this file allows gnome-session to trigger the warning after it
disabled extensions in the non-systemd case.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 18:58:50 +02:00
Benjamin Berg
098114f4c8 data: Add systemd service file for extension disabled warning
Show the extension preferences UI right after login if the last session
failed and extensions have been disabled because of this.

This adds the files for the systemd session case.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 18:58:50 +02:00
Benjamin Berg
9a49b20fac extensionPrefs: Delete disabled warning marker
It isn't possible to easily delete the marker from an XDG autostart
file, so make it on startup to simplify that. This is in preparation
for the next commit which adds the appropriate autostart file.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 18:58:50 +02:00
Benjamin Berg
d9775e41b2 extensionSystem: Allow disabling extensions when globally disabled
The canChange property was not actually reflecting whether
the enableExtension or disableExtension can change the underlying
setting. Instead the property was showing whether such a change will
have an effect.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 18:58:30 +02:00
Benjamin Berg
5796a5d193 extensionPrefs: Reflect whether extension is requested in active state
To do this, simply use the new isRequested property to properly reflect
the underlying settings key rather than the actual loaded state of the
extension.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 18:56:24 +02:00
Benjamin Berg
afefc88e02 extensionSystem: Add isRequested property for extensions
The property reflects whether the extension is enabled in the setting.
This does not mean that the extension is actually loaded, the API user
must check the state property for this information.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 17:19:23 +02:00
Benjamin Berg
44cd1ae25b extensionPrefs: Add ability to warn about extensions being disabled
If we disable extensions after a gnome-shell failure, then we should
warn the user about this happening. The old concept was to do so in the
fail-whale, but we can't even show the fail-whale when running on
wayland.

Adding this option allows starting up the preference dialog on the next
log in and telling the user what happened then. This means we can both
tell the user what is going on and enable them to solve the issue at the
same time.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/695
2019-08-30 16:09:26 +02:00
112 changed files with 7193 additions and 13739 deletions

View File

@@ -54,7 +54,7 @@ build:
- meson mutter mutter/build --prefix=/usr -Dtests=false
- ninja -C mutter/build install
script:
- meson . build -Dbuiltype=debugoptimized -Dman=false --werror
- meson . build -Dbuiltype=debugoptimized -Dman=false
- ninja -C build
- ninja -C build install
<<: *only_default

View File

@@ -66,10 +66,6 @@ create_common() {
rm $OUTPUT_FINAL.tmp
}
# Disable MR handling for now. We aren't ready to enforce
# non-legacy style just yet ...
unset CI_MERGE_REQUEST_TARGET_BRANCH_NAME
if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
branch_point=$(git merge-base HEAD FETCH_HEAD)
@@ -90,16 +86,12 @@ run_eslint LEGACY
echo Done.
create_common
if ! is_empty $OUTPUT_FINAL; then
cat $OUTPUT_FINAL
exit 1
fi
# Just show the report and succeed when not testing a MR
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
cat $OUTPUT_FINAL
exit 0
fi
copy_matched_lines $OUTPUT_REGULAR $LINE_CHANGES $OUTPUT_MR
copy_matched_lines $OUTPUT_FINAL $LINE_CHANGES $OUTPUT_MR
cat $OUTPUT_MR
is_empty $OUTPUT_MR

34
NEWS
View File

@@ -1,37 +1,3 @@
3.34.0
======
* Handle startup/shutdown of misc X11 services [Carlos; !680]
* Fix sound volume mute/unmute [Iain; #1557]
* Correctly terminate pasted text [Carlos; #1570]
Contributors:
Carlos Garnacho, Iain Lane
Translators:
Tom Tryfonidis [el], Milo Casagrande [it], Ryuta Fujii [ja],
Efstathios Iosifidis [el], Carmen Bianca BAKKER [eo], Sabri Ünal [tr],
Dušan Kazik [sk], Balázs Meskó [hu], Claude Paroz [fr]
3.33.92
=======
* Animate pointer a11y pie timer [Jonas D.; !688]
* Fix restarting shell in systemd user session [Benjamin; !690]
* Misc. bug fixes and cleanups [Florian, Jonas D., Jonas Å., Will;
!691, !689, !692, #1552, !698]
Contributors:
Jonas Ådahl, Benjamin Berg, Piotr Drąg, Jonas Dreßler, Florian Müllner,
Will Thompson
Translators:
Daniel Șerbănescu [ro], Danial Behzadi [fa], Daniel Mustieles [es],
Jiri Grönroos [fi], Asier Sarasua Garmendia [eu], Piotr Drąg [pl],
Rūdolfs Mazurs [lv], Anders Jonsson [sv], Fran Dieguez [gl], Jordi Mas [ca],
Matej Urbančič [sl], Zander Brown [en_GB], Ryuta Fujii [ja], Tim Sabsch [de],
Fabio Tomat [fur], Pawan Chitrakar [ne], A S Alam [pa], Changwoo Ryu [ko],
Aurimas Černius [lt], Daniel Rusek [cs], Marek Černocký [cs],
Kukuh Syafaat [id], Goran Vidović [hr], Rafael Fontenelle [pt_BR]
3.33.91
=======
* Fix regression when adjusting brightness [Florian; #1500]

View File

@@ -0,0 +1,12 @@
[Desktop Entry]
Type=Application
Name=GNOME Shell Extensions Disabled Warning
Comment=Warning shown if extensions were disabled due to a failure
Exec=@bindir@/gnome-shell-extension-prefs --disabled-warning
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-shell
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=@VERSION@
OnlyShowIn=GNOME;
AutostartCondition=if-exists gnome-shell-extensions-disabled-warning
X-GNOME-HiddenUnderSystemd=@systemd_hidden@

View File

@@ -0,0 +1,13 @@
[Unit]
Description=Warn about GNOME Shell extensions being disabled
ConditionPathExists=%E/gnome-shell-extensions-disabled-warning
Requisite=gnome-session.target
After=gnome-session.target
[Service]
Type=simple
ExecStartPre=-/bin/rm %E/gnome-shell-extensions-disabled-warning
ExecStart=@bindir@/gnome-shell-extension-prefs --disabled-warning
Restart=no

View File

@@ -23,5 +23,3 @@ ExecStart=@bindir@/gnome-shell
SuccessExitStatus=1
# On wayland we cannot restart
Restart=no
# Kill any stubborn child processes after this long
TimeoutStopSec=5

View File

@@ -8,3 +8,5 @@ Before=gnome-session-initialized.target
Requires=gnome-shell-wayland.service
After=gnome-shell-wayland.service
Wants=gnome-shell-extensions-disabled-warning.service

View File

@@ -29,5 +29,3 @@ SuccessExitStatus=1
Restart=always
# Do not wait before restarting the shell
RestartSec=0ms
# Kill any stubborn child processes after this long
TimeoutStopSec=5

View File

@@ -8,3 +8,5 @@ Before=gnome-session-initialized.target
Requires=gnome-shell-x11.service
After=gnome-shell-x11.service
Wants=gnome-shell-extensions-disabled-warning.service

View File

@@ -31,6 +31,19 @@ foreach desktop_file : desktop_files
)
endforeach
i18n.merge_file('desktop',
input: configure_file(
input: 'gnome-shell-extensions-disabled-warning.desktop.in.in',
output: 'gnome-shell-extensions-disabled-warning.desktop.in',
configuration: desktopconf
),
output: 'gnome-shell-extension-disabled-warning.desktop',
po_dir: po_dir,
install: true,
install_dir: autostartdir,
type: 'desktop'
)
serviceconf = configuration_data()
serviceconf.set('libexecdir', libexecdir)
foreach service_file : service_files

View File

@@ -611,14 +611,6 @@ StScrollBar {
}
// Rename popup
.rename-folder-popup-box {
spacing: 6px;
margin-left: 12px;
margin-right: 12px;
}
// Background menu
.background-menu { -boxpointer-gap: 4px; -arrow-rise: 0px; }

View File

@@ -10,7 +10,7 @@ const _ = Gettext.gettext;
const Config = imports.misc.config;
const ExtensionUtils = imports.misc.extensionUtils;
const { loadInterfaceXML } = imports.misc.fileUtils;
const { loadInterfaceXML, deleteGFile } = imports.misc.fileUtils;
const { ExtensionState } = ExtensionUtils;
@@ -219,10 +219,33 @@ var Application = GObject.registerClass({
Gio.SettingsBindFlags.DEFAULT |
Gio.SettingsBindFlags.INVERT_BOOLEAN);
let vbox = new Gtk.Box({ orientation: Gtk.Orientation.VERTICAL });
this._window.add(vbox);
this.disabledInfobar = new Gtk.InfoBar({
message_type: Gtk.MessageType.ERROR,
revealed: false,
show_close_button: true
});
this.disabledInfobar.connect('response', () => {
this.disabledInfobar.revealed = false;
});
let contentArea = this.disabledInfobar.get_content_area();
let label = new Gtk.Label({
label: _('A problem was detected and extensions were automatically disabled. It is recommended to disable or reconfigure any extensions that may have caused the issue before re-enabling them at the top.'),
ellipsize: Pango.EllipsizeMode.END,
wrap: true,
lines: 2,
xalign: 0,
margin: 6
});
contentArea.add(label);
vbox.add(this.disabledInfobar);
this._mainStack = new Gtk.Stack({
transition_type: Gtk.StackTransitionType.CROSSFADE
});
this._window.add(this._mainStack);
vbox.add(this._mainStack);
let scroll = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER });
@@ -338,6 +361,20 @@ var Application = GObject.registerClass({
let args = commandLine.get_arguments();
if (args.length) {
if (args[0] == '--disabled-warning') {
if (!this._settings.is_writable('disable-user-extensions'))
this.quit();
this.disabledInfobar.set_revealed(true);
let file = GLib.build_filenamev ([GLib.get_user_config_dir(), 'gnome-shell-extensions-disabled-warning']);
let gfile = Gio.File.new_for_path(file);
if (gfile.query_exists(null))
deleteGFile(gfile);
return 0;
}
let uuid = args[0];
this._skipMainWindow = true;
@@ -567,10 +604,6 @@ class ExtensionRow extends Gtk.ListBoxRow {
this._extension = extension;
this._prefsModule = null;
this.connect('destroy', this._onDestroy.bind(this));
this._buildUI();
this._extensionStateChangedId = this._app.shellProxy.connectSignal(
'ExtensionStateChanged', (p, sender, [uuid, newState]) => {
if (this.uuid !== uuid)
@@ -578,13 +611,16 @@ class ExtensionRow extends Gtk.ListBoxRow {
this._extension = ExtensionUtils.deserializeExtension(newState);
let state = (this._extension.state == ExtensionState.ENABLED);
GObject.signal_handler_block(this._switch, this._notifyActiveId);
this._switch.freeze_notify();
this._switch.state = state;
GObject.signal_handler_unblock(this._switch, this._notifyActiveId);
this._switch.active = this._extension.isRequested;
this._switch.sensitive = this._canToggle();
this._switch.thaw_notify();
});
this.connect('destroy', this._onDestroy.bind(this));
this._buildUI();
}
get uuid() {
@@ -648,15 +684,19 @@ class ExtensionRow extends Gtk.ListBoxRow {
this._switch = new Gtk.Switch({
valign: Gtk.Align.CENTER,
sensitive: this._canToggle(),
state: this._extension.state === ExtensionState.ENABLED
});
this._notifyActiveId = this._switch.connect('notify::active', () => {
this._switch.connect('notify::active', () => {
if (this._switch.active)
this._app.shellProxy.EnableExtensionRemote(this.uuid);
else
this._app.shellProxy.DisableExtensionRemote(this.uuid);
});
this._switch.connect('state-set', () => true);
this._switch.freeze_notify();
this._switch.state = this._extension.state === ExtensionState.ENABLED;
this._switch.active = this._extension.isRequested;
this._switch.thaw_notify();
hbox.add(this._switch);
}

View File

@@ -21,7 +21,6 @@ var Manager = class {
'/org/freedesktop/realmd',
this._reloadRealms.bind(this));
this._realms = {};
this._loginFormat = null;
this._signalId = this._aggregateProvider.connect('g-properties-changed',
(proxy, properties) => {
@@ -87,7 +86,7 @@ var Manager = class {
}
get loginFormat() {
if (this._loginFormat)
if (this._loginFormat !== undefined)
return this._loginFormat;
this._updateLoginFormat();

View File

@@ -31,7 +31,7 @@ var ExtensionState = {
UNINSTALLED: 99
};
const SERIALIZED_PROPERTIES = ['type', 'state', 'path', 'error', 'hasPrefs', 'canChange'];
const SERIALIZED_PROPERTIES = ['type', 'state', 'path', 'error', 'hasPrefs', 'canChange', 'isRequested'];
/**
* getCurrentExtension:
@@ -165,8 +165,8 @@ function versionCheck(required, current) {
let requiredArray = required[i].split('.');
if (requiredArray[0] == major &&
requiredArray[1] == minor &&
((requiredArray[2] === undefined && parseInt(minor) % 2 == 0) ||
requiredArray[2] == point))
(requiredArray[2] == point ||
(requiredArray[2] == undefined && parseInt(minor) % 2 == 0)))
return true;
}
return false;

View File

@@ -2,6 +2,7 @@
/* exported getIBusManager */
const { Gio, GLib, IBus } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const IBusCandidatePopup = imports.ui.ibusCandidatePopup;
@@ -18,9 +19,9 @@ function _checkIBusVersion(requiredMajor, requiredMinor, requiredMicro) {
IBus.MICRO_VERSION >= requiredMicro))
return;
throw "Found IBus version %d.%d.%d but required is %d.%d.%d"
.format(IBus.MAJOR_VERSION, IBus.MINOR_VERSION, IBus.MINOR_VERSION,
requiredMajor, requiredMinor, requiredMicro);
throw "Found IBus version %d.%d.%d but required is %d.%d.%d".
format(IBus.MAJOR_VERSION, IBus.MINOR_VERSION, IBus.MINOR_VERSION,
requiredMajor, requiredMinor, requiredMicro);
}
function getIBusManager() {
@@ -58,19 +59,15 @@ var IBusManager = class {
this._spawn();
}
_spawn(extraArgs = []) {
_spawn() {
try {
let cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
Gio.Subprocess.new(cmdLine, Gio.SubprocessFlags.NONE);
Gio.Subprocess.new(['ibus-daemon', '--xim', '--panel', 'disable'],
Gio.SubprocessFlags.NONE);
} catch (e) {
log(`Failed to launch ibus-daemon: ${e.message}`);
}
}
restartDaemon(extraArgs = []) {
this._spawn(['-r', ...extraArgs]);
}
_clear() {
if (this._panelService)
this._panelService.destroy();
@@ -83,6 +80,8 @@ var IBusManager = class {
this._currentEngineName = null;
this.emit('ready', false);
this._spawn();
}
_onConnected() {
@@ -215,23 +214,21 @@ var IBusManager = class {
return;
if (this._preloadEnginesId != 0) {
GLib.source_remove(this._preloadEnginesId);
Mainloop.source_remove(this._preloadEnginesId);
this._preloadEnginesId = 0;
}
this._preloadEnginesId =
GLib.timeout_add_seconds(
GLib.PRIORITY_DEFAULT,
this._PRELOAD_ENGINES_DELAY_TIME,
() => {
this._ibus.preload_engines_async(
ids,
-1,
null,
null);
this._preloadEnginesId = 0;
return GLib.SOURCE_REMOVE;
});
Mainloop.timeout_add_seconds(this._PRELOAD_ENGINES_DELAY_TIME,
() => {
this._ibus.preload_engines_async(
ids,
-1,
null,
null);
this._preloadEnginesId = 0;
return GLib.SOURCE_REMOVE;
});
}
};
Signals.addSignalMethods(IBusManager.prototype);

View File

@@ -217,7 +217,7 @@ function isUnsafeExpression(str) {
prunedStr = prunedStr.replace(/[=!]==/g, ''); //replace === and !== with nothing
prunedStr = prunedStr.replace(/[=<>!]=/g, ''); //replace ==, <=, >=, != with nothing
if (prunedStr.match(/[=]/)) {
if (prunedStr.match(/=/)) {
return true;
} else if (prunedStr.match(/;/)) {
// If we contain a semicolon not inside of a quote/regex, assume we're unsafe as well

View File

@@ -5,6 +5,7 @@
const { Clutter, Gio, GLib, GObject, Shell, St } = imports.gi;
const Gettext = imports.gettext;
const Mainloop = imports.mainloop;
const Main = imports.ui.main;
const Params = imports.misc.params;
@@ -313,8 +314,7 @@ function lowerBound(array, val, cmp) {
if (array.length == 0)
return 0;
min = 0;
max = array.length;
min = 0; max = array.length;
while (min < (max - 1)) {
mid = Math.floor((min + max) / 2);
v = cmp(array[mid], val);

View File

@@ -3,6 +3,7 @@
WindowCyclerPopup */
const { Atk, Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Main = imports.ui.main;
const SwitcherPopup = imports.ui.switcherPopup;
@@ -291,7 +292,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
if (this._thumbnails)
this._destroyThumbnails();
if (this._thumbnailTimeoutId != 0)
GLib.source_remove(this._thumbnailTimeoutId);
Mainloop.source_remove(this._thumbnailTimeoutId);
}
/**
@@ -326,7 +327,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
}
if (this._thumbnailTimeoutId != 0) {
GLib.source_remove(this._thumbnailTimeoutId);
Mainloop.source_remove(this._thumbnailTimeoutId);
this._thumbnailTimeoutId = 0;
}
@@ -343,8 +344,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
this._thumbnails.highlight(window, forceAppFocus);
} else if (this._items[this._selectedIndex].cachedWindows.length > 1 &&
!forceAppFocus) {
this._thumbnailTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
this._thumbnailTimeoutId = Mainloop.timeout_add (
THUMBNAIL_POPUP_TIME,
this._timeoutPopupThumbnails.bind(this));
GLib.Source.set_name_by_id(this._thumbnailTimeoutId, '[gnome-shell] this._timeoutPopupThumbnails');
@@ -648,9 +648,8 @@ class WindowCyclerPopup extends CyclerPopup {
}
});
var AppIcon = GObject.registerClass({
GTypeName: 'AltTab_AppIcon'
}, class AppIcon extends St.BoxLayout {
var AppIcon = GObject.registerClass(
class AppIcon extends St.BoxLayout {
_init(app) {
super._init({ style_class: 'alt-tab-app',
vertical: true });
@@ -712,7 +711,7 @@ class AppSwitcher extends SwitcherPopup.SwitcherList {
_onDestroy() {
if (this._mouseTimeOutId != 0)
GLib.source_remove(this._mouseTimeOutId);
Mainloop.source_remove(this._mouseTimeOutId);
this.icons.forEach(icon => {
icon.app.disconnect(icon._stateChangedId);
@@ -791,16 +790,14 @@ class AppSwitcher extends SwitcherPopup.SwitcherList {
// activation when the thumbnail list is open
_onItemEnter(index) {
if (this._mouseTimeOutId != 0)
GLib.source_remove(this._mouseTimeOutId);
Mainloop.source_remove(this._mouseTimeOutId);
if (this._altTabPopup.thumbnailsVisible) {
this._mouseTimeOutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
APP_ICON_HOVER_TIMEOUT,
() => {
this._enterItem(index);
this._mouseTimeOutId = 0;
return GLib.SOURCE_REMOVE;
});
this._mouseTimeOutId = Mainloop.timeout_add(APP_ICON_HOVER_TIMEOUT,
() => {
this._enterItem(index);
this._mouseTimeOutId = 0;
return GLib.SOURCE_REMOVE;
});
GLib.Source.set_name_by_id(this._mouseTimeOutId, '[gnome-shell] this._enterItem');
} else {
this._itemEntered(index);

View File

@@ -2,6 +2,7 @@
/* exported Animation, AnimatedIcon, Spinner */
const { Clutter, GLib, Gio, St } = imports.gi;
const Mainloop = imports.mainloop;
var ANIMATED_ICON_UPDATE_TIMEOUT = 16;
var SPINNER_ANIMATION_TIME = 300;
@@ -44,7 +45,7 @@ var Animation = class {
stop() {
if (this._timeoutId > 0) {
GLib.source_remove(this._timeoutId);
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
@@ -53,19 +54,12 @@ var Animation = class {
_loadFile(file, width, height) {
let [validResourceScale, resourceScale] = this.actor.get_resource_scale();
let wasPlaying = this._isPlaying;
if (this._isPlaying)
this.stop();
this._isLoaded = false;
this.actor.destroy_all_children();
if (!validResourceScale) {
if (wasPlaying)
this.play();
if (!validResourceScale)
return;
}
let textureCache = St.TextureCache.get_default();
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
@@ -73,9 +67,6 @@ var Animation = class {
scaleFactor, resourceScale,
this._animationsLoaded.bind(this));
this.actor.set_child(this._animations);
if (wasPlaying)
this.play();
}
_showFrame(frame) {

View File

@@ -3,6 +3,7 @@
const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Signals = imports.signals;
const Mainloop = imports.mainloop;
const AppFavorites = imports.ui.appFavorites;
const BoxPointer = imports.ui.boxpointer;
@@ -1158,10 +1159,11 @@ var AppSearchProvider = class AppSearchProvider {
if (id.endsWith('.desktop')) {
let app = this._appSys.lookup_app(id);
metas.push({
id: app.get_id(),
name: app.get_name(),
createIcon: size => app.create_icon_texture(size),
metas.push({ 'id': app.get_id(),
'name': app.get_name(),
'createIcon'(size) {
return app.create_icon_texture(size);
}
});
} else {
let name = this._systemActions.getName(id);
@@ -1436,13 +1438,6 @@ var FolderIcon = class FolderIcon {
this._itemDragEndId = Main.overview.connect(
'item-drag-end', this._onDragEnd.bind(this));
this._popupTimeoutId = 0;
this.actor.connect('leave-event', this._onLeaveEvent.bind(this));
this.actor.connect('button-press-event', this._onButtonPress.bind(this));
this.actor.connect('touch-event', this._onTouchEvent.bind(this));
this.actor.connect('popup-menu', this._popupRenamePopup.bind(this));
this.actor.connect('clicked', this.open.bind(this));
this.actor.connect('destroy', this.onDestroy.bind(this));
this.actor.connect('notify::mapped', () => {
@@ -1467,12 +1462,9 @@ var FolderIcon = class FolderIcon {
if (this._popup)
this._popup.actor.destroy();
this._removeMenuTimeout();
}
open() {
this._removeMenuTimeout();
this._ensurePopup();
this.view.actor.vscroll.adjustment.value = 0;
this._openSpaceForPopup();
@@ -1635,76 +1627,6 @@ var FolderIcon = class FolderIcon {
this._popupInvalidated = false;
}
_removeMenuTimeout() {
if (this._popupTimeoutId > 0) {
GLib.source_remove(this._popupTimeoutId);
this._popupTimeoutId = 0;
}
}
_setPopupTimeout() {
this._removeMenuTimeout();
this._popupTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, MENU_POPUP_TIMEOUT, () => {
this._popupTimeoutId = 0;
this._popupRenamePopup();
return GLib.SOURCE_REMOVE;
});
GLib.Source.set_name_by_id(this._popupTimeoutId,
'[gnome-shell] this._popupRenamePopup');
}
_onLeaveEvent(_actor, _event) {
this.actor.fake_release();
this._removeMenuTimeout();
}
_onButtonPress(_actor, event) {
let button = event.get_button();
if (button == 1) {
this._setPopupTimeout();
} else if (button == 3) {
this._popupRenamePopup();
return Clutter.EVENT_STOP;
}
return Clutter.EVENT_PROPAGATE;
}
_onTouchEvent(actor, event) {
if (event.type() == Clutter.EventType.TOUCH_BEGIN)
this._setPopupTimeout();
return Clutter.EVENT_PROPAGATE;
}
_popupRenamePopup() {
this._removeMenuTimeout();
this.actor.fake_release();
if (!this._menu) {
this._menuManager = new PopupMenu.PopupMenuManager(this.actor);
this._menu = new RenameFolderMenu(this, this._folder);
this._menuManager.addMenu(this._menu);
this._menu.connect('open-state-changed', (menu, isPoppedUp) => {
if (!isPoppedUp)
this.actor.sync_hover();
});
let id = Main.overview.connect('hiding', () => {
this._menu.close();
});
this.actor.connect('destroy', () => {
Main.overview.disconnect(id);
});
this._menuManager.addMenu(this._menu);
}
this.actor.set_hover(true);
this._menu.popup();
this._menuManager.ignoreRelease();
}
adaptToSize(width, height) {
this._parentAvailableWidth = width;
this._parentAvailableHeight = height;
@@ -1715,90 +1637,6 @@ var FolderIcon = class FolderIcon {
};
Signals.addSignalMethods(FolderIcon.prototype);
var RenameFolderMenu = class RenameFolderMenu extends PopupMenu.PopupMenu {
constructor(source, folder) {
super(source.actor, 0.5, St.Side.BOTTOM);
this._source = source;
this._folder = folder;
// We want to keep the item hovered while the menu is up
this.blockSourceEvents = true;
let box = new St.BoxLayout({ style_class: 'rename-folder-popup-box' });
this.box.add_child(box);
// Entry
this._entry = new St.Entry({
x_expand: true,
width: 200,
});
box.add_child(this._entry);
this._entry.clutter_text.connect('notify::text',
this._validate.bind(this));
this._entry.clutter_text.connect('activate',
this._updateFolderName.bind(this));
// Rename button
this._button = new St.Button({
style_class: 'button',
reactive: true,
button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO,
can_focus: true,
label: _("Rename"),
});
box.add_child(this._button);
this._button.connect('clicked', this._updateFolderName.bind(this));
// Chain our visibility and lifecycle to that of the source
this._sourceMappedId = source.actor.connect('notify::mapped', () => {
if (!source.actor.mapped)
this.close();
});
source.actor.connect('destroy', () => {
source.actor.disconnect(this._sourceMappedId);
this.destroy();
});
Main.uiGroup.add_actor(this.actor);
}
popup() {
let folderName = _getFolderName(this._folder);
this._entry.text = folderName;
this._entry.clutter_text.set_selection(0, folderName.length);
this.open();
}
_isValidFolderName() {
let folderName = _getFolderName(this._folder);
let newFolderName = this._entry.text.trim();
return newFolderName.length > 0 && newFolderName != folderName;
}
_validate() {
let isValid = this._isValidFolderName();
this._button.reactive = isValid;
}
_updateFolderName() {
if (!this._isValidFolderName())
return;
let newFolderName = this._entry.text.trim();
this._folder.set_string('name', newFolderName);
this._folder.set_boolean('translate', false);
this.close();
}
};
Signals.addSignalMethods(RenameFolderMenu.prototype);
var AppFolderPopup = class AppFolderPopup {
constructor(source, side) {
this._source = source;
@@ -2074,7 +1912,7 @@ var AppIcon = class AppIcon {
_removeMenuTimeout() {
if (this._menuTimeoutId > 0) {
GLib.source_remove(this._menuTimeoutId);
Mainloop.source_remove(this._menuTimeoutId);
this._menuTimeoutId = 0;
}
}
@@ -2088,7 +1926,7 @@ var AppIcon = class AppIcon {
_setPopupTimeout() {
this._removeMenuTimeout();
this._menuTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, MENU_POPUP_TIMEOUT, () => {
this._menuTimeoutId = Mainloop.timeout_add(MENU_POPUP_TIMEOUT, () => {
this._menuTimeoutId = 0;
this.popupMenu();
return GLib.SOURCE_REMOVE;

View File

@@ -147,11 +147,12 @@ class AppFavorites {
let app = Shell.AppSystem.get_default().lookup_app(appId);
let msg = _("%s has been added to your favorites.").format(app.get_name());
Main.overview.setMessage(msg, {
forFeedback: true,
undoCallback: () => this._removeFavorite(appId),
});
Main.overview.setMessage(_("%s has been added to your favorites.").format(app.get_name()),
{ forFeedback: true,
undoCallback: () => {
this._removeFavorite(appId);
}
});
}
addFavorite(appId) {
@@ -180,11 +181,12 @@ class AppFavorites {
if (!this._removeFavorite(appId))
return;
let msg = _("%s has been removed from your favorites.").format(app.get_name());
Main.overview.setMessage(msg, {
forFeedback: true,
undoCallback: () => this._addFavorite(appId, pos),
});
Main.overview.setMessage(_("%s has been removed from your favorites.").format(app.get_name()),
{ forFeedback: true,
undoCallback: () => {
this._addFavorite(appId, pos);
}
});
}
}
Signals.addSignalMethods(AppFavorites.prototype);

View File

@@ -441,21 +441,20 @@ var Background = class Background {
}
_loadAnimation(file) {
this._cache.getAnimation({
file: file,
settingsSchema: this._settings.schema_id,
onLoaded: animation => {
this._animation = animation;
this._cache.getAnimation({ file: file,
settingsSchema: this._settings.schema_id,
onLoaded: animation => {
this._animation = animation;
if (!this._animation || this._cancellable.is_cancelled()) {
this._setLoaded();
return;
}
if (!this._animation || this._cancellable.is_cancelled()) {
this._setLoaded();
return;
}
this._updateAnimation();
this._watchFile(file);
}
});
this._updateAnimation();
this._watchFile(file);
}
});
}
_loadImage(file) {
@@ -749,14 +748,13 @@ var BackgroundManager = class BackgroundManager {
_createBackgroundActor() {
let background = this._backgroundSource.getBackground(this._monitorIndex);
let backgroundActor = new Meta.BackgroundActor({
meta_display: global.display,
monitor: this._monitorIndex,
background: background.background,
vignette: this._vignette,
vignette_sharpness: 0.5,
brightness: 0.5,
});
let backgroundActor = new Meta.BackgroundActor({ meta_display: global.display,
monitor: this._monitorIndex,
background: background.background,
vignette: this._vignette,
vignette_sharpness: 0.5,
brightness: 0.5,
});
this._container.add_child(backgroundActor);

View File

@@ -31,7 +31,7 @@ function addBackgroundMenu(actor, layoutManager) {
function openMenu(x, y) {
Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0);
actor._backgroundMenu.open(BoxPointer.PopupAnimation.FULL);
actor._backgroundMenu.open(BoxPointer.PopupAnimation.NONE);
}
let clickAction = new Clutter.ClickAction();

View File

@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Calendar, CalendarMessageList */
const { Clutter, Gio, GLib, GObject, Shell, St } = imports.gi;
const { Clutter, Gio, GLib, Shell, St } = imports.gi;
const Signals = imports.signals;
const Main = imports.ui.main;
@@ -688,15 +688,15 @@ var EventMessage = class EventMessage extends MessageList.Message {
let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL;
if (this._event.date < periodBegin && !this._event.allDay) {
if (rtl)
title = `${title}${ELLIPSIS_CHAR}`;
title = title + ELLIPSIS_CHAR;
else
title = `${ELLIPSIS_CHAR}${title}`;
title = ELLIPSIS_CHAR + title;
}
if (this._event.end > periodEnd && !this._event.allDay) {
if (rtl)
title = `${ELLIPSIS_CHAR}${title}`;
title = ELLIPSIS_CHAR + title;
else
title = `${title}${ELLIPSIS_CHAR}`;
title = title + ELLIPSIS_CHAR;
}
return title;
}
@@ -1075,10 +1075,6 @@ var CalendarMessageList = class CalendarMessageList {
});
box.add_actor(this._clearButton);
this._placeholder.actor.bind_property('visible',
this._clearButton, 'visible',
GObject.BindingFlags.INVERT_BOOLEAN);
this._sectionList = new St.BoxLayout({ style_class: 'message-list-sections',
vertical: true,
y_expand: true,
@@ -1149,6 +1145,7 @@ var CalendarMessageList = class CalendarMessageList {
let empty = sections.every(s => s.empty || !s.actor.visible);
this._placeholder.actor.visible = empty;
this._clearButton.visible = !empty;
let canClear = sections.some(s => s.canClear && s.actor.visible);
this._clearButton.reactive = canClear;

View File

@@ -2,6 +2,7 @@
/* exported Component */
const { Gio, GLib } = imports.gi;
const Mainloop = imports.mainloop;
const Params = imports.misc.params;
const GnomeSession = imports.misc.gnomeSession;
@@ -38,7 +39,7 @@ var AutomountManager = class {
this._driveDisconnectedId = this._volumeMonitor.connect('drive-disconnected', this._onDriveDisconnected.bind(this));
this._driveEjectButtonId = this._volumeMonitor.connect('drive-eject-button', this._onDriveEjectButton.bind(this));
this._mountAllId = GLib.idle_add(GLib.PRIORITY_DEFAULT, this._startupMountAll.bind(this));
this._mountAllId = Mainloop.idle_add(this._startupMountAll.bind(this));
GLib.Source.set_name_by_id(this._mountAllId, '[gnome-shell] this._startupMountAll');
}
@@ -50,7 +51,7 @@ var AutomountManager = class {
this._volumeMonitor.disconnect(this._driveEjectButtonId);
if (this._mountAllId > 0) {
GLib.source_remove(this._mountAllId);
Mainloop.source_remove(this._mountAllId);
this._mountAllId = 0;
}
}
@@ -219,7 +220,7 @@ var AutomountManager = class {
_onVolumeRemoved(monitor, volume) {
if (volume._allowAutorunExpireId && volume._allowAutorunExpireId > 0) {
GLib.source_remove(volume._allowAutorunExpireId);
Mainloop.source_remove(volume._allowAutorunExpireId);
delete volume._allowAutorunExpireId;
}
this._volumeQueue =
@@ -248,7 +249,7 @@ var AutomountManager = class {
}
_allowAutorunExpire(volume) {
let id = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, AUTORUN_EXPIRE_TIMEOUT_SECS, () => {
let id = Mainloop.timeout_add_seconds(AUTORUN_EXPIRE_TIMEOUT_SECS, () => {
volume.allowAutorun = false;
delete volume._allowAutorunExpireId;
return GLib.SOURCE_REMOVE;

View File

@@ -325,10 +325,10 @@ var AutorunNotification = class extends MessageTray.Notification {
style_class: 'hotplug-notification-item-icon' });
box.add(icon);
let label = new St.Bin({
y_align: St.Align.MIDDLE,
child: new St.Label({ text: _("Open with %s").format(app.get_name()) }),
});
let label = new St.Bin({ y_align: St.Align.MIDDLE,
child: new St.Label
({ text: _("Open with %s").format(app.get_name()) })
});
box.add(label);
let button = new St.Button({ child: box,

View File

@@ -112,17 +112,16 @@ class NetworkSecretDialog extends ModalDialog.ModalDialog {
expand: true });
}
this._okButton = {
label: _("Connect"),
action: this._onOk.bind(this),
default: true,
};
this._okButton = { label: _("Connect"),
action: this._onOk.bind(this),
default: true
};
this.setButtons([{
label: _("Cancel"),
action: this.cancel.bind(this),
key: Clutter.KEY_Escape,
}, this._okButton]);
this.setButtons([{ label: _("Cancel"),
action: this.cancel.bind(this),
key: Clutter.KEY_Escape,
},
this._okButton]);
this._updateOkButton();
}
@@ -552,12 +551,11 @@ var VPNRequestHandler = class {
let shouldAsk = keyfile.get_boolean(groups[i], 'ShouldAsk');
if (shouldAsk) {
contentOverride.secrets.push({
label: keyfile.get_string(groups[i], 'Label'),
key: groups[i],
value: value,
password: keyfile.get_boolean(groups[i], 'IsSecret'),
});
contentOverride.secrets.push({ label: keyfile.get_string(groups[i], 'Label'),
key: groups[i],
value: value,
password: keyfile.get_boolean(groups[i], 'IsSecret')
});
} else {
if (!value.length) // Ignore empty secrets
continue;
@@ -611,11 +609,10 @@ Signals.addSignalMethods(VPNRequestHandler.prototype);
var NetworkAgent = class {
constructor() {
this._native = new Shell.NetworkAgent({
identifier: 'org.gnome.Shell.NetworkAgent',
capabilities: NM.SecretAgentCapabilities.VPN_HINTS,
auto_register: false,
});
this._native = new Shell.NetworkAgent({ identifier: 'org.gnome.Shell.NetworkAgent',
capabilities: NM.SecretAgentCapabilities.VPN_HINTS,
auto_register: false
});
this._dialogs = { };
this._vpnRequests = { };

View File

@@ -3,6 +3,7 @@
const { Clutter, Gio, GLib, GObject, St } = imports.gi;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
var Tpl = null;
var Tp = null;
@@ -545,8 +546,8 @@ var ChatSource = class extends MessageTray.Source {
// Wait a bit before notifying for the received message, a handler
// could ack it in the meantime.
if (this._notifyTimeoutId != 0)
GLib.source_remove(this._notifyTimeoutId);
this._notifyTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 500,
Mainloop.source_remove(this._notifyTimeoutId);
this._notifyTimeoutId = Mainloop.timeout_add(500,
this._notifyTimeout.bind(this));
GLib.Source.set_name_by_id(this._notifyTimeoutId, '[gnome-shell] this._notifyTimeout');
}
@@ -640,7 +641,7 @@ var ChatNotification = class extends MessageTray.Notification {
destroy(reason) {
if (this._timestampTimeoutId)
GLib.source_remove(this._timestampTimeoutId);
Mainloop.source_remove(this._timestampTimeoutId);
this._timestampTimeoutId = 0;
super.destroy(reason);
}
@@ -728,7 +729,7 @@ var ChatNotification = class extends MessageTray.Notification {
// Reset the old message timeout
if (this._timestampTimeoutId)
GLib.source_remove(this._timestampTimeoutId);
Mainloop.source_remove(this._timestampTimeoutId);
this._timestampTimeoutId = 0;
let message = { realMessage: props.group != 'meta',
@@ -746,8 +747,7 @@ var ChatNotification = class extends MessageTray.Notification {
} else {
// Schedule a new timestamp in SCROLLBACK_IMMEDIATE_TIME
// from the timestamp of the message.
this._timestampTimeoutId = GLib.timeout_add_seconds(
GLib.PRIORITY_DEFAULT,
this._timestampTimeoutId = Mainloop.timeout_add_seconds(
SCROLLBACK_IMMEDIATE_TIME - (currentTime - timestamp),
this.appendTimestamp.bind(this));
GLib.Source.set_name_by_id(this._timestampTimeoutId, '[gnome-shell] this.appendTimestamp');
@@ -952,15 +952,14 @@ var ChatNotificationBanner = class extends MessageTray.NotificationBanner {
// Remove composing timeout.
if (this._composingTimeoutId > 0) {
GLib.source_remove(this._composingTimeoutId);
Mainloop.source_remove(this._composingTimeoutId);
this._composingTimeoutId = 0;
}
if (text != '') {
this.notification.source.setChatState(Tp.ChannelChatState.COMPOSING);
this._composingTimeoutId = GLib.timeout_add_seconds(
GLib.PRIORITY_DEFAULT,
this._composingTimeoutId = Mainloop.timeout_add_seconds(
COMPOSING_STOP_TIMEOUT,
this._composingStopTimeout.bind(this));
GLib.Source.set_name_by_id(this._composingTimeoutId, '[gnome-shell] this._composingStopTimeout');

View File

@@ -2,6 +2,7 @@
/* exported Dash */
const { Clutter, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const AppDisplay = imports.ui.appDisplay;
@@ -499,7 +500,7 @@ var Dash = class Dash {
// that the notify::hover handler does everything we need to.
if (opened) {
if (this._showLabelTimeoutId > 0) {
GLib.source_remove(this._showLabelTimeoutId);
Mainloop.source_remove(this._showLabelTimeoutId);
this._showLabelTimeoutId = 0;
}
@@ -513,7 +514,7 @@ var Dash = class Dash {
if (shouldShow) {
if (this._showLabelTimeoutId == 0) {
let timeout = this._labelShowing ? 0 : DASH_ITEM_HOVER_TIMEOUT;
this._showLabelTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, timeout,
this._showLabelTimeoutId = Mainloop.timeout_add(timeout,
() => {
this._labelShowing = true;
item.showLabel();
@@ -522,17 +523,17 @@ var Dash = class Dash {
});
GLib.Source.set_name_by_id(this._showLabelTimeoutId, '[gnome-shell] item.showLabel');
if (this._resetHoverTimeoutId > 0) {
GLib.source_remove(this._resetHoverTimeoutId);
Mainloop.source_remove(this._resetHoverTimeoutId);
this._resetHoverTimeoutId = 0;
}
}
} else {
if (this._showLabelTimeoutId > 0)
GLib.source_remove(this._showLabelTimeoutId);
Mainloop.source_remove(this._showLabelTimeoutId);
this._showLabelTimeoutId = 0;
item.hideLabel();
if (this._labelShowing) {
this._resetHoverTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, DASH_ITEM_HOVER_TIMEOUT,
this._resetHoverTimeoutId = Mainloop.timeout_add(DASH_ITEM_HOVER_TIMEOUT,
() => {
this._labelShowing = false;
this._resetHoverTimeoutId = 0;

View File

@@ -30,13 +30,11 @@ var TodayButton = class TodayButton {
// Having the ability to go to the current date if the user is already
// on the current date can be confusing. So don't make the button reactive
// until the selected date changes.
this.actor = new St.Button({
style_class: 'datemenu-today-button',
x_align: St.Align.START,
x_expand: true,
can_focus: true,
reactive: false,
});
this.actor = new St.Button({ style_class: 'datemenu-today-button',
x_expand: true, x_align: St.Align.START,
can_focus: true,
reactive: false
});
this.actor.connect('clicked', () => {
this._calendar.setDate(new Date(), false);
});

View File

@@ -17,6 +17,8 @@
* along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
const Mainloop = imports.mainloop;
const { AccountsService, Clutter, Gio,
GLib, GObject, Pango, Polkit, Shell, St } = imports.gi;
@@ -350,15 +352,12 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
}
// It only makes sense to check for this permission if PackageKit is available.
Polkit.Permission.new(
'org.freedesktop.packagekit.trigger-offline-update', null, null,
(source, res) => {
try {
this._updatesPermission = Polkit.Permission.new_finish(res);
} catch (e) {
log(`No permission to trigger offline updates: ${e}`);
}
});
try {
this._updatesPermission = Polkit.Permission.new_sync(
'org.freedesktop.packagekit.trigger-offline-update', null, null);
} catch (e) {
log('No permission to trigger offline updates: %s'.format(e.toString()));
}
}
_onDestroy() {
@@ -449,16 +448,14 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
for (let i = 0; i < dialogContent.confirmButtons.length; i++) {
let signal = dialogContent.confirmButtons[i].signal;
let label = dialogContent.confirmButtons[i].label;
buttons.push({
action: () => {
this.close(true);
let signalId = this.connect('closed', () => {
this.disconnect(signalId);
this._confirm(signal);
});
},
label: label,
});
buttons.push({ action: () => {
this.close(true);
let signalId = this.connect('closed', () => {
this.disconnect(signalId);
this._confirm(signal);
});
},
label: label });
}
this.setButtons(buttons);
@@ -565,7 +562,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
let startTime = GLib.get_monotonic_time();
this._secondsLeft = this._totalSecondsToStayOpen;
this._timerId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 1, () => {
this._timerId = Mainloop.timeout_add_seconds(1, () => {
let currentTime = GLib.get_monotonic_time();
let secondsElapsed = ((currentTime - startTime) / 1000000);
@@ -587,7 +584,7 @@ class EndSessionDialog extends ModalDialog.ModalDialog {
_stopTimer() {
if (this._timerId > 0) {
GLib.source_remove(this._timerId);
Mainloop.source_remove(this._timerId);
this._timerId = 0;
}

View File

@@ -10,7 +10,7 @@ imports.gi.versions.Gtk = '3.0';
imports.gi.versions.TelepathyGLib = '0.12';
imports.gi.versions.TelepathyLogger = '0.2';
const { Clutter, GLib, Meta, Shell, St } = imports.gi;
const { Clutter, GLib, Shell, St } = imports.gi;
const Gettext = imports.gettext;
// We can't import shell JS modules yet, because they may have
@@ -58,16 +58,17 @@ function _patchLayoutClass(layoutClass, styleProps) {
};
}
function _makeEaseCallback(params, cleanup) {
function _makeEaseCallback(params) {
let onComplete = params.onComplete;
delete params.onComplete;
let onStopped = params.onStopped;
delete params.onStopped;
return isFinished => {
cleanup();
if (!onComplete && !onStopped)
return null;
return isFinished => {
if (onStopped)
onStopped(isFinished);
if (onComplete && isFinished)
@@ -109,10 +110,7 @@ function _easeActor(actor, params) {
actor.set_easing_mode(params.mode);
delete params.mode;
Meta.disable_unredirect_for_display(global.display);
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
let callback = _makeEaseCallback(params, cleanup);
let callback = _makeEaseCallback(params);
// cancel overwritten transitions
let animatedProps = Object.keys(params).map(p => p.replace('_', '-', 'g'));
@@ -121,11 +119,14 @@ function _easeActor(actor, params) {
actor.set(params);
actor.restore_easing_state();
let transition = actor.get_transition(animatedProps[0]);
if (transition)
transition.connect('stopped', (t, finished) => callback(finished));
else
callback(true);
if (callback) {
let transition = actor.get_transition(animatedProps[0]);
if (transition)
transition.connect('stopped', (t, finished) => callback(finished));
else
callback(true);
}
}
function _easeActorProperty(actor, propName, target, params) {
@@ -138,15 +139,7 @@ function _easeActorProperty(actor, propName, target, params) {
params.duration = adjustAnimationTime(params.duration);
let duration = Math.floor(params.duration || 0);
// Copy Clutter's behavior for implicit animations, see
// should_skip_implicit_transition()
if (actor instanceof Clutter.Actor && !actor.mapped)
duration = 0;
Meta.disable_unredirect_for_display(global.display);
let cleanup = () => Meta.enable_unredirect_for_display(global.display);
let callback = _makeEaseCallback(params, cleanup);
let callback = _makeEaseCallback(params);
// cancel overwritten transition
actor.remove_transition(propName);
@@ -155,7 +148,8 @@ function _easeActorProperty(actor, propName, target, params) {
let [obj, prop] = _getPropertyTarget(actor, propName);
obj[prop] = target;
callback(true);
if (callback)
callback(true);
return;
}
@@ -170,7 +164,8 @@ function _easeActorProperty(actor, propName, target, params) {
transition.set_to(target);
transition.connect('stopped', (t, finished) => callback(finished));
if (callback)
transition.connect('stopped', (t, finished) => callback(finished));
}
function _loggingFunc(...args) {

View File

@@ -186,15 +186,14 @@ class InstallExtensionDialog extends ModalDialog.ModalDialog {
this._info = info;
this._invocation = invocation;
this.setButtons([{
label: _("Cancel"),
action: this._onCancelButtonPressed.bind(this),
key: Clutter.Escape,
}, {
label: _("Install"),
action: this._onInstallButtonPressed.bind(this),
default: true,
}]);
this.setButtons([{ label: _("Cancel"),
action: this._onCancelButtonPressed.bind(this),
key: Clutter.Escape
},
{ label: _("Install"),
action: this._onInstallButtonPressed.bind(this),
default: true
}]);
let content = new Dialog.MessageDialogContent({
title: _("Download and install “%s” from extensions.gnome.org?").format(info.name),

View File

@@ -17,11 +17,12 @@ const EXTENSION_DISABLE_VERSION_CHECK_KEY = 'disable-extension-version-validatio
var ExtensionManager = class {
constructor() {
this._initialized = false;
this._initted = false;
this._enabled = false;
this._extensions = new Map();
this._enabledExtensions = [];
this._requestedExtensions = [];
this._extensionOrder = [];
Main.sessionMode.connect('updated', this._sessionUpdated.bind(this));
@@ -98,9 +99,6 @@ var ExtensionManager = class {
}
_callExtensionEnable(uuid) {
if (!Main.sessionMode.allowExtensions)
return;
let extension = this.lookup(uuid);
if (!extension)
return;
@@ -111,6 +109,8 @@ var ExtensionManager = class {
if (extension.state != ExtensionState.DISABLED)
return;
this._extensionOrder.push(uuid);
let stylesheetNames = [`${global.session_mode}.css`, 'stylesheet.css'];
let theme = St.ThemeContext.get_for_stage(global.stage).get_theme();
for (let i = 0; i < stylesheetNames.length; i++) {
@@ -122,7 +122,7 @@ var ExtensionManager = class {
} catch (e) {
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
continue; // not an error
this.logExtensionError(uuid, e);
log(`Failed to load stylesheet for extension ${uuid}: ${e.message}`);
return;
}
}
@@ -130,14 +130,15 @@ var ExtensionManager = class {
try {
extension.stateObj.enable();
extension.state = ExtensionState.ENABLED;
this._extensionOrder.push(uuid);
this.emit('extension-state-changed', extension);
return;
} catch (e) {
if (extension.stylesheet) {
theme.unload_stylesheet(extension.stylesheet);
delete extension.stylesheet;
}
this.logExtensionError(uuid, e);
return;
}
}
@@ -194,7 +195,7 @@ var ExtensionManager = class {
extension.errors = [];
extension.errors.push(message);
logError(error, `Extension ${uuid}`);
log('Extension "%s" had error: %s'.format(uuid, message));
this.emit('extension-state-changed', extension);
}
@@ -250,6 +251,9 @@ var ExtensionManager = class {
// Default to error, we set success as the last step
extension.state = ExtensionState.ERROR;
let requested = this._requestedExtensions.includes(extension.uuid);
extension.isRequested = requested;
let checkVersion = !global.settings.get_boolean(EXTENSION_DISABLE_VERSION_CHECK_KEY);
if (checkVersion && ExtensionUtils.isOutOfDate(extension)) {
@@ -304,14 +308,12 @@ var ExtensionManager = class {
}
_callExtensionInit(uuid) {
if (!Main.sessionMode.allowExtensions)
return false;
let extension = this.lookup(uuid);
if (!extension)
throw new Error("Extension was not properly created. Call createExtensionObject first");
let dir = extension.dir;
if (!extension)
throw new Error("Extension was not properly created. Call loadExtension first");
let extensionJs = dir.get_child('extension.js');
if (!extensionJs.query_exists(null)) {
this.logExtensionError(uuid, new Error('Missing extension.js'));
@@ -365,10 +367,7 @@ var ExtensionManager = class {
? DISABLE_USER_EXTENSIONS_KEY
: ENABLED_EXTENSIONS_KEY;
extension.canChange =
!hasError &&
global.settings.is_writable(changeKey) &&
(isMode || !modeOnly);
extension.canChange = global.settings.is_writable(ENABLED_EXTENSIONS_KEY);
}
_getEnabledExtensions() {
@@ -382,6 +381,14 @@ var ExtensionManager = class {
return extensions.filter(item => !disabledExtensions.includes(item));
}
_getRequestedExtensions() {
let extensions = global.settings.get_strv(ENABLED_EXTENSIONS_KEY);
// filter out 'disabled-extensions' which takes precedence
let disabledExtensions = global.settings.get_strv(DISABLED_EXTENSIONS_KEY);
return extensions.filter(item => !disabledExtensions.includes(item));
}
_onUserExtensionsEnabledChanged() {
this._onEnabledExtensionsChanged();
this._onSettingsWritableChanged();
@@ -390,6 +397,19 @@ var ExtensionManager = class {
_onEnabledExtensionsChanged() {
let newEnabledExtensions = this._getEnabledExtensions();
if (!this._enabled)
return;
// Updated requested state and emit change notifications
this._requestedExtensions = this._getRequestedExtensions();
for (let extension of this._extensions.values()) {
let requested = this._requestedExtensions.includes(extension.uuid);
if (extension.isRequested == requested)
continue;
extension.isRequested = requested;
this.emit('extension-state-changed', extension);
}
// Find and enable all the newly enabled extensions: UUIDs found in the
// new setting, but not in the old one.
newEnabledExtensions.filter(
@@ -400,9 +420,9 @@ var ExtensionManager = class {
// Find and disable all the newly disabled extensions: UUIDs found in the
// old setting, but not in the new one.
this._extensionOrder.filter(
uuid => !newEnabledExtensions.includes(uuid)
).reverse().forEach(uuid => {
this._enabledExtensions.filter(
item => !newEnabledExtensions.includes(item)
).forEach(uuid => {
this._callExtensionDisable(uuid);
});
@@ -417,19 +437,22 @@ var ExtensionManager = class {
}
_onVersionValidationChanged() {
// Disabling extensions modifies the order array, so use a copy
let extensionOrder = this._extensionOrder.slice();
// we want to reload all extensions, but only enable
// extensions when allowed by the sessionMode, so
// temporarily disable them all
this._enabledExtensions = [];
// Disable enabled extensions in the reverse order first to avoid
// the "rebasing" done in _callExtensionDisable...
extensionOrder.slice().reverse().forEach(uuid => {
this._callExtensionDisable(uuid);
});
// The loop modifies the extensions map, so iterate over a copy
let extensions = [...this._extensions.values()];
for (let extension of extensions)
this.reloadExtension(extension);
this._enabledExtensions = this._getEnabledExtensions();
// ...and then reload and enable extensions in the correct order again.
[...this._extensions.values()].sort((a, b) => {
return extensionOrder.indexOf(a.uuid) - extensionOrder.indexOf(b.uuid);
}).forEach(extension => this.reloadExtension(extension));
if (Main.sessionMode.allowExtensions) {
this._enabledExtensions.forEach(uuid => {
this._callExtensionEnable(uuid);
});
}
}
_loadExtensions() {
@@ -447,6 +470,7 @@ var ExtensionManager = class {
this._onSettingsWritableChanged.bind(this));
this._enabledExtensions = this._getEnabledExtensions();
this._requestedExtensions = this._getRequestedExtensions();
let perUserDir = Gio.File.new_for_path(global.userdatadir);
FileUtils.collectFromDatadirs('extensions', true, (dir, info) => {
@@ -478,9 +502,9 @@ var ExtensionManager = class {
if (this._enabled)
return;
if (!this._initialized) {
if (!this._initted) {
this._loadExtensions();
this._initialized = true;
this._initted = true;
} else {
this._enabledExtensions.forEach(uuid => {
this._callExtensionEnable(uuid);
@@ -493,7 +517,7 @@ var ExtensionManager = class {
if (!this._enabled)
return;
if (this._initialized) {
if (this._initted) {
this._extensionOrder.slice().reverse().forEach(uuid => {
this._callExtensionDisable(uuid);
});
@@ -508,8 +532,9 @@ var ExtensionManager = class {
// property; it might make sense to make enabledExtensions independent
// from allowExtensions in the future
if (Main.sessionMode.allowExtensions) {
// Take care of added or removed sessionMode extensions
this._onEnabledExtensionsChanged();
if (this._initted) {
this._enabledExtensions = this._getEnabledExtensions();
}
this._enableAllExtensions();
} else {
this._disableAllExtensions();

View File

@@ -247,23 +247,10 @@ var IconGrid = GObject.registerClass({
_childAdded(grid, child) {
child._iconGridKeyFocusInId = child.connect('key-focus-in', this._keyFocusIn.bind(this));
child._paintVisible = child.opacity > 0;
child._opacityChangedId = child.connect('notify::opacity', () => {
let paintVisible = child._paintVisible;
child._paintVisible = child.opacity > 0;
if (paintVisible !== child._paintVisible)
this.queue_relayout();
});
}
_childRemoved(grid, child) {
child.disconnect(child._iconGridKeyFocusInId);
delete child._iconGridKeyFocusInId;
child.disconnect(child._opacityChangedId);
delete child._opacityChangedId;
delete child._paintVisible;
}
vfunc_get_preferred_width(_forHeight) {
@@ -427,7 +414,7 @@ var IconGrid = GObject.registerClass({
* set of items to be animated.
*/
_getChildrenToAnimate() {
return this._getVisibleChildren().filter(child => child.opacity > 0);
return this._getVisibleChildren();
}
_resetAnimationActors() {
@@ -884,7 +871,7 @@ var PaginatedIconGrid = GObject.registerClass({
// Overridden from IconGrid
_getChildrenToAnimate() {
let children = super._getChildrenToAnimate();
let children = this._getVisibleChildren();
let firstIndex = this._childrenPerPage * this.currentPage;
let lastIndex = firstIndex + this._childrenPerPage;

View File

@@ -27,7 +27,7 @@ class KbdA11yDialog extends GObject.Object {
if (whatChanged & Clutter.KeyboardA11yFlags.SLOW_KEYS_ENABLED) {
key = KEY_SLOW_KEYS_ENABLED;
enabled = (newFlags & Clutter.KeyboardA11yFlags.SLOW_KEYS_ENABLED) > 0;
enabled = (newFlags & Clutter.KeyboardA11yFlags.SLOW_KEYS_ENABLED) ? true : false;
title = enabled ?
_("Slow Keys Turned On") :
_("Slow Keys Turned Off");
@@ -36,7 +36,7 @@ class KbdA11yDialog extends GObject.Object {
} else if (whatChanged & Clutter.KeyboardA11yFlags.STICKY_KEYS_ENABLED) {
key = KEY_STICKY_KEYS_ENABLED;
enabled = (newFlags & Clutter.KeyboardA11yFlags.STICKY_KEYS_ENABLED) > 0;
enabled = (newFlags & Clutter.KeyboardA11yFlags.STICKY_KEYS_ENABLED) ? true : false;
title = enabled ?
_("Sticky Keys Turned On") :
_("Sticky Keys Turned Off");

View File

@@ -193,12 +193,12 @@ var LanguageSelectionPopup = class extends PopupMenu.PopupMenu {
item = this.addAction(is.displayName, () => {
inputSourceManager.activateInputSource(is, true);
});
item.can_focus = false;
item.actor.can_focus = false;
}
this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
item = this.addSettingsAction(_("Region & Language Settings"), 'gnome-region-panel.desktop');
item.can_focus = false;
item.actor.can_focus = false;
this._capturedEventId = 0;
@@ -574,7 +574,7 @@ var EmojiPager = GObject.registerClass({
'delta': GObject.ParamSpec.int(
'delta', 'delta', 'delta',
GObject.ParamFlags.READWRITE,
GLib.MININT32, GLib.MAXINT32, 0)
0, GLib.MAXINT32, 0)
},
Signals: {
'emoji': { param_types: [GObject.TYPE_STRING] },

View File

@@ -238,12 +238,11 @@ var LayoutManager = GObject.registerClass({
reactive: true });
this.addChrome(this.overviewGroup);
this.screenShieldGroup = new St.Widget({
name: 'screenShieldGroup',
visible: false,
clip_to_allocation: true,
layout_manager: new Clutter.BinLayout(),
});
this.screenShieldGroup = new St.Widget({ name: 'screenShieldGroup',
visible: false,
clip_to_allocation: true,
layout_manager: new Clutter.BinLayout(),
});
this.addChrome(this.screenShieldGroup);
this.panelBox = new St.BoxLayout({ name: 'panelBox',
@@ -861,7 +860,7 @@ var LayoutManager = GObject.registerClass({
// We can't use Params.parse here because we want to drop
// the extra values like ancestorData.actor
for (let prop in defaultParams) {
if (!Object.prototype.hasOwnProperty.call(params, prop))
if (!params.hasOwnProperty(prop))
params[prop] = ancestorData[prop];
}
@@ -1225,8 +1224,6 @@ var HotCorner = class HotCorner {
if (this.actor)
this.actor.destroy();
this._ripples.destroy();
}
_toggleOverview() {

View File

@@ -108,13 +108,12 @@ var RadialShaderEffect = GObject.registerClass({
*/
var Lightbox = class Lightbox {
constructor(container, params) {
params = Params.parse(params, {
inhibitEvents: false,
width: null,
height: null,
fadeFactor: DEFAULT_FADE_FACTOR,
radialEffect: false,
});
params = Params.parse(params, { inhibitEvents: false,
width: null,
height: null,
fadeFactor: DEFAULT_FADE_FACTOR,
radialEffect: false,
});
this._container = container;
this._children = container.get_children();
@@ -173,12 +172,9 @@ var Lightbox = class Lightbox {
}
show(fadeInTime) {
this.actor.remove_all_transitions();
fadeInTime = fadeInTime || 0;
let easeProps = {
duration: fadeInTime || 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
};
this.actor.remove_all_transitions();
let onComplete = () => {
this.shown = true;
@@ -187,38 +183,55 @@ var Lightbox = class Lightbox {
if (this._radialEffect) {
this.actor.ease_property(
'@effects.radial.brightness', VIGNETTE_BRIGHTNESS, easeProps);
'@effects.radial.brightness', VIGNETTE_BRIGHTNESS, {
duration: fadeInTime,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
});
this.actor.ease_property(
'@effects.radial.sharpness', VIGNETTE_SHARPNESS,
Object.assign({ onComplete }, easeProps));
'@effects.radial.sharpness', VIGNETTE_SHARPNESS, {
duration: fadeInTime,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete
});
} else {
this.actor.ease(Object.assign(easeProps, {
this.actor.ease({
opacity: 255 * this._fadeFactor,
duration: fadeInTime,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete
}));
});
}
this.actor.show();
}
hide(fadeOutTime) {
fadeOutTime = fadeOutTime || 0;
this.shown = false;
this.actor.remove_all_transitions();
let easeProps = {
duration: fadeOutTime || 0,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
};
let onComplete = () => this.actor.hide();
if (this._radialEffect) {
this.actor.ease_property(
'@effects.radial.brightness', 1.0, easeProps);
'@effects.radial.brightness', 1.0, {
duration: fadeOutTime,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
});
this.actor.ease_property(
'@effects.radial.sharpness', 0.0, Object.assign({ onComplete }, easeProps));
'@effects.radial.sharpness', 0.0, {
duration: fadeOutTime,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete
});
} else {
this.actor.ease(Object.assign(easeProps, { opacity: 0, onComplete }));
this.actor.ease({
opacity: 0,
duration: fadeOutTime,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete
});
}
}

View File

@@ -11,26 +11,12 @@ const LOCATE_POINTER_SCHEMA = "org.gnome.desktop.interface";
var LocatePointer = class {
constructor() {
this._settings = new Gio.Settings({ schema_id: LOCATE_POINTER_SCHEMA });
this._settings.connect(`changed::${LOCATE_POINTER_KEY}`, () => this._syncEnabled());
this._syncEnabled();
}
_syncEnabled() {
let enabled = this._settings.get_boolean(LOCATE_POINTER_KEY);
if (enabled == !!this._ripples)
return;
if (enabled) {
this._ripples = new Ripples.Ripples(0.5, 0.5, 'ripple-pointer-location');
this._ripples.addTo(Main.uiGroup);
} else {
this._ripples.destroy();
this._ripples = null;
}
this._ripples = new Ripples.Ripples(0.5, 0.5, 'ripple-pointer-location');
this._ripples.addTo(Main.uiGroup);
}
show() {
if (!this._ripples)
if (!this._settings.get_boolean(LOCATE_POINTER_KEY))
return;
let [x, y] = global.get_pointer();

View File

@@ -3,6 +3,7 @@
const { Clutter, Cogl, Gio, GLib,
GObject, Meta, Pango, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const System = imports.system;
@@ -19,6 +20,7 @@ const CHEVRON = '>>> ';
/* Imports...feel free to add here as needed */
var commandHeader = 'const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi; ' +
'const Main = imports.ui.main; ' +
'const Mainloop = imports.mainloop; ' +
/* Utility functions...we should probably be able to use these
* in the shell core code too. */
'const stage = global.stage; ' +
@@ -238,7 +240,7 @@ var Notebook = class Notebook {
Signals.addSignalMethods(Notebook.prototype);
function objectToString(o) {
if (typeof o == typeof objectToString) {
if (typeof(o) == typeof(objectToString)) {
// special case this since the default is way, way too verbose
return '<js function>';
} else {
@@ -304,9 +306,6 @@ var WindowList = class WindowList {
}
_updateWindowList() {
if (!this._lookingGlass.isOpen)
return;
this.actor.destroy_all_children();
let windows = global.get_window_actors();
let tracker = Shell.WindowTracker.get_default();
@@ -338,10 +337,6 @@ var WindowList = class WindowList {
}
}
}
update() {
this._updateWindowList();
}
};
Signals.addSignalMethods(WindowList.prototype);
@@ -374,7 +369,7 @@ var ObjInspector = class ObjInspector {
let hbox = new St.BoxLayout({ style_class: 'lg-obj-inspector-title' });
this._container.add_actor(hbox);
let label = new St.Label({ text: 'Inspecting: %s: %s'.format(typeof obj,
let label = new St.Label({ text: 'Inspecting: %s: %s'.format(typeof(obj),
objectToString(obj)) });
label.single_line_mode = true;
hbox.add(label, { expand: true, y_fill: false });
@@ -392,7 +387,7 @@ var ObjInspector = class ObjInspector {
button.add_actor(new St.Icon({ icon_name: 'window-close-symbolic' }));
button.connect('clicked', this.close.bind(this));
hbox.add(button);
if (typeof obj == typeof {}) {
if (typeof(obj) == typeof({})) {
let properties = [];
for (let propName in obj) {
properties.push(propName);
@@ -826,7 +821,7 @@ var LookingGlass = class LookingGlass {
gcIcon.connect('button-press-event', () => {
gcIcon.icon_name = 'user-trash';
System.gc();
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 500, () => {
this._timeoutId = Mainloop.timeout_add(500, () => {
gcIcon.icon_name = 'user-trash-full';
this._timeoutId = 0;
return GLib.SOURCE_REMOVE;
@@ -1015,11 +1010,7 @@ var LookingGlass = class LookingGlass {
}
getResult(idx) {
try {
return this._results[idx - this._offset].o;
} catch (e) {
throw new Error(`Unknown result at index ${idx}`);
}
return this._results[idx - this._offset].o;
}
toggle() {
@@ -1106,8 +1097,6 @@ var LookingGlass = class LookingGlass {
duration,
mode: Clutter.AnimationMode.EASE_OUT_QUAD
});
this._windowList.update();
}
close() {
@@ -1133,9 +1122,5 @@ var LookingGlass = class LookingGlass {
onComplete: () => this.actor.hide()
});
}
get isOpen() {
return this._open;
}
};
Signals.addSignalMethods(LookingGlass.prototype);

View File

@@ -2,6 +2,7 @@
const { Atspi, Clutter, GDesktopEnums,
Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Background = imports.ui.background;
@@ -1143,7 +1144,7 @@ var ZoomRegion = class ZoomRegion {
_clearScrollContentsTimer() {
if (this._scrollContentsTimerId != 0) {
GLib.source_remove(this._scrollContentsTimerId);
Mainloop.source_remove(this._scrollContentsTimerId);
this._scrollContentsTimerId = 0;
}
}
@@ -1155,7 +1156,7 @@ var ZoomRegion = class ZoomRegion {
}
this._clearScrollContentsTimer();
this._scrollContentsTimerId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, POINTER_REST_TIME, () => {
this._scrollContentsTimerId = Mainloop.timeout_add(POINTER_REST_TIME, () => {
this._scrollContentsToDelayed(x, y);
return GLib.SOURCE_REMOVE;
});

View File

@@ -9,6 +9,7 @@
initializeDeferredWork, getThemeStylesheet, setThemeStylesheet */
const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const AccessDialog = imports.ui.accessDialog;
const AudioDeviceSelection = imports.ui.audioDeviceSelection;
@@ -619,7 +620,7 @@ function _runDeferredWork(workId) {
_deferredWorkQueue.splice(index, 1);
_deferredWorkData[workId].callback();
if (_deferredWorkQueue.length == 0 && _deferredTimeoutId > 0) {
GLib.source_remove(_deferredTimeoutId);
Mainloop.source_remove(_deferredTimeoutId);
_deferredTimeoutId = 0;
}
}
@@ -707,7 +708,7 @@ function queueDeferredWork(workId) {
_queueBeforeRedraw(workId);
return;
} else if (_deferredTimeoutId == 0) {
_deferredTimeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, DEFERRED_TIMEOUT_SECONDS, () => {
_deferredTimeoutId = Mainloop.timeout_add_seconds(DEFERRED_TIMEOUT_SECONDS, () => {
_runAllDeferredWork();
_deferredTimeoutId = 0;
return GLib.SOURCE_REMOVE;

View File

@@ -4,6 +4,7 @@
SystemNotificationSource, MessageTray */
const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Calendar = imports.ui.calendar;
@@ -136,14 +137,13 @@ var FocusGrabber = class FocusGrabber {
// A notification without a policy object will inherit the default one.
var NotificationPolicy = class NotificationPolicy {
constructor(params) {
params = Params.parse(params, {
enable: true,
enableSound: true,
showBanners: true,
forceExpanded: false,
showInLockScreen: true,
detailsInLockScreen: false,
});
params = Params.parse(params, { enable: true,
enableSound: true,
showBanners: true,
forceExpanded: false,
showInLockScreen: true,
detailsInLockScreen: false
});
Object.getOwnPropertyNames(params).forEach(key => {
let desc = Object.getOwnPropertyDescriptor(params, key);
Object.defineProperty(this, `_${key}`, desc);
@@ -153,7 +153,6 @@ var NotificationPolicy = class NotificationPolicy {
// Do nothing for the default policy. These methods are only useful for the
// GSettings policy.
store() { }
destroy() { }
get enable() {
@@ -1005,6 +1004,7 @@ var MessageTray = class MessageTray {
_addSource(source) {
let obj = {
source: source,
notifyId: 0,
destroyId: 0,
};
@@ -1091,7 +1091,7 @@ var MessageTray = class MessageTray {
_resetNotificationLeftTimeout() {
this._useLongerNotificationLeftTimeout = false;
if (this._notificationLeftTimeoutId) {
GLib.source_remove(this._notificationLeftTimeoutId);
Mainloop.source_remove(this._notificationLeftTimeoutId);
this._notificationLeftTimeoutId = 0;
this._notificationLeftMouseX = -1;
this._notificationLeftMouseY = -1;
@@ -1137,7 +1137,7 @@ var MessageTray = class MessageTray {
// We wait for a longer period if the notification popped up where the mouse pointer was already positioned.
// That gives the user more time to mouse away from the notification and mouse back in in order to expand it.
let timeout = this._useLongerNotificationLeftTimeout ? LONGER_HIDE_TIMEOUT : HIDE_TIMEOUT;
this._notificationLeftTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, timeout, this._onNotificationLeftTimeout.bind(this));
this._notificationLeftTimeoutId = Mainloop.timeout_add(timeout, this._onNotificationLeftTimeout.bind(this));
GLib.Source.set_name_by_id(this._notificationLeftTimeoutId, '[gnome-shell] this._onNotificationLeftTimeout');
}
}
@@ -1166,10 +1166,8 @@ var MessageTray = class MessageTray {
x < this._notificationLeftMouseX + MOUSE_LEFT_ACTOR_THRESHOLD &&
x > this._notificationLeftMouseX - MOUSE_LEFT_ACTOR_THRESHOLD) {
this._notificationLeftMouseX = -1;
this._notificationLeftTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
LONGER_HIDE_TIMEOUT,
this._onNotificationLeftTimeout.bind(this));
this._notificationLeftTimeoutId = Mainloop.timeout_add(LONGER_HIDE_TIMEOUT,
this._onNotificationLeftTimeout.bind(this));
GLib.Source.set_name_by_id(this._notificationLeftTimeoutId, '[gnome-shell] this._onNotificationLeftTimeout');
} else {
this._notificationLeftTimeoutId = 0;
@@ -1347,13 +1345,13 @@ var MessageTray = class MessageTray {
_updateNotificationTimeout(timeout) {
if (this._notificationTimeoutId) {
GLib.source_remove(this._notificationTimeoutId);
Mainloop.source_remove(this._notificationTimeoutId);
this._notificationTimeoutId = 0;
}
if (timeout > 0) {
this._notificationTimeoutId =
GLib.timeout_add(GLib.PRIORITY_DEFAULT, timeout,
this._notificationTimeout.bind(this));
Mainloop.timeout_add(timeout,
this._notificationTimeout.bind(this));
GLib.Source.set_name_by_id(this._notificationTimeoutId, '[gnome-shell] this._notificationTimeout');
}
}

View File

@@ -2,6 +2,7 @@
/* exported NotificationDaemon */
const { GdkPixbuf, Gio, GLib, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Config = imports.misc.config;
const Main = imports.ui.main;
@@ -170,7 +171,7 @@ var FdoNotificationDaemon = class FdoNotificationDaemon {
// Ignore replacesId since we already sent back a
// NotificationClosed for that id.
id = this._nextNotificationId++;
let idleId = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
let idleId = Mainloop.idle_add(() => {
this._emitNotificationClosed(id, NotificationClosedReason.DISMISSED);
return GLib.SOURCE_REMOVE;
});
@@ -749,33 +750,29 @@ var GtkNotificationDaemon = class GtkNotificationDaemon {
_loadNotifications() {
this._isLoading = true;
try {
let value = global.get_persistent_state('a(sa(sv))', 'notifications');
if (value) {
let sources = value.deep_unpack();
sources.forEach(([appId, notifications]) => {
if (notifications.length == 0)
let value = global.get_persistent_state('a(sa(sv))', 'notifications');
if (value) {
let sources = value.deep_unpack();
sources.forEach(([appId, notifications]) => {
if (notifications.length == 0)
return;
let source;
try {
source = this._ensureAppSource(appId);
} catch (e) {
if (e instanceof InvalidAppError)
return;
throw e;
}
let source;
try {
source = this._ensureAppSource(appId);
} catch (e) {
if (e instanceof InvalidAppError)
return;
throw e;
}
notifications.forEach(([notificationId, notification]) => {
source.addNotification(notificationId, notification.deep_unpack(), false);
});
notifications.forEach(([notificationId, notification]) => {
source.addNotification(notificationId, notification.deep_unpack(), false);
});
}
} catch (e) {
logError(e, 'Failed to load saved notifications');
} finally {
this._isLoading = false;
});
}
this._isLoading = false;
}
_saveNotifications() {

View File

@@ -2,6 +2,7 @@
/* exported OsdWindowManager */
const { Clutter, GLib, GObject, Meta, St } = imports.gi;
const Mainloop = imports.mainloop;
const BarLevel = imports.ui.barLevel;
const Layout = imports.ui.layout;
@@ -142,9 +143,9 @@ var OsdWindow = class {
}
if (this._hideTimeoutId)
GLib.source_remove(this._hideTimeoutId);
this._hideTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT, HIDE_TIMEOUT, this._hide.bind(this));
Mainloop.source_remove(this._hideTimeoutId);
this._hideTimeoutId = Mainloop.timeout_add(HIDE_TIMEOUT,
this._hide.bind(this));
GLib.Source.set_name_by_id(this._hideTimeoutId, '[gnome-shell] this._hide');
}
@@ -152,7 +153,7 @@ var OsdWindow = class {
if (!this._hideTimeoutId)
return;
GLib.source_remove(this._hideTimeoutId);
Mainloop.source_remove(this._hideTimeoutId);
this._hide();
}

View File

@@ -2,6 +2,7 @@
/* exported Overview */
const { Clutter, GLib, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Background = imports.ui.background;
@@ -42,10 +43,9 @@ var ShellInfo = class {
}
setMessage(text, options) {
options = Params.parse(options, {
undoCallback: null,
forFeedback: false,
});
options = Params.parse(options, { undoCallback: null,
forFeedback: false
});
let undoCallback = options.undoCallback;
let forFeedback = options.forFeedback;
@@ -300,7 +300,7 @@ var Overview = class {
_resetWindowSwitchTimeout() {
if (this._windowSwitchTimeoutId != 0) {
GLib.source_remove(this._windowSwitchTimeoutId);
Mainloop.source_remove(this._windowSwitchTimeoutId);
this._windowSwitchTimeoutId = 0;
}
}
@@ -323,9 +323,7 @@ var Overview = class {
if (targetIsWindow) {
this._lastHoveredWindow = dragEvent.targetActor._delegate.metaWindow;
this._windowSwitchTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
DND_WINDOW_SWITCH_TIMEOUT,
this._windowSwitchTimeoutId = Mainloop.timeout_add(DND_WINDOW_SWITCH_TIMEOUT,
() => {
this._windowSwitchTimeoutId = 0;
Main.activateWindow(dragEvent.targetActor._delegate.metaWindow,
@@ -483,13 +481,15 @@ var Overview = class {
if (this._shown) {
let shouldBeModal = !this._inXdndDrag;
if (shouldBeModal && !this._modal) {
let actionMode = Shell.ActionMode.OVERVIEW;
if (Main.pushModal(this._overview, { actionMode })) {
this._modal = true;
} else {
this.hide();
return false;
if (shouldBeModal) {
if (!this._modal) {
if (Main.pushModal(this._overview,
{ actionMode: Shell.ActionMode.OVERVIEW })) {
this._modal = true;
} else {
this.hide();
return false;
}
}
}
} else {

View File

@@ -248,7 +248,6 @@ var SlidingControl = class {
// selector; this means we can now safely set the full slide for
// the next page, since slideIn or slideOut might have been called,
// changing the visiblity
this.actor.remove_transition('@layout.slide-x');
this.layout.slide_x = this._getSlide();
this._updateTranslation();
}

View File

@@ -3,6 +3,7 @@
const { Atk, Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Cairo = imports.cairo;
const Mainloop = imports.mainloop;
const Animation = imports.ui.animation;
const Config = imports.misc.config;
@@ -450,8 +451,8 @@ class ActivitiesButton extends PanelMenu.Button {
return DND.DragMotionResult.CONTINUE;
if (this._xdndTimeOut != 0)
GLib.source_remove(this._xdndTimeOut);
this._xdndTimeOut = GLib.timeout_add(GLib.PRIORITY_DEFAULT, BUTTON_DND_ACTIVATION_TIMEOUT, () => {
Mainloop.source_remove(this._xdndTimeOut);
this._xdndTimeOut = Mainloop.timeout_add(BUTTON_DND_ACTIVATION_TIMEOUT, () => {
this._xdndToggleOverview();
});
GLib.Source.set_name_by_id(this._xdndTimeOut, '[gnome-shell] this._xdndToggleOverview');
@@ -495,7 +496,7 @@ class ActivitiesButton extends PanelMenu.Button {
if (pickedActor == this && Main.overview.shouldToggleByCornerOrButton())
Main.overview.toggle();
GLib.source_remove(this._xdndTimeOut);
Mainloop.source_remove(this._xdndTimeOut);
this._xdndTimeOut = 0;
return GLib.SOURCE_REMOVE;
}

View File

@@ -1,5 +1,5 @@
/* exported PointerA11yTimeout */
const { Clutter, GObject, Meta, St } = imports.gi;
const { Clutter, GLib, GObject, Meta, St } = imports.gi;
const Main = imports.ui.main;
const Cairo = imports.cairo;

View File

@@ -2,6 +2,7 @@
/* exported getPointerWatcher */
const { GLib, Meta } = imports.gi;
const Mainloop = imports.mainloop;
// We stop polling if the user is idle for more than this amount of time
var IDLE_TIME = 1000;
@@ -86,7 +87,7 @@ var PointerWatcher = class {
_updateTimeout() {
if (this._timeoutId) {
GLib.source_remove(this._timeoutId);
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
@@ -97,8 +98,8 @@ var PointerWatcher = class {
for (let i = 1; i < this._watches.length; i++)
minInterval = Math.min(this._watches[i].interval, minInterval);
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, minInterval,
this._onTimeout.bind(this));
this._timeoutId = Mainloop.timeout_add(minInterval,
this._onTimeout.bind(this));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout');
}

View File

@@ -57,9 +57,11 @@ var PopupBaseMenuItem = GObject.registerClass({
Properties: {
'active': GObject.ParamSpec.boolean('active', 'active', 'active',
GObject.ParamFlags.READWRITE,
GObject.TYPE_BOOLEAN,
false),
'sensitive': GObject.ParamSpec.boolean('sensitive', 'sensitive', 'sensitive',
GObject.ParamFlags.READWRITE,
GObject.TYPE_BOOLEAN,
true),
},
Signals: {
@@ -67,13 +69,12 @@ var PopupBaseMenuItem = GObject.registerClass({
}
}, class PopupBaseMenuItem extends St.BoxLayout {
_init(params) {
params = Params.parse (params, {
reactive: true,
activate: true,
hover: true,
style_class: null,
can_focus: true,
});
params = Params.parse (params, { reactive: true,
activate: true,
hover: true,
style_class: null,
can_focus: true
});
super._init({ style_class: 'popup-menu-item',
reactive: params.reactive,
track_hover: params.reactive,
@@ -332,10 +333,9 @@ var PopupSwitchMenuItem = GObject.registerClass({
this._statusBin = new St.Bin({ x_align: St.Align.END });
this.add(this._statusBin, { expand: true, x_align: St.Align.END });
this._statusLabel = new St.Label({
text: '',
style_class: 'popup-status-menu-item',
});
this._statusLabel = new St.Label({ text: '',
style_class: 'popup-status-menu-item'
});
this._statusBin.child = this._switch;
}

View File

@@ -34,12 +34,6 @@ var Ripples = class Ripples {
this._ripple3.set_pivot_point(px, py);
}
destroy() {
this._ripple1.destroy();
this._ripple2.destroy();
this._ripple3.destroy();
}
_animRipple(ripple, delay, duration, startScale, startOpacity, finalScale) {
// We draw a ripple by using a source image and animating it scaling
// outwards and fading away. We want the ripples to move linearly

View File

@@ -94,11 +94,9 @@ class RunDialog extends ModalDialog.ModalDialog {
this._errorBox.hide();
this.setButtons([{
action: this.close.bind(this),
label: _("Close"),
key: Clutter.Escape,
}]);
this.setButtons([{ action: this.close.bind(this),
label: _("Close"),
key: Clutter.Escape }]);
this._pathCompleter = new Gio.FilenameCompleter();

View File

@@ -3,6 +3,7 @@
const { AccountsService, Clutter, Cogl, Gio, GLib,
GnomeDesktop, GObject, Meta, Shell, St } = imports.gi;
const Cairo = imports.cairo;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Background = imports.ui.background;
@@ -429,14 +430,13 @@ var ScreenShield = class {
this.actor = Main.layoutManager.screenShieldGroup;
this._lockScreenState = MessageTray.State.HIDDEN;
this._lockScreenGroup = new St.Widget({
x_expand: true,
y_expand: true,
reactive: true,
can_focus: true,
name: 'lockScreenGroup',
visible: false,
});
this._lockScreenGroup = new St.Widget({ x_expand: true,
y_expand: true,
reactive: true,
can_focus: true,
name: 'lockScreenGroup',
visible: false,
});
this._lockScreenGroup.connect('key-press-event',
this._onLockScreenKeyPress.bind(this));
this._lockScreenGroup.connect('scroll-event',
@@ -833,14 +833,12 @@ var ScreenShield = class {
let lockTimeout = Math.max(
STANDARD_FADE_TIME,
this._settings.get_uint(LOCK_DELAY_KEY) * 1000);
this._lockTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
lockTimeout,
() => {
this._lockTimeoutId = 0;
this.lock(false);
return GLib.SOURCE_REMOVE;
});
this._lockTimeoutId = Mainloop.timeout_add(lockTimeout,
() => {
this._lockTimeoutId = 0;
this.lock(false);
return GLib.SOURCE_REMOVE;
});
GLib.Source.set_name_by_id(this._lockTimeoutId, '[gnome-shell] this.lock');
}
@@ -1030,7 +1028,7 @@ var ScreenShield = class {
this._arrowActiveWatchId = 0;
if (!this._arrowAnimationId) {
this._arrowAnimationId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 6000, this._animateArrows.bind(this));
this._arrowAnimationId = Mainloop.timeout_add(6000, this._animateArrows.bind(this));
GLib.Source.set_name_by_id(this._arrowAnimationId, '[gnome-shell] this._animateArrows');
this._animateArrows();
}
@@ -1042,7 +1040,7 @@ var ScreenShield = class {
_pauseArrowAnimation() {
if (this._arrowAnimationId) {
GLib.source_remove(this._arrowAnimationId);
Mainloop.source_remove(this._arrowAnimationId);
this._arrowAnimationId = 0;
}
@@ -1052,7 +1050,7 @@ var ScreenShield = class {
_stopArrowAnimation() {
if (this._arrowAnimationId) {
GLib.source_remove(this._arrowAnimationId);
Mainloop.source_remove(this._arrowAnimationId);
this._arrowAnimationId = 0;
}
if (this._arrowActiveWatchId) {
@@ -1099,7 +1097,7 @@ var ScreenShield = class {
if (params.fadeToBlack && params.animateFade) {
// Take a beat
let id = GLib.timeout_add(GLib.PRIORITY_DEFAULT, MANUAL_FADE_TIME, () => {
let id = Mainloop.timeout_add(MANUAL_FADE_TIME, () => {
this._activateFade(this._shortLightbox, MANUAL_FADE_TIME);
return GLib.SOURCE_REMOVE;
});
@@ -1242,7 +1240,7 @@ var ScreenShield = class {
}
if (this._lockTimeoutId != 0) {
GLib.source_remove(this._lockTimeoutId);
Mainloop.source_remove(this._lockTimeoutId);
this._lockTimeoutId = 0;
}

View File

@@ -271,7 +271,7 @@ var SelectArea = class {
}
_onMotionEvent(actor, event) {
if (this._startX == -1 || this._startY == -1 || this._result)
if (this._startX == -1 || this._startY == -1)
return Clutter.EVENT_PROPAGATE;
[this._lastX, this._lastY] = event.get_coords();

View File

@@ -4,6 +4,7 @@
collectStatistics, runPerfScript */
const { Gio, GLib, Meta, Shell } = imports.gi;
const Mainloop = imports.mainloop;
const Main = imports.ui.main;
const Params = imports.misc.params;
@@ -40,7 +41,7 @@ const { loadInterfaceXML } = imports.misc.fileUtils;
*/
function sleep(milliseconds) {
return new Promise(resolve => {
let id = GLib.timeout_add(GLib.PRIORITY_DEFAULT, milliseconds, () => {
let id = Mainloop.timeout_add(milliseconds, () => {
resolve();
return GLib.SOURCE_REMOVE;
});

View File

@@ -158,15 +158,10 @@ var SearchResultsBase = class {
this._clipboard = St.Clipboard.get_default();
this._cancellable = new Gio.Cancellable();
this.actor.connect('destroy', this._onDestroy.bind(this));
}
destroy() {
this.actor.destroy();
}
_onDestroy() {
this._terms = [];
}
@@ -346,30 +341,14 @@ var GridSearchResults = class extends SearchResultsBase {
this._resultDisplayBin.set_child(this._bin);
}
_onDestroy() {
if (this._updateSearchLater) {
Meta.later_remove(this._updateSearchLater);
delete this._updateSearchLater;
}
super._onDestroy();
}
updateSearch(...args) {
if (this._notifyAllocationId)
this.actor.disconnect(this._notifyAllocationId);
if (this._updateSearchLater) {
Meta.later_remove(this._updateSearchLater);
delete this._updateSearchLater;
}
// Make sure the maximum number of results calculated by
// _getMaxDisplayedResults() is updated after width changes.
this._notifyAllocationId = this.actor.connect('notify::allocation', () => {
if (this._updateSearchLater)
return;
this._updateSearchLater = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
delete this._updateSearchLater;
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
super.updateSearch(...args);
return GLib.SOURCE_REMOVE;
});

View File

@@ -2,6 +2,7 @@
/* exported SessionMode, listModes */
const GLib = imports.gi.GLib;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const FileUtils = imports.misc.fileUtils;
@@ -111,7 +112,7 @@ function _loadMode(file, info) {
let suffix = name.indexOf('.json');
let modeName = suffix == -1 ? name : name.slice(name, suffix);
if (Object.prototype.hasOwnProperty.call(_modes, modeName))
if (_modes.hasOwnProperty(modeName))
return;
let fileContent, success_, newMode;
@@ -140,16 +141,15 @@ function _loadModes() {
function listModes() {
_loadModes();
let loop = new GLib.MainLoop(null, false);
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
let id = Mainloop.idle_add(() => {
let names = Object.getOwnPropertyNames(_modes);
for (let i = 0; i < names.length; i++)
if (_modes[names[i]].isPrimary)
print(names[i]);
loop.quit();
Mainloop.quit('listModes');
});
GLib.Source.set_name_by_id(id, '[gnome-shell] listModes');
loop.run();
Mainloop.run('listModes');
}
var SessionMode = class {

View File

@@ -26,10 +26,9 @@ function _setButtonsForChoices(dialog, choices) {
for (let idx = 0; idx < choices.length; idx++) {
let button = idx;
buttons.unshift({
label: choices[idx],
action: () => dialog.emit('response', button),
});
buttons.unshift({ label: choices[idx],
action: () => dialog.emit('response', button)
});
}
dialog.setButtons(buttons);
@@ -388,26 +387,24 @@ var ShellMountPasswordDialog = GObject.registerClass({
this._rememberChoice = null;
}
this._defaultButtons = [{
label: _("Cancel"),
action: this._onCancelButton.bind(this),
key: Clutter.Escape,
}, {
label: _("Unlock"),
action: this._onUnlockButton.bind(this),
default: true,
}];
this._defaultButtons = [{ label: _("Cancel"),
action: this._onCancelButton.bind(this),
key: Clutter.Escape
},
{ label: _("Unlock"),
action: this._onUnlockButton.bind(this),
default: true
}];
this._usesKeyfilesButtons = [{
label: _("Cancel"),
action: this._onCancelButton.bind(this),
key: Clutter.Escape,
}, {
/* Translators: %s is the Disks application */
label: _("Open %s").format(disksApp.get_name()),
action: this._onOpenDisksButton.bind(this),
default: true,
}];
this._usesKeyfilesButtons = [{ label: _("Cancel"),
action: this._onCancelButton.bind(this),
key: Clutter.Escape
},
{ /* Translators: %s is the Disks application */
label: _("Open %s").format(disksApp.get_name()),
action: this._onOpenDisksButton.bind(this),
default: true
}];
this.setButtons(this._defaultButtons);
}

View File

@@ -2,6 +2,7 @@
/* exported ATIndicator */
const { Gio, GLib, GObject, St } = imports.gi;
const Mainloop = imports.mainloop;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
@@ -95,7 +96,7 @@ class ATIndicator extends PanelMenu.Button {
if (this._syncMenuVisibilityIdle)
return;
this._syncMenuVisibilityIdle = GLib.idle_add(GLib.PRIORITY_DEFAULT, this._syncMenuVisibility.bind(this));
this._syncMenuVisibilityIdle = Mainloop.idle_add(this._syncMenuVisibility.bind(this));
GLib.Source.set_name_by_id(this._syncMenuVisibilityIdle, '[gnome-shell] this._syncMenuVisibility');
}

View File

@@ -13,8 +13,8 @@ const PanelMenu = imports.ui.panelMenu;
const SwitcherPopup = imports.ui.switcherPopup;
const Util = imports.misc.util;
var INPUT_SOURCE_TYPE_XKB = 'xkb';
var INPUT_SOURCE_TYPE_IBUS = 'ibus';
const INPUT_SOURCE_TYPE_XKB = 'xkb';
const INPUT_SOURCE_TYPE_IBUS = 'ibus';
var LayoutMenuItem = GObject.registerClass(
class LayoutMenuItem extends PopupMenu.PopupBaseMenuItem {

View File

@@ -1,6 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported NMApplet */
const { Clutter, Gio, GLib, GObject, NM, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Animation = imports.ui.animation;
@@ -718,7 +719,7 @@ class NMWirelessDialog extends ModalDialog.ModalDialog {
this._updateSensitivity();
this._syncView();
this._scanTimeoutId = GLib.timeout_add_seconds(GLib.PRIORITY_DEFAULT, 15, this._onScanTimeout.bind(this));
this._scanTimeoutId = Mainloop.timeout_add_seconds(15, this._onScanTimeout.bind(this));
GLib.Source.set_name_by_id(this._scanTimeoutId, '[gnome-shell] this._onScanTimeout');
this._onScanTimeout();
@@ -756,7 +757,7 @@ class NMWirelessDialog extends ModalDialog.ModalDialog {
}
if (this._scanTimeoutId) {
GLib.source_remove(this._scanTimeoutId);
Mainloop.source_remove(this._scanTimeoutId);
this._scanTimeoutId = 0;
}
}
@@ -873,7 +874,7 @@ class NMWirelessDialog extends ModalDialog.ModalDialog {
this._airplaneHeadline = new St.Label({ style_class: 'nm-dialog-airplane-headline headline' });
this._airplaneText = new St.Label({ style_class: 'nm-dialog-airplane-text' });
let airplaneSubStack = new St.Widget({ layout_manager: new Clutter.BinLayout() });
let airplaneSubStack = new St.Widget({ layout_manager: new Clutter.BinLayout });
this._airplaneButton = new St.Button({ style_class: 'modal-dialog-button button' });
this._airplaneButton.connect('clicked', () => {
if (this._rfkill.airplaneMode)
@@ -1073,14 +1074,13 @@ class NMWirelessDialog extends ModalDialog.ModalDialog {
this._resortItems();
} else {
network = {
ssid: accessPoint.get_ssid(),
mode: accessPoint.mode,
security: this._getApSecurityType(accessPoint),
connections: [],
item: null,
accessPoints: [accessPoint],
};
network = { ssid: accessPoint.get_ssid(),
mode: accessPoint.mode,
security: this._getApSecurityType(accessPoint),
connections: [],
item: null,
accessPoints: [accessPoint]
};
network.ssidText = ssidToLabel(network.ssid);
this._checkConnections(network, accessPoint);

View File

@@ -110,7 +110,7 @@ var Indicator = class extends PanelMenu.SystemIndicator {
// The icons
let chargingState = this._proxy.State == UPower.DeviceState.CHARGING
? '-charging' : '';
let fillLevel = 10 * Math.ceil(this._proxy.Percentage / 10);
let fillLevel = 10 * Math.floor(this._proxy.Percentage / 10);
let icon = this._proxy.State == UPower.DeviceState.FULLY_CHARGED
? 'battery-level-100-charged-symbolic'
: `battery-level-${fillLevel}${chargingState}-symbolic`;

View File

@@ -137,6 +137,15 @@ var Indicator = class extends PanelMenu.SystemIndicator {
this._sessionUpdated();
}
_updateActionsVisibility() {
let visible = (this._settingsAction.visible ||
this._orientationLockAction.visible ||
this._lockScreenAction.visible ||
this._altSwitcher.actor.visible);
this.buttonGroup.visible = visible;
}
_sessionUpdated() {
this._settingsAction.visible = Main.sessionMode.allowSettings;
}
@@ -244,7 +253,7 @@ var Indicator = class extends PanelMenu.SystemIndicator {
this._orientationLockAction = this._createActionButton('', _("Orientation Lock"));
this._orientationLockAction.connect('clicked', () => {
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE);
this.menu.itemActivated(BoxPointer.PopupAnimation.NONE),
this._systemActions.activateLockOrientation();
});
item.add(this._orientationLockAction, { expand: true, x_fill: false });
@@ -293,18 +302,15 @@ var Indicator = class extends PanelMenu.SystemIndicator {
this.menu.addMenuItem(item);
let visibilityGroup = [
this._settingsAction,
this._orientationLockAction,
this._lockScreenAction,
this._altSwitcher.actor,
];
for (let actor of visibilityGroup) {
actor.connect('notify::visible', () => {
this.buttonGroup.visible = visibilityGroup.some(a => a.visible);
});
}
this._settingsAction.connect('notify::visible',
() => this._updateActionsVisibility());
this._orientationLockAction.connect('notify::visible',
() => this._updateActionsVisibility());
this._lockScreenAction.connect('notify::visible',
() => this._updateActionsVisibility());
this._altSwitcher.actor.connect('notify::visible',
() => this._updateActionsVisibility());
}
_onSettingsClicked() {

View File

@@ -1,7 +1,7 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported Indicator */
const { Clutter, Gio, GObject, Gvc, St } = imports.gi;
const { Clutter, Gio, Gvc, St } = imports.gi;
const Signals = imports.signals;
const Main = imports.ui.main;
@@ -36,8 +36,7 @@ var StreamSlider = class {
this._soundSettings.connect(`changed::${ALLOW_AMPLIFIED_VOLUME_KEY}`, this._amplifySettingsChanged.bind(this));
this._amplifySettingsChanged();
this._sliderChangedId = this._slider.connect('notify::value',
this._sliderChanged.bind(this));
this._slider.connect('notify::value', this._sliderChanged.bind(this));
this._slider.connect('drag-end', this._notifyVolumeChange.bind(this));
this._icon = new St.Icon({ style_class: 'popup-menu-icon' });
@@ -130,16 +129,10 @@ var StreamSlider = class {
this._volumeCancellable);
}
_changeSlider(value) {
GObject.signal_handler_block(this._slider, this._sliderChangedId);
this._slider.value = value;
GObject.signal_handler_unblock(this._slider, this._sliderChangedId);
}
_updateVolume() {
let muted = this._stream.is_muted;
this._changeSlider(muted
? 0 : (this._stream.volume / this._control.get_vol_max_norm()));
this._slider.value = muted
? 0 : (this._stream.volume / this._control.get_vol_max_norm());
this.emit('stream-updated');
}

View File

@@ -2,6 +2,7 @@
/* exported SwitcherPopup, SwitcherList */
const { Clutter, GLib, GObject, Meta, St } = imports.gi;
const Mainloop = imports.mainloop;
const Main = imports.ui.main;
@@ -141,15 +142,13 @@ var SwitcherPopup = GObject.registerClass({
// We delay showing the popup so that fast Alt+Tab users aren't
// disturbed by the popup briefly flashing.
this._initialDelayTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
POPUP_DELAY_TIMEOUT,
() => {
Main.osdWindowManager.hideAll();
this.opacity = 255;
this._initialDelayTimeoutId = 0;
return GLib.SOURCE_REMOVE;
});
this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT,
() => {
Main.osdWindowManager.hideAll();
this.opacity = 255;
this._initialDelayTimeoutId = 0;
return GLib.SOURCE_REMOVE;
});
GLib.Source.set_name_by_id(this._initialDelayTimeoutId, '[gnome-shell] Main.osdWindow.cancel');
return true;
}
@@ -250,9 +249,9 @@ var SwitcherPopup = GObject.registerClass({
this.mouseActive = false;
if (this._motionTimeoutId != 0)
GLib.source_remove(this._motionTimeoutId);
Mainloop.source_remove(this._motionTimeoutId);
this._motionTimeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, DISABLE_HOVER_TIMEOUT, this._mouseTimedOut.bind(this));
this._motionTimeoutId = Mainloop.timeout_add(DISABLE_HOVER_TIMEOUT, this._mouseTimedOut.bind(this));
GLib.Source.set_name_by_id(this._motionTimeoutId, '[gnome-shell] this._mouseTimedOut');
}
@@ -264,16 +263,14 @@ var SwitcherPopup = GObject.registerClass({
_resetNoModsTimeout() {
if (this._noModsTimeoutId != 0)
GLib.source_remove(this._noModsTimeoutId);
Mainloop.source_remove(this._noModsTimeoutId);
this._noModsTimeoutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
NO_MODS_TIMEOUT,
() => {
this._finish(global.get_current_time());
this._noModsTimeoutId = 0;
return GLib.SOURCE_REMOVE;
});
this._noModsTimeoutId = Mainloop.timeout_add(NO_MODS_TIMEOUT,
() => {
this._finish(global.get_current_time());
this._noModsTimeoutId = 0;
return GLib.SOURCE_REMOVE;
});
}
_popModal() {
@@ -305,11 +302,11 @@ var SwitcherPopup = GObject.registerClass({
this._popModal();
if (this._motionTimeoutId != 0)
GLib.source_remove(this._motionTimeoutId);
Mainloop.source_remove(this._motionTimeoutId);
if (this._initialDelayTimeoutId != 0)
GLib.source_remove(this._initialDelayTimeoutId);
Mainloop.source_remove(this._initialDelayTimeoutId);
if (this._noModsTimeoutId != 0)
GLib.source_remove(this._noModsTimeoutId);
Mainloop.source_remove(this._noModsTimeoutId);
}
_select(num) {

View File

@@ -309,10 +309,12 @@ var ViewSelector = class {
if (params.a11yFocus)
Main.ctrlAltTabManager.addGroup(params.a11yFocus, name, a11yIcon);
else
Main.ctrlAltTabManager.addGroup(actor, name, a11yIcon, {
proxy: this.actor,
focusCallback: () => this._a11yFocusPage(page),
});
Main.ctrlAltTabManager.addGroup(actor, name, a11yIcon,
{ proxy: this.actor,
focusCallback: () => {
this._a11yFocusPage(page);
}
});
page.hide();
this.actor.add_actor(page);
return page;

View File

@@ -2,6 +2,7 @@
/* exported WindowManager */
const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const AltTab = imports.ui.altTab;
@@ -16,7 +17,6 @@ const PadOsd = imports.ui.padOsd;
const EdgeDragAction = imports.ui.edgeDragAction;
const CloseDialog = imports.ui.closeDialog;
const SwitchMonitor = imports.ui.switchMonitor;
const IBusManager = imports.misc.ibusManager;
const { loadInterfaceXML } = imports.misc.fileUtils;
@@ -70,13 +70,13 @@ class DisplayChangeDialog extends ModalDialog.ModalDialog {
action: this._onSuccess.bind(this),
default: true });
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, ONE_SECOND, this._tick.bind(this));
this._timeoutId = Mainloop.timeout_add(ONE_SECOND, this._tick.bind(this));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._tick');
}
close(timestamp) {
if (this._timeoutId > 0) {
GLib.source_remove(this._timeoutId);
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
}
@@ -280,9 +280,9 @@ var WorkspaceTracker = class {
keepWorkspaceAlive(workspace, duration) {
if (workspace._keepAliveId)
GLib.source_remove(workspace._keepAliveId);
Mainloop.source_remove(workspace._keepAliveId);
workspace._keepAliveId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, duration, () => {
workspace._keepAliveId = Mainloop.timeout_add(duration, () => {
workspace._keepAliveId = 0;
this._queueCheckWorkspaces();
return GLib.SOURCE_REMOVE;
@@ -293,7 +293,7 @@ var WorkspaceTracker = class {
_windowRemoved(workspace, window) {
workspace._lastRemovedWindow = window;
this._queueCheckWorkspaces();
let id = GLib.timeout_add(GLib.PRIORITY_DEFAULT, LAST_WINDOW_GRACE_TIME, () => {
let id = Mainloop.timeout_add(LAST_WINDOW_GRACE_TIME, () => {
if (workspace._lastRemovedWindow == window) {
workspace._lastRemovedWindow = null;
this._queueCheckWorkspaces();
@@ -1041,15 +1041,6 @@ var WindowManager = class {
}
});
global.display.connect('x11-display-opened', () => {
IBusManager.getIBusManager().restartDaemon(['--xim']);
Shell.util_start_systemd_unit('gnome-session-x11-services.target', 'fail');
});
global.display.connect('x11-display-closing', () => {
Shell.util_stop_systemd_unit('gnome-session-x11-services.target', 'fail');
IBusManager.getIBusManager().restartDaemon();
});
Main.overview.connect('showing', () => {
for (let i = 0; i < this._dimmedWindows.length; i++)
this._undimWindow(this._dimmedWindows[i]);

View File

@@ -224,7 +224,7 @@ var WindowMenuManager = class {
this._sourceActor.set_position(rect.x, rect.y);
this._sourceActor.show();
menu.open(BoxPointer.PopupAnimation.FADE);
menu.open(BoxPointer.PopupAnimation.NONE);
menu.actor.navigate_focus(null, St.DirectionType.TAB_FORWARD, false);
menu.connect('open-state-changed', (menu_, isOpen) => {
if (isOpen)

View File

@@ -2,6 +2,7 @@
/* exported Workspace */
const { Atk, Clutter, GLib, GObject, Meta, Pango, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const DND = imports.ui.dnd;
@@ -56,16 +57,17 @@ class WindowCloneLayout extends Clutter.LayoutManager {
// has an extra set of "padding" around it that we need to trim
// down.
// The bounding box is based on the (visible) frame rect, while
// the buffer rect contains everything, including the invisible
// border padding.
let bufferRect = window.get_buffer_rect();
// The outer rect (from which we compute the bounding box)
// paradoxically is the smaller rectangle, containing the positions
// of the visible frame. The input rect contains everything,
// including the invisible border padding.
let inputRect = window.get_buffer_rect();
let box = new Clutter.ActorBox();
box.set_origin(bufferRect.x - this._boundingBox.x,
bufferRect.y - this._boundingBox.y);
box.set_size(bufferRect.width, bufferRect.height);
box.set_origin(inputRect.x - this._boundingBox.x,
inputRect.y - this._boundingBox.y);
box.set_size(inputRect.width, inputRect.height);
return box;
}
@@ -81,8 +83,8 @@ class WindowCloneLayout extends Clutter.LayoutManager {
vfunc_allocate(container, box, flags) {
container.get_children().forEach(child => {
let realWindow;
if (child == container._windowClone)
realWindow = container.realWindow;
if (child == container._delegate._windowClone)
realWindow = container._delegate.realWindow;
else
realWindow = child.source;
@@ -102,7 +104,7 @@ var WindowClone = GObject.registerClass({
'show-chrome': {},
'size-changed': {}
},
}, class WorkspaceWindowClone extends St.Widget {
}, class WindowClone extends St.Widget {
_init(realWindow, workspace) {
this.realWindow = realWindow;
this.metaWindow = realWindow.meta_window;
@@ -352,11 +354,6 @@ var WindowClone = GObject.registerClass({
this.metaWindow._delegate = null;
this._delegate = null;
if (this._longPressLater) {
Meta.later_remove(this._longPressLater);
delete this._longPressLater;
}
if (this.inDrag) {
this.emit('drag-end');
this.inDrag = false;
@@ -391,13 +388,9 @@ var WindowClone = GObject.registerClass({
let event = Clutter.get_current_event();
this._dragTouchSequence = event.get_event_sequence();
if (this._longPressLater)
return true;
// A click cancels a long-press before any click handler is
// run - make sure to not start a drag in that case
this._longPressLater = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
delete this._longPressLater;
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
if (this._selected)
return;
let [x, y] = action.get_coords();
@@ -635,7 +628,7 @@ var WindowOverlay = class {
_onDestroy() {
if (this._idleHideOverlayId > 0) {
GLib.source_remove(this._idleHideOverlayId);
Mainloop.source_remove(this._idleHideOverlayId);
this._idleHideOverlayId = 0;
}
this._windowClone.metaWindow.disconnect(this._updateCaptionId);
@@ -687,7 +680,7 @@ var WindowOverlay = class {
_onHideChrome() {
if (this._idleHideOverlayId == 0) {
this._idleHideOverlayId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, WINDOW_OVERLAY_IDLE_HIDE_TIMEOUT, this._idleHideOverlay.bind(this));
this._idleHideOverlayId = Mainloop.timeout_add(WINDOW_OVERLAY_IDLE_HIDE_TIMEOUT, this._idleHideOverlay.bind(this));
GLib.Source.set_name_by_id(this._idleHideOverlayId, '[gnome-shell] this._idleHideOverlay');
}
}
@@ -704,7 +697,7 @@ var WindowOverlay = class {
hideOverlay() {
if (this._idleHideOverlayId > 0) {
GLib.source_remove(this._idleHideOverlayId);
Mainloop.source_remove(this._idleHideOverlayId);
this._idleHideOverlayId = 0;
}
this.closeButton.hide();
@@ -946,7 +939,7 @@ var LayoutStrategy = class {
y += row.height * row.additionalScale + this._rowSpacing;
}
compensation /= 2;
compensation = compensation / 2;
for (let i = 0; i < rows.length; i++) {
let row = rows[i];
@@ -1097,8 +1090,10 @@ const WorkspaceActor = GObject.registerClass(
class WorkspaceActor extends St.Widget {
vfunc_get_focus_chain() {
return this.get_children().filter(c => c.visible).sort((a, b) => {
if (a instanceof WindowClone && b instanceof WindowClone)
return a.slotId - b.slotId;
let cloneA = (a._delegate && a._delegate instanceof WindowClone) ? a._delegate : null;
let cloneB = (b._delegate && b._delegate instanceof WindowClone) ? b._delegate : null;
if (cloneA && cloneB)
return cloneA.slotId - cloneB.slotId;
return 0;
});
@@ -1268,7 +1263,7 @@ var Workspace = class {
_realRecalculateWindowPositions(flags) {
if (this._repositionWindowsId > 0) {
GLib.source_remove(this._repositionWindowsId);
Mainloop.source_remove(this._repositionWindowsId);
this._repositionWindowsId = 0;
}
@@ -1478,7 +1473,7 @@ var Workspace = class {
// remove old handler
if (this._repositionWindowsId > 0) {
GLib.source_remove(this._repositionWindowsId);
Mainloop.source_remove(this._repositionWindowsId);
this._repositionWindowsId = 0;
}
@@ -1488,7 +1483,7 @@ var Workspace = class {
this._cursorY = y;
this._currentLayout = null;
this._repositionWindowsId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, WINDOW_REPOSITIONING_DELAY,
this._repositionWindowsId = Mainloop.timeout_add(WINDOW_REPOSITIONING_DELAY,
this._delayedWindowRepositioning.bind(this));
GLib.Source.set_name_by_id(this._repositionWindowsId, '[gnome-shell] this._delayedWindowRepositioning');
}
@@ -1502,7 +1497,7 @@ var Workspace = class {
if (!win) {
// Newly-created windows are added to a workspace before
// the compositor finds out about them...
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
let id = Mainloop.idle_add(() => {
if (this.actor &&
metaWin.get_compositor_private() &&
metaWin.get_workspace() == this.metaWorkspace)
@@ -1648,7 +1643,7 @@ var Workspace = class {
this._windows[i].remove_all_transitions();
if (this._repositionWindowsId > 0) {
GLib.source_remove(this._repositionWindowsId);
Mainloop.source_remove(this._repositionWindowsId);
this._repositionWindowsId = 0;
}
@@ -1733,7 +1728,7 @@ var Workspace = class {
this._windows[i].remove_all_transitions();
if (this._repositionWindowsId > 0) {
GLib.source_remove(this._repositionWindowsId);
Mainloop.source_remove(this._repositionWindowsId);
this._repositionWindowsId = 0;
}
this._overviewHiddenId = Main.overview.connect('hidden', this._doneLeavingOverview.bind(this));
@@ -1794,7 +1789,7 @@ var Workspace = class {
global.display.disconnect(this._windowLeftMonitorId);
if (this._repositionWindowsId > 0) {
GLib.source_remove(this._repositionWindowsId);
Mainloop.source_remove(this._repositionWindowsId);
this._repositionWindowsId = 0;
}
@@ -1983,7 +1978,7 @@ var Workspace = class {
}
_onCloneSelected(clone, time) {
let wsIndex;
let wsIndex = undefined;
if (this.metaWorkspace)
wsIndex = this.metaWorkspace.index();
Main.activateWindow(clone.metaWindow, time, wsIndex);

View File

@@ -2,6 +2,7 @@
/* exported WorkspaceSwitcherPopup */
const { Clutter, GLib, GObject, Meta, St } = imports.gi;
const Mainloop = imports.mainloop;
const Main = imports.ui.main;
@@ -194,14 +195,14 @@ class WorkspaceSwitcherPopup extends St.Widget {
this._redisplay();
if (this._timeoutId != 0)
GLib.source_remove(this._timeoutId);
this._timeoutId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, DISPLAY_TIMEOUT, this._onTimeout.bind(this));
Mainloop.source_remove(this._timeoutId);
this._timeoutId = Mainloop.timeout_add(DISPLAY_TIMEOUT, this._onTimeout.bind(this));
GLib.Source.set_name_by_id(this._timeoutId, '[gnome-shell] this._onTimeout');
this._show();
}
_onTimeout() {
GLib.source_remove(this._timeoutId);
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
this._container.ease({
opacity: 0.0,
@@ -214,7 +215,7 @@ class WorkspaceSwitcherPopup extends St.Widget {
_onDestroy() {
if (this._timeoutId)
GLib.source_remove(this._timeoutId);
Mainloop.source_remove(this._timeoutId);
this._timeoutId = 0;
let workspaceManager = global.workspace_manager;

View File

@@ -2,6 +2,7 @@
/* exported WorkspaceThumbnail, ThumbnailsBox */
const { Clutter, Gio, GLib, GObject, Meta, Shell, St } = imports.gi;
const Mainloop = imports.mainloop;
const Signals = imports.signals;
const Background = imports.ui.background;
@@ -388,7 +389,7 @@ var WorkspaceThumbnail = GObject.registerClass({
if (!win) {
// Newly-created windows are added to a workspace before
// the compositor finds out about them...
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, () => {
let id = Mainloop.idle_add(() => {
if (!this._removed &&
metaWin.get_compositor_private() &&
metaWin.get_workspace() == this.metaWorkspace)
@@ -710,12 +711,14 @@ var ThumbnailsBox = GObject.registerClass({
_activateThumbnailAtPoint(stageX, stageY, time) {
let [r_, x_, y] = this.transform_stage_point(stageX, stageY);
let thumbnail = this._thumbnails.find(t => {
let [, h] = t.get_transformed_size();
return y >= t.y && y <= t.y + h;
});
if (thumbnail)
thumbnail.activate(time);
for (let i = 0; i < this._thumbnails.length; i++) {
let thumbnail = this._thumbnails[i];
let [, h] = thumbnail.get_transformed_size();
if (y >= thumbnail.y && y <= thumbnail.y + h) {
thumbnail.activate(time);
break;
}
}
}
_onButtonRelease(actor, event) {
@@ -1337,9 +1340,15 @@ var ThumbnailsBox = GObject.registerClass({
}
_activeWorkspaceChanged(_wm, _from, _to, _direction) {
let thumbnail;
let workspaceManager = global.workspace_manager;
let activeWorkspace = workspaceManager.get_active_workspace();
let thumbnail = this._thumbnails.find(t => t.metaWorkspace == activeWorkspace);
for (let i = 0; i < this._thumbnails.length; i++) {
if (this._thumbnails[i].metaWorkspace == activeWorkspace) {
thumbnail = this._thumbnails[i];
break;
}
}
this._animatingIndicator = true;
let indicatorThemeNode = this._indicator.get_theme_node();

View File

@@ -524,22 +524,6 @@ var WorkspacesDisplay = class {
this._keyPressEventId = 0;
this._fullGeometry = null;
this.actor.connect('destroy', this._onDestroy.bind(this));
}
_onDestroy() {
if (this._notifyOpacityId) {
let parent = this.actor.get_parent();
if (parent)
parent.disconnect(this._notifyOpacityId);
this._notifyOpacityId = 0;
}
if (this._parentSetLater) {
Meta.later_remove(this._parentSetLater);
this._parentSetLater = 0;
}
}
_onPan(action) {
@@ -733,11 +717,7 @@ var WorkspacesDisplay = class {
oldParent.disconnect(this._notifyOpacityId);
this._notifyOpacityId = 0;
if (this._parentSetLater)
return;
this._parentSetLater = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
this._parentSetLater = 0;
Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => {
let newParent = this.actor.get_parent();
if (!newParent)
return;

View File

@@ -1,5 +1,5 @@
project('gnome-shell', 'c',
version: '3.34.0',
version: '3.33.91',
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.34.0'
mutter_req = '>= 3.33.91'
polkit_req = '>= 0.100'
schemas_req = '>= 3.33.1'
startup_req = '>= 0.11'

118
po/ca.po
View File

@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: HEAD\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2019-09-11 17:13+0000\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-25 21:53+0200\n"
"Last-Translator: Robert Antoni Buj Gelonch <rbuj@fedoraproject.org>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
@@ -200,9 +200,9 @@ msgid ""
msgstr ""
"El GNOME Shell us demanarà la contrasenya quan es munti un dispositiu "
"encriptat o un sistema de fitxers remot. Si es pot desar la contrasenya per "
"utilitzar-lo en el futur, es mostrarà la casella de selecció «Recorda la "
"utilitzar-lo en el futur, es mostrarà la casella de verificació «Recorda la "
"contrasenya». Aquesta clau estableix el valor per defecte d'aquesta casella "
"de selecció."
"de verificació."
#: data/org.gnome.shell.gschema.xml.in:96
msgid ""
@@ -470,7 +470,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -774,32 +774,28 @@ msgstr "Freqüent"
msgid "All"
msgstr "Totes"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Canvia el nom"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Obre finestres"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Finestra nova"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Inicia usant una targeta gràfica dedicada"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Suprimeix dels preferits"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Afegeix als preferits"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Mostra els detalls"
@@ -829,7 +825,7 @@ msgstr "Auriculars"
msgid "Headset"
msgstr "Auriculars amb micròfon"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Micròfon"
@@ -1332,13 +1328,13 @@ msgid "Other users are logged in."
msgstr "Altres usuaris tenen la sessió oberta."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (remot)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (consola)"
@@ -1416,9 +1412,9 @@ msgid ""
"row. This turns off the Sticky Keys feature, which affects the way your "
"keyboard works."
msgstr ""
"Heu premut dues tecles juntes, o la tecla de majúscules 5 cops seguides. "
"Això desactiva la funcionalitat de les tecles enganxoses, que afecta la "
"manera en què funciona el teclat."
"Heu premut dos tecles juntes, o la tecla de majúscules 5 cops seguides. Això "
"desactiva la funcionalitat de les tecles enganxoses, que afecta la manera en "
"què funciona el teclat."
#: js/ui/kbdA11yDialog.js:58
msgid "Leave On"
@@ -1493,7 +1489,7 @@ msgstr "Mostra el codi font"
msgid "Web Page"
msgstr "Pàgina web"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Informació de l'ordinador"
@@ -1622,7 +1618,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d notificació nova"
msgstr[1] "%d notificacions noves"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Bloqueja"
@@ -1645,15 +1641,15 @@ msgstr "No es pot blocar"
msgid "Lock was blocked by an application"
msgstr "Una aplicació està bloquejant el bloqueig"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "S'està cercant…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "No s'ha trobat cap resultat."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2138,27 +2134,27 @@ msgstr "Desactiva"
msgid "Airplane Mode On"
msgstr "El mode d'avió és actiu"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Canvia d'usuari"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Surt"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Paràmetres del compte"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Bloqueja l'orientació"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Atura temporalment"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Apaga"
@@ -2198,11 +2194,11 @@ msgstr "S'ha produït un error d'autorització a Thunderbolt"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "No s'ha pogut autoritzar el dispositiu Thunderbolt: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "S'ha canviat el volum"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Volum"
@@ -2255,22 +2251,22 @@ msgstr "Cerca"
msgid "“%s” is ready"
msgstr "«%s» ja està a punt"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Voleu mantenir aquesta configuració de la pantalla?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Descarta els canvis"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Mantén els canvis"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2279,7 +2275,7 @@ msgstr[1] "Es descartaran els canvis d'aquí %d segons"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2371,7 +2367,7 @@ msgid ""
"Description is a single-sentence explanation of what your extension does.\n"
"Examples are: %s"
msgstr ""
"La descripció és una explicació d'una frase de què fa l'extensió.\n"
"La descripció és una explicació d'una frase del què fa l'extensió.\n"
"Per exemple: %s"
#: src/extensions-tool/command-create.c:206 src/extensions-tool/main.c:172
@@ -2591,7 +2587,7 @@ msgstr "Comarca"
msgid "“version” takes no arguments"
msgstr "«version» no té arguments"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "Ús:"
@@ -2599,80 +2595,80 @@ msgstr "Ús:"
msgid "Print version information and exit."
msgstr "Mostra la informació de la versió i surt."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "ORDRE"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[ARGS…]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "Ordres:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "Mostra l'ajuda"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Mostra la versió"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "Habilita l'extensió"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "Inhabilita l'extensió"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "Reinicia l'extensió"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "Desinstal·la l'extensió"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "Llista les extensions"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "Mostra la informació de l'extensió"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "Obre les preferències de l'extensió"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "Crea extensió"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
msgid "Package extension"
msgstr "Paquet d'extensió"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
msgid "Install extension bundle"
msgstr "Instal·la un paquet d'extensió"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
msgid "Use %s to get detailed help.\n"
msgstr "Feu servir «%s» per obtenir ajuda detallada.\n"
msgid "Use %s to get detailed help.\n"
msgstr "Feu servir %s per obtenir ajuda detallada.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "El mode que utilitzarà el GDM per a la pantalla d'entrada"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Utilitza un mode específic, p. ex. «gdm» per la pantalla d'entrada"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Llista els modes possibles"

1325
po/cs.po

File diff suppressed because it is too large Load Diff

108
po/de.po
View File

@@ -22,9 +22,9 @@ 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-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-11 23:14+0200\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-23 21:09+0200\n"
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
@@ -475,7 +475,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -779,33 +779,29 @@ msgstr "Häufig"
msgid "All"
msgstr "Alle"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Umbenennen"
# Fensterüberschrift
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Offene Fenster"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Neues Fenster"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Mit dedizierter Grafikkarte starten"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Aus Favoriten entfernen"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Zu Favoriten hinzufügen"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Details anzeigen"
@@ -835,7 +831,7 @@ msgstr "Kopfhörer"
msgid "Headset"
msgstr "Headset"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Mikrofon"
@@ -1340,13 +1336,13 @@ msgid "Other users are logged in."
msgstr "Andere Benutzer sind angemeldet."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (Entfernt)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (Konsole)"
@@ -1501,7 +1497,7 @@ msgstr "Quelle zeigen"
msgid "Web Page"
msgstr "Webseite"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Systeminformationen"
@@ -1633,7 +1629,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d neue Benachrichtigung"
msgstr[1] "%d neue Benachrichtigungen"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Sperren"
@@ -1656,15 +1652,15 @@ msgstr "Sperrung fehlgeschlagen"
msgid "Lock was blocked by an application"
msgstr "Sperrung wurde von einer Anwendung blockiert"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Suche läuft …"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Keine Ergebnisse."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2157,27 +2153,27 @@ msgstr "Ausschalten"
msgid "Airplane Mode On"
msgstr "Flugmodus ist eingeschaltet"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Benutzer wechseln"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Abmelden"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Kontoeinstellungen"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Hoch-/Querformats-Fixierung"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Bereitschaft"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Ausschalten"
@@ -2217,11 +2213,11 @@ msgstr "Thunderbolt-Legitimierungsfehler"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Das Thunderbolt-Gerät %s konnte nicht legitimiert werden"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Lautstärke geändert"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Lautstärke"
@@ -2274,22 +2270,22 @@ msgstr "Suchen"
msgid "“%s” is ready"
msgstr "»%s« ist bereit"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Wollen Sie diese Anzeigeeinstellungen beibehalten?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Zurücksetzen"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Beibehalten"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2299,7 +2295,7 @@ msgstr[1] ""
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2613,7 +2609,7 @@ msgstr "Status"
msgid "“version” takes no arguments"
msgstr "»version« akzeptiert keine Argumente"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "Aufruf:"
@@ -2621,82 +2617,82 @@ msgstr "Aufruf:"
msgid "Print version information and exit."
msgstr "Versionsinformationen ausgeben und beenden."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "BEFEHL"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[ARGUMENTE …]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "Befehle:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "Hilfe ausgeben"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Version ausgeben"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "Erweiterung aktivieren"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "Erweiterung deaktivieren"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "Erweiterung zurücksetzen"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "Erweiterung deinstallieren"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "Erweiterungen auflisten"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "Erweiterungsinformationen anzeigen"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "Erweiterungseinstellungen öffnen"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "Erweiterung erstellen"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
msgid "Package extension"
msgstr "Paket-Erweiterung"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
msgid "Install extension bundle"
msgstr "Erweiterungspaket installieren"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
msgid "Use %s to get detailed help.\n"
msgid "Use %s to get detailed help.\n"
msgstr "Verwenden Sie »%s«, um detaillierte Hilfe zu erhalten.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Der durch GDM im Anmeldefenster verwendete Modus"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr ""
"Verwenden Sie einen spezifischen Modus wie z.B. »gdm« für den "
"Anmeldebildschirm"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Die möglichen Modi auflisten"

1781
po/el.po

File diff suppressed because it is too large Load Diff

1294
po/eo.po

File diff suppressed because it is too large Load Diff

113
po/es.po
View File

@@ -9,8 +9,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-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-13 08:26+0200\n"
"POT-Creation-Date: 2019-08-22 13:06+0000\n"
"PO-Revision-Date: 2019-08-26 12:25+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\n"
@@ -465,7 +465,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -768,32 +768,28 @@ msgstr "Frecuentes"
msgid "All"
msgstr "Todas"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Renombrar"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Ventanas abiertas"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Ventana nueva"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Lanzar usando la tarjeta gráfica dedicada"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Quitar de los favoritos"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Añadir a los favoritos"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Mostrar detalles"
@@ -823,7 +819,7 @@ msgstr "Auriculares"
msgid "Headset"
msgstr "Manos libres"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Micrófono"
@@ -1323,13 +1319,13 @@ msgid "Other users are logged in."
msgstr "Hay otros usuarios con la sesión iniciada."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (consola)"
@@ -1484,7 +1480,7 @@ msgstr "Ver fuente"
msgid "Web Page"
msgstr "Página web"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Información del sistema"
@@ -1613,7 +1609,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d notificación nueva"
msgstr[1] "%d notificaciones nuevas"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Bloquear"
@@ -1636,15 +1632,15 @@ msgstr "No se pudo bloquear"
msgid "Lock was blocked by an application"
msgstr "Una aplicación impidió el bloqueo"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Buscando…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "No se encontraron resultados."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2129,27 +2125,27 @@ msgstr "Apagar"
msgid "Airplane Mode On"
msgstr "Modo avión activado"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Cambiar de usuario"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Cerrar la sesión"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Configuración de la cuenta"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Bloqueo de orientación"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Suspender"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Apagar"
@@ -2188,11 +2184,11 @@ msgstr "Error de autorización de Thunderbolt"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "No se pudo autorizar el dispositivo Thunderbolt: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Volumen modificado"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Volumen"
@@ -2245,22 +2241,22 @@ msgstr "Buscar"
msgid "“%s” is ready"
msgstr "«%s» está preparado"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "¿Quiere mantener esta configuración de la pantalla?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Revertir configuración"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Mantener cambios"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2269,7 +2265,7 @@ msgstr[1] "La configuración se revertirá en %d segundos"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2454,10 +2450,12 @@ msgid "EXTENSION_BUNDLE"
msgstr "EXTENSION_BUNDLE"
#: src/extensions-tool/command-install.c:184
#| msgid "UUIDs of extensions to enable"
msgid "Install an extension bundle"
msgstr "Instalar un conjunto de extensiones"
#: src/extensions-tool/command-install.c:201
#| msgid "No extensions installed"
msgid "No extension bundle specified"
msgstr "No se ha especificado un conjunto de extensiones"
@@ -2582,7 +2580,7 @@ msgstr "Estado"
msgid "“version” takes no arguments"
msgstr "«version» no lleva argumentos"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "Uso:"
@@ -2590,83 +2588,84 @@ msgstr "Uso:"
msgid "Print version information and exit."
msgstr "Mostrar información de la versión y salir."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "COMANDO"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[ARGS…]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "Comandos:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "Mostrar ayuda"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Imprimir versión"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "Activar extensión"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "Desactivar extensión"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "Restablecer extensión"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "Desinstalar extensión"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "Listar extensiones"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "Mostrar información de la extensión"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "Abrir las preferencias de la extensión"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "Crear extensión"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
#| msgid "Extension"
msgid "Package extension"
msgstr "Extensión del paquete"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
#| msgid "UUIDs of extensions to enable"
msgid "Install extension bundle"
msgstr "Instalar conjunto de extensiones"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
#| msgid "Use %s to get detailed help.\n"
msgid "Use %s” to get detailed help.\n"
msgstr "Use «%s» para obtener ayuda detallada.\n"
msgid "Use %s to get detailed help.\n"
msgstr "Use %s para obtener ayuda detallada.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Modo usado por GDM para la pantalla de inicio"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr ""
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
"sesión"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Listar los modos posibles"

106
po/fa.po
View File

@@ -9,8 +9,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-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-12 12:26+0000\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-22 16:40+0430\n"
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
"Language-Team: Persian <>\n"
"Language: fa\n"
@@ -430,7 +430,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -733,32 +733,28 @@ msgstr "پُراستفاده"
msgid "All"
msgstr "همه"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "تغییر نام"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "گشودن پنجره‌‌ها"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "پنجرهٔ جدید"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "اجرا با کارت گرافیک اختصاصی"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "حذف از مورد پسندها"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "اضافه کردن به مورد پسندها"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "نمایش جزئیات"
@@ -788,7 +784,7 @@ msgstr "هدفون‌ها"
msgid "Headset"
msgstr "هدست"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "میکروفون"
@@ -1281,13 +1277,13 @@ msgid "Other users are logged in."
msgstr "کاربران دیگر وارد سامانه هستند."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (دوردست)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (پایانه)"
@@ -1438,7 +1434,7 @@ msgstr "نمایش منبع"
msgid "Web Page"
msgstr "صفحهٔ وب"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "اطلاعات سامانه"
@@ -1567,7 +1563,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%Id آگاهی جدید"
msgstr[1] "%Id آگاهی جدید"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "قفل کردن"
@@ -1590,15 +1586,15 @@ msgstr "نمی‌توان قفل کرد"
msgid "Lock was blocked by an application"
msgstr "قفل توسط یک برنامه مسدود شده بود"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "درحال حستجو…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "بدون نتیجه."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2080,27 +2076,27 @@ msgstr "خاموش کردن"
msgid "Airplane Mode On"
msgstr "حالت هواپیمایی روشن است"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "تعویض کاربر"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "خروج"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "تنظیمات حساب"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "قفل جهت"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "تعلیق"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "خاموش کردن"
@@ -2137,11 +2133,11 @@ msgstr "خطای تأیید هویت تاندربولت"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "نمی‌توان افزارهٔ تاندربولت را تأیید هویت کرد: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "بلندی صدا تغییر کرد"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "بلندی صدا"
@@ -2194,22 +2190,22 @@ msgstr "جستجو"
msgid "“%s” is ready"
msgstr "«%s» آماده است"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "آیا می‌خواهید تنظیمات تصویر را نگاه دارید؟"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "بازنشانی تنظیمات"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "ذخیره تغییرات"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2218,7 +2214,7 @@ msgstr[1] "تغییرات تنظیمات در %Id ثانیه بازنشانی م
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%Id × %Id"
@@ -2522,7 +2518,7 @@ msgstr "وضعیت"
msgid "“version” takes no arguments"
msgstr "«نگارش» آرگومانی نمی‌گیرد"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "استفاده:"
@@ -2530,80 +2526,80 @@ msgstr "استفاده:"
msgid "Print version information and exit."
msgstr "چاپ اطّلاعات نگارش و خروج."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "COMMAND"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[ARGS…]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "دستورات:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "چاپ راهنما"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "چاپ نسخه"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "فعّال کردن افزونه"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "غیرفعّال کردن افزونه"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "بازنشانی افزونه"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "حذف نصب افزونه"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "فهرست افزونه‌ها"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "نمایش اطّلاعات افزونه"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "گشودن ترجیحات افزونه"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "ایجاد افزونه"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
msgid "Package extension"
msgstr "بسته‌بندی افزونه"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
msgid "Install extension bundle"
msgstr "نصب دستهٔ افزونه"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
msgid "Use %s to get detailed help.\n"
msgid "Use %s to get detailed help.\n"
msgstr "برای گرفتن راهنمای با جزییات از %s استفاده کنید.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "حالت استفاده شده توسط GDM برای صفحه ورود به سامانه"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "استفاده از یک حالت مشخص، مثلاً gdm برای صفحهٔ ورود"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "فهرست کردن حالت‌های ممکن"

View File

@@ -25,8 +25,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2019-09-09 20:24+0000\n"
"PO-Revision-Date: 2019-09-10 14:10+0300\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-22 19:36+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
"Language: fi\n"
@@ -34,7 +34,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2.3\n"
"X-Generator: Poedit 2.0.6\n"
"X-DamnedLies-Scope: partial\n"
"X-Project-Style: gnome\n"
"X-POT-Import-Date: 2012-03-05 15:06:10+0000\n"
@@ -486,7 +486,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -789,32 +789,28 @@ msgstr "Käytetyimmät"
msgid "All"
msgstr "Kaikki"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Nimeä uudelleen"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Avoimet ikkunat"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Uusi ikkuna"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Käynnistä erillisnäytönohjainta käyttäen"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Poista suosikeista"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Lisää suosikkeihin"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Näytä tiedot"
@@ -844,7 +840,7 @@ msgstr "Kuulokkeet"
msgid "Headset"
msgstr "Headset-kuulokkeet"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Mikrofoni"
@@ -1345,13 +1341,13 @@ msgid "Other users are logged in."
msgstr "Muita käyttäjiä on kirjautuneena."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (etä)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (konsoli)"
@@ -1506,7 +1502,7 @@ msgstr "Näytä lähde"
msgid "Web Page"
msgstr "Verkkosivusto"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Järjestelmän tiedot"
@@ -1637,7 +1633,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d uusi ilmoitus"
msgstr[1] "%d uutta ilmoitusta"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Lukitse"
@@ -1660,15 +1656,15 @@ msgstr "Lukitus epäonnistui"
msgid "Lock was blocked by an application"
msgstr "Lukitus estettiin sovelluksen toimesta"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Etsitään…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Ei tuloksia."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2151,27 +2147,27 @@ msgstr "Sammuta"
msgid "Airplane Mode On"
msgstr "Lentokonetila on päällä"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Vaihda käyttäjää"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Kirjaudu ulos"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Tilin asetukset"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Kiertolukitus"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Valmiustila"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Sammuta"
@@ -2209,11 +2205,11 @@ msgstr "Thunderbolt-valtuutusvirhe"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Thunderbolt-laitetta ei voitu valtuuttaa: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Äänenvoimakkuutta muutettu"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Äänenvoimakkuus"
@@ -2266,22 +2262,22 @@ msgstr "Haku"
msgid "“%s” is ready"
msgstr "“%s” on valmis"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Haluatko säilyttää nämä näyttöasetukset?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Palauta asetukset"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Säilytä muutokset"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2290,7 +2286,7 @@ msgstr[1] "Asetusmuutokset palautetaan %d sekunnissa"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2627,7 +2623,7 @@ msgstr "Komennot:"
msgid "Print help"
msgstr "Tulosta ohje"
#: src/extensions-tool/main.c:244 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Tulosta versio"
@@ -2678,15 +2674,15 @@ msgstr "Asenna laajennuspaketti"
msgid "Use %s to get detailed help.\n"
msgstr "Suorita %s nähdäksesi yksityiskohtaisia ohjeita.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "GDM:n kirjautumisruudussa käyttämä tila"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Käytä tiettyä tilaa (esim. “gdm”) kirjautumisnäkymää varten"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Listaa mahdolliset tilat"

1287
po/fr.po

File diff suppressed because it is too large Load Diff

View File

@@ -11,8 +11,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-09 20:24+0000\n"
"PO-Revision-Date: 2019-09-10 00:45+0200\n"
"POT-Creation-Date: 2019-08-25 16:47+0000\n"
"PO-Revision-Date: 2019-08-26 17:22+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician\n"
"Language: gl\n"
@@ -460,7 +460,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -764,32 +764,28 @@ msgstr "Frecuentes"
msgid "All"
msgstr "Todos"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Renomear"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Abrir Xanelas"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Xanela nova"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Iniciar usando a Tarxeta Gráfica Adicada"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Retirar dos marcadores"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Engadir aos favoritos"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Mostrar detalles"
@@ -819,7 +815,7 @@ msgstr "Cascos auriculares"
msgid "Headset"
msgstr "Auriculares"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Micrófono"
@@ -1318,13 +1314,13 @@ msgid "Other users are logged in."
msgstr "Hai outros usuarios conectados."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (remoto)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (consola)"
@@ -1479,7 +1475,7 @@ msgstr "Ver fonte"
msgid "Web Page"
msgstr "Páxina web"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Información do sistema"
@@ -1608,7 +1604,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d notificación nova"
msgstr[1] "%d notificacións novas"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Bloquear"
@@ -1631,15 +1627,15 @@ msgstr "Non foi posíbel bloquear"
msgid "Lock was blocked by an application"
msgstr "Un aplicativo impediu o bloqueo"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Buscando…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Sen resultados."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2124,27 +2120,27 @@ msgstr "Desactivar"
msgid "Airplane Mode On"
msgstr "Modo avión activado"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Cambiar de usuario"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Saír da sesión"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Preferencias da conta"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Bloqueo de orientación"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Suspender"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Apagar"
@@ -2183,11 +2179,11 @@ msgstr "Erro de autorización de Thunderbolt"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Non foi posíbel autorizar o dispositivo Thunderbolt: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Volume cambiado"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Volume"
@@ -2240,22 +2236,22 @@ msgstr "Buscar"
msgid "“%s” is ready"
msgstr "«%s» está preparado"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Desexa manter estas preferencias de pantalla?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Reverter preferencias"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Manter cambios"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2264,7 +2260,7 @@ msgstr[1] "Os cambios das preferencias revertiranse en %d segundos"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2602,7 +2598,7 @@ msgstr "Ordes:"
msgid "Print help"
msgstr "Imprime a axuda"
#: src/extensions-tool/main.c:244 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Imprimir versión"
@@ -2651,17 +2647,17 @@ msgstr "Instalar paquete de extensión"
msgid "Use %s to get detailed help.\n"
msgstr "Use %s obter axuda detallada.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Modo usado por GDM para a pantalla de inicio"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr ""
"Usar un modo específico, por exemplo, «gdm» para a pantalla de inicio de "
"sesión"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Listar os modos posíbeis"

1191
po/hr.po

File diff suppressed because it is too large Load Diff

1210
po/hu.po

File diff suppressed because it is too large Load Diff

405
po/id.po
View File

@@ -9,8 +9,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-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-12 01:30+0700\n"
"POT-Creation-Date: 2019-08-12 19:40+0000\n"
"PO-Revision-Date: 2019-08-16 15:37+0700\n"
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n"
@@ -47,7 +47,7 @@ msgid "Open the application menu"
msgstr "Buka menu aplikasi"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:211
#: js/extensionPrefs/main.js:208
msgid "Shell Extensions"
msgstr "Ekstensi Shell"
@@ -403,11 +403,11 @@ msgstr ""
msgid "Network Login"
msgstr "Log Masuk Jaringan"
#: js/extensionPrefs/main.js:104 js/extensionPrefs/main.js:534
#: js/extensionPrefs/main.js:101 js/extensionPrefs/main.js:531
msgid "Somethings gone wrong"
msgstr "Ada yang tidak beres"
#: js/extensionPrefs/main.js:111
#: js/extensionPrefs/main.js:108
msgid ""
"Were very sorry, but theres been a problem: the settings for this "
"extension cant be displayed. We recommend that you report the issue to the "
@@ -417,27 +417,27 @@ msgstr ""
"tidak dapat ditampilkan. Kami menyarankan Anda melaporkan masalah ini kepada "
"penulis ekstensi."
#: js/extensionPrefs/main.js:118
#: js/extensionPrefs/main.js:115
msgid "Technical Details"
msgstr "Detail Teknis"
#: js/extensionPrefs/main.js:153
#: js/extensionPrefs/main.js:150
msgid "Copy Error"
msgstr "Salin Galat"
#: js/extensionPrefs/main.js:180
#: js/extensionPrefs/main.js:177
msgid "Homepage"
msgstr "Halaman Web"
#: js/extensionPrefs/main.js:181
#: js/extensionPrefs/main.js:178
msgid "Visit extension homepage"
msgstr "Kunjungi halaman web ekstensi"
#: js/extensionPrefs/main.js:476
#: js/extensionPrefs/main.js:473
msgid "No Extensions Installed"
msgstr "Tak Ada Ekstensi Terpasang"
#: js/extensionPrefs/main.js:486
#: js/extensionPrefs/main.js:483
msgid ""
"Extensions can be installed through Software or <a href=\"https://extensions."
"gnome.org\">extensions.gnome.org</a>."
@@ -445,11 +445,11 @@ msgstr ""
"Ekstensi dapat dipasang melalui Perangkat Lunak atau <a href=\"https://"
"extensions.gnome.org\">extensions.gnome.org</a>."
#: js/extensionPrefs/main.js:501
#: js/extensionPrefs/main.js:498
msgid "Browse in Software"
msgstr "Ramban di Perangkat Lunak"
#: js/extensionPrefs/main.js:541
#: js/extensionPrefs/main.js:538
msgid ""
"Were very sorry, but it was not possible to get the list of installed "
"extensions. Make sure you are logged into GNOME and try again."
@@ -459,7 +459,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -763,32 +763,28 @@ msgstr "Sering"
msgid "All"
msgstr "Semua"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Ubah Nama"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Buka Jendela"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Jendela Baru"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Luncurkan menggunakan Kartu Grafis Terdedikasi"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Hapus dari Favorit"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Tambah ke Favorit"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Tampilkan Rincian"
@@ -818,7 +814,7 @@ msgstr "Headphone"
msgid "Headset"
msgstr "Headset"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Mikrofon"
@@ -1319,13 +1315,13 @@ msgid "Other users are logged in."
msgstr "Pengguna lain sedang log masuk."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (jarak jauh)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (konsol)"
@@ -1478,7 +1474,7 @@ msgstr "Tilik Sumber"
msgid "Web Page"
msgstr "Halaman Web"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Informasi Sistem"
@@ -1607,7 +1603,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d pemberitahuan baru"
msgstr[1] "%d pemberitahuan baru"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Kunci"
@@ -1630,15 +1626,15 @@ msgstr "Tak bisa mengunci"
msgid "Lock was blocked by an application"
msgstr "Kunci diblokir oleh suatu aplikasi"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Mencari…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Tak ada yang cocok."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -1784,7 +1780,7 @@ msgstr "Mati"
msgid "On"
msgstr "Hidup"
#: js/ui/status/brightness.js:38
#: js/ui/status/brightness.js:37
msgid "Brightness"
msgstr "Kecerahan"
@@ -2121,27 +2117,27 @@ msgstr "Matikan"
msgid "Airplane Mode On"
msgstr "Mode Pesawat Terbang Aktif"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Ganti Pengguna"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Keluar"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Pengaturan Akun"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Kunci Orientasi"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Suspensi"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Matikan"
@@ -2180,11 +2176,11 @@ msgstr "Autorisasi Thunderbolt galat"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Tidak dapat mengautorisasi perangkat Thunderbolt: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Volume diubah"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Volume"
@@ -2237,22 +2233,22 @@ msgstr "Cari"
msgid "“%s” is ready"
msgstr "“%s” siap"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Apakah Anda ingin mempertahankan pengaturan tampilan ini?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Balikkan Tatanan"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Simpan Perubahan"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2261,7 +2257,7 @@ msgstr[1] "Perubahan tatanan akan dikembalikan dalam %d detik"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2334,328 +2330,19 @@ msgstr "Pindahkan ke Monitor Kanan"
msgid "Evolution Calendar"
msgstr "Evolution Kalender"
#: src/extensions-tool/command-create.c:189
#, c-format
msgid ""
"Name should be a very short (ideally descriptive) string.\n"
"Examples are: %s"
msgstr ""
"Nama harus berupa string yang sangat pendek (idealnya deskriptif).\n"
"Contohnya adalah: %s"
#: src/extensions-tool/command-create.c:192 src/extensions-tool/main.c:169
msgid "Name"
msgstr "Nama"
#: src/extensions-tool/command-create.c:203
#, c-format
msgid ""
"Description is a single-sentence explanation of what your extension does.\n"
"Examples are: %s"
msgstr ""
"Deskripsi adalah penjelasan satu kalimat tentang apa yang dilakukan ekstensi "
"Anda.\n"
"Contohnya adalah: %s"
#: src/extensions-tool/command-create.c:206 src/extensions-tool/main.c:172
msgid "Description"
msgstr "Deskripsi"
#: src/extensions-tool/command-create.c:217
msgid ""
"UUID is a globally-unique identifier for your extension.\n"
"This should be in the format of an email address (clicktofocus@janedoe."
"example.com)\n"
msgstr ""
"UUID adalah pengidentifikasi unik secara global untuk ekstensi Anda.\n"
"Ini harus dalam format alamat surel (clicktofocus@janedoe.example.com)\n"
#: src/extensions-tool/command-create.c:239
msgid "The unique identifier of the new extension"
msgstr "Pengidentifikasi unik ekstensi baru"
#: src/extensions-tool/command-create.c:242
msgid "NAME"
msgstr "NAMA"
#: src/extensions-tool/command-create.c:243
msgid "The user-visible name of the new extension"
msgstr "Nama ekstensi baru yang dapat dilihat pengguna"
#: src/extensions-tool/command-create.c:245
msgid "DESCRIPTION"
msgstr "DESKRIPSI"
#: src/extensions-tool/command-create.c:247
msgid "A short description of what the extension does"
msgstr "Deskripsi singkat tentang apa yang dilakukan ekstensi"
#: src/extensions-tool/command-create.c:250
msgid "Enter extension information interactively"
msgstr "Masukkan informasi ekstensi secara interaktif"
#: src/extensions-tool/command-create.c:258
msgid "Create a new extension"
msgstr "Buat ekstensi baru"
#: src/extensions-tool/command-create.c:275
#: src/extensions-tool/command-list.c:158
msgid "Unknown arguments"
msgstr "Argumen tak dikenal"
#: src/extensions-tool/command-create.c:284
msgid "UUID, name and description are required"
msgstr "Diperlukan UUID, nama, dan deskripsi"
#: src/extensions-tool/command-disable.c:57
msgid "Disable an extension"
msgstr "Nonaktifkan ekstensi"
#: src/extensions-tool/command-disable.c:74
#: src/extensions-tool/command-enable.c:74
#: src/extensions-tool/command-info.c:96
#: src/extensions-tool/command-prefs.c:107
#: src/extensions-tool/command-reset.c:74
#: src/extensions-tool/command-uninstall.c:89
msgid "No UUID given"
msgstr "Tidak ada UUID yang diberikan"
#: src/extensions-tool/command-disable.c:79
#: src/extensions-tool/command-enable.c:79
#: src/extensions-tool/command-info.c:101
#: src/extensions-tool/command-prefs.c:112
#: src/extensions-tool/command-reset.c:79
#: src/extensions-tool/command-uninstall.c:94
msgid "More than one UUID given"
msgstr "Lebih dari satu UUID diberikan"
#: src/extensions-tool/command-enable.c:57
msgid "Enable an extension"
msgstr "Aktifkan ekstensi"
#: src/extensions-tool/command-info.c:79
msgid "Show extensions info"
msgstr "Tampilkan info ekstensi"
#: src/extensions-tool/command-install.c:173
msgid "Overwrite an existing extension"
msgstr "Timpa ekstensi yang ada"
#: src/extensions-tool/command-install.c:175
msgid "EXTENSION_BUNDLE"
msgstr "BUNDEL_EKSTENSI"
#: src/extensions-tool/command-install.c:184
msgid "Install an extension bundle"
msgstr "Pasang bundel ekstensi"
#: src/extensions-tool/command-install.c:201
msgid "No extension bundle specified"
msgstr "Tidak ada bundel ekstensi yang ditentukan"
#: src/extensions-tool/command-install.c:207
msgid "More than one extension bundle specified"
msgstr "Lebih dari satu bundel ekstensi ditentukan"
#: src/extensions-tool/command-list.c:118
msgid "Show user-installed extensions"
msgstr "Tampilkan ekstensi yang dipasang pengguna"
#: src/extensions-tool/command-list.c:121
msgid "Show system-installed extensions"
msgstr "Tampilkan ekstensi yang dipasang sistem"
#: src/extensions-tool/command-list.c:124
msgid "Show enabled extensions"
msgstr "Tampilkan ekstensi yang diaktifkan"
#: src/extensions-tool/command-list.c:127
msgid "Show disabled extensions"
msgstr "Tampilkan ekstensi yang dinonaktifkan"
#: src/extensions-tool/command-list.c:130
msgid "Show extensions with preferences"
msgstr "Tampilkan ekstensi dengan preferensi"
#: src/extensions-tool/command-list.c:133
msgid "Print extension details"
msgstr "Cetak detail ekstensi"
#: src/extensions-tool/command-list.c:141
msgid "List installed extensions"
msgstr "Daftar ekstensi yang dipasang"
#: src/extensions-tool/command-pack.c:450
msgid "FILE"
msgstr "BERKAS"
#: src/extensions-tool/command-pack.c:451
msgid "Additional source to include in the bundle"
msgstr "Sumber tambahan untuk disertakan dalam bundel"
#: src/extensions-tool/command-pack.c:454
msgid "SCHEMA"
msgstr "SKEMA"
#: src/extensions-tool/command-pack.c:455
msgid "A GSettings schema that should be included"
msgstr "Skema GSettings yang harus dimasukkan"
#: src/extensions-tool/command-pack.c:457
#: src/extensions-tool/command-pack.c:468
msgid "DIRECTORY"
msgstr "DIREKTORI"
#: src/extensions-tool/command-pack.c:459
msgid "The directory where translations are found"
msgstr "Direktori tempat terjemahan ditemukan"
#: src/extensions-tool/command-pack.c:461
msgid "DOMAIN"
msgstr "DOMAIN"
#: src/extensions-tool/command-pack.c:463
msgid "The gettext domain to use for translations"
msgstr "Domain gettext yang digunakan untuk terjemahan"
#: src/extensions-tool/command-pack.c:466
msgid "Overwrite an existing pack"
msgstr "Timpa paket yang ada"
#: src/extensions-tool/command-pack.c:470
msgid "The directory where the pack should be created"
msgstr "Direktori tempat paket harus dibuat"
#: src/extensions-tool/command-pack.c:472
msgid "SOURCE_DIRECTORY"
msgstr "DIREKTORI_SUMBER"
#: src/extensions-tool/command-pack.c:481
msgid "Create an extension bundle"
msgstr "Buat bundel ekstensi"
#: src/extensions-tool/command-pack.c:500
msgid "More than one source directory specified"
msgstr "Lebih dari satu direktori sumber ditentukan"
#: src/extensions-tool/command-prefs.c:90
msgid "Opens extension preferences"
msgstr "Buka preferensi ekstensi"
#: src/extensions-tool/command-reset.c:57
msgid "Reset an extension"
msgstr "Atur ulang ekstensi"
#: src/extensions-tool/command-uninstall.c:72
msgid "Uninstall an extension"
msgstr "Hapus ekstensi"
#: src/extensions-tool/main.c:175
msgid "Path"
msgstr "Path"
#: src/extensions-tool/main.c:178
msgid "URL"
msgstr "URL"
#: src/extensions-tool/main.c:181
msgid "Original author"
msgstr "Penulis asli"
#: src/extensions-tool/main.c:184
msgid "Version"
msgstr "Versi"
#: src/extensions-tool/main.c:187
msgid "State"
msgstr "Kondisi"
#: src/extensions-tool/main.c:221
msgid "“version” takes no arguments"
msgstr "\"version\" tak menerima argumen"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
msgid "Usage:"
msgstr "Pemakaian:"
#: src/extensions-tool/main.c:226
msgid "Print version information and exit."
msgstr "Cetak informasi versi dan keluar."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
msgid "COMMAND"
msgstr "PERINTAH"
#: src/extensions-tool/main.c:244
msgid "[ARGS…]"
msgstr "[ARG...]"
#: src/extensions-tool/main.c:246
msgid "Commands:"
msgstr "Perintah:"
#: src/extensions-tool/main.c:247
msgid "Print help"
msgstr "Cetak bantuan"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/main.c:460
msgid "Print version"
msgstr "Versi Cetak"
#: src/extensions-tool/main.c:249
msgid "Enable extension"
msgstr "Aktifkan ekstensi"
#: src/extensions-tool/main.c:250
msgid "Disable extension"
msgstr "Nonaktifkan ekstensi"
#: src/extensions-tool/main.c:251
msgid "Reset extension"
msgstr "Atur ulang ekstensi"
#: src/extensions-tool/main.c:252
msgid "Uninstall extension"
msgstr "Hapus ekstensi"
#: src/extensions-tool/main.c:253
msgid "List extensions"
msgstr "Daftar ekstensi"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
msgid "Show extension info"
msgstr "Tampilkan info ekstensi"
#: src/extensions-tool/main.c:256
msgid "Open extension preferences"
msgstr "Buka preferensi ekstensi"
#: src/extensions-tool/main.c:257
msgid "Create extension"
msgstr "Buat ekstensi"
#: src/extensions-tool/main.c:258
msgid "Package extension"
msgstr "Ekstensi Paket"
#: src/extensions-tool/main.c:259
msgid "Install extension bundle"
msgstr "Pasang bundel ekstensi"
#: src/extensions-tool/main.c:261
#, c-format
msgid "Use “%s” to get detailed help.\n"
msgstr "Gunakan \"%s\" untuk mendapatkan bantuan terperinci.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Mode yang dipakai oleh layar log masuk GDM"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Menggunakan mode tertentu, mis. \"gdm\" untuk layar masuk"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Menampilkan mode yang mungkin"

1287
po/it.po

File diff suppressed because it is too large Load Diff

View File

@@ -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-05 13:45+0000\n"
"PO-Revision-Date: 2019-09-06 21:10+0900\n"
"POT-Creation-Date: 2019-08-27 11:26+0000\n"
"PO-Revision-Date: 2019-08-29 20:44+0900\n"
"Last-Translator: sicklylife <translation@sicklylife.jp>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"Language: ja\n"
@@ -453,7 +453,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -803,7 +803,7 @@ msgstr "ヘッドフォン"
msgid "Headset"
msgstr "ヘッドセット"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "マイク"
@@ -1037,7 +1037,8 @@ msgid ""
"Passwords or encryption keys are required to access the wireless network "
"“%s”."
msgstr ""
"無線ネットワーク”%s”にアクセスするにはパスワードか暗号化キーが必要です。"
"無線ネットワーク”%s”にアクセスするにはパスワードか、または暗号化キーが必要で"
"す。"
#: js/ui/components/networkAgent.js:320 js/ui/components/networkAgent.js:693
msgid "Wired 802.1X authentication"
@@ -1292,13 +1293,13 @@ msgid "Other users are logged in."
msgstr "他のユーザーがログインしています。"
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (リモート)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (コンソール)"
@@ -1648,8 +1649,8 @@ msgstr "キーファイルを使用する"
msgid ""
"To unlock a volume that uses keyfiles, use the <i>%s</i> utility instead."
msgstr ""
"キーファイルを使用するボリュームのロック解除には <i>%s</i> ユーティリティを使"
"用します。"
"キーファイルを使用するボリュームのロック解除には <i>%s</i> ユーティリティを"
"使用します。"
#: js/ui/shellMountOperation.js:323
msgid "PIM Number"
@@ -2145,11 +2146,11 @@ msgstr "Thunderbolt 認証エラー"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Thunderbolt デバイスを認証できませんでした: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "音量変更しました"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "音量"
@@ -2202,22 +2203,22 @@ msgstr "検索"
msgid "“%s” is ready"
msgstr "”%s”は準備完了です"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "このディスプレイ設定を保存しますか?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "設定を元に戻す"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "変更を保存"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2225,7 +2226,7 @@ msgstr[0] "%d 秒後に元の設定に戻ります"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2555,7 +2556,7 @@ msgstr "コマンド:"
msgid "Print help"
msgstr "ヘルプを表示する"
#: src/extensions-tool/main.c:244 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "バージョンを表示する"
@@ -2604,15 +2605,15 @@ msgstr ""
msgid "Use %s to get detailed help.\n"
msgstr "%s を使用すると詳細なヘルプが表示されます。\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "ログイン画面で GDM が使用するモード"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "指定したモードを使用する (例: ログイン画面用の“gdm”)"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "使用可能なモードを一覧表示する"

1292
po/ko.po

File diff suppressed because it is too large Load Diff

426
po/lt.po
View File

@@ -10,8 +10,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-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-11 22:37+0300\n"
"POT-Creation-Date: 2019-08-09 14:45+0000\n"
"PO-Revision-Date: 2019-08-18 22:05+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
@@ -48,7 +48,7 @@ msgid "Open the application menu"
msgstr "Atverti programų meniu"
#: data/gnome-shell-extension-prefs.desktop.in.in:4
#: js/extensionPrefs/main.js:211
#: js/extensionPrefs/main.js:208
msgid "Shell Extensions"
msgstr "Shell plėtiniai"
@@ -95,10 +95,16 @@ msgstr ""
"Shell D-Bus metodus EnableExtension ir DisableExtension."
#: data/org.gnome.shell.gschema.xml.in:26
#| msgid "UUIDs of extensions to enable"
msgid "UUIDs of extensions to force disabling"
msgstr "Privestinai išjungtų plėtinių UUID"
#: data/org.gnome.shell.gschema.xml.in:27
#| msgid ""
#| "GNOME Shell extensions have a UUID property; this key lists extensions "
#| "which should be loaded. Any extension that wants to be loaded needs to be "
#| "in this list. You can also manipulate this list with the EnableExtension "
#| "and DisableExtension D-Bus methods on org.gnome.Shell."
msgid ""
"GNOME Shell extensions have a UUID property; this key lists extensions which "
"should be disabled, even if loaded as part of the current mode. You can also "
@@ -341,6 +347,7 @@ msgstr ""
"srities. Priešingu atveju įtraukiami visi langai."
#: data/org.gnome.shell.gschema.xml.in:234
#| msgid "Location In Use"
msgid "Locations"
msgstr "Vietos"
@@ -357,6 +364,7 @@ msgid "Whether to fetch the current location or not"
msgstr "Ar gauti dabartinę vietą"
#: data/org.gnome.shell.gschema.xml.in:253
#| msgid "Location In Use"
msgid "Location"
msgstr "Vieta"
@@ -397,11 +405,11 @@ msgstr "Atidėti fokuso pakeitimus pelei iki žymiklis nustos judėti"
msgid "Network Login"
msgstr "Tinklo prisijungimas"
#: js/extensionPrefs/main.js:104 js/extensionPrefs/main.js:534
#: js/extensionPrefs/main.js:101 js/extensionPrefs/main.js:531
msgid "Somethings gone wrong"
msgstr "Atsitiko kažkas negero"
#: js/extensionPrefs/main.js:111
#: js/extensionPrefs/main.js:108
msgid ""
"Were very sorry, but theres been a problem: the settings for this "
"extension cant be displayed. We recommend that you report the issue to the "
@@ -410,27 +418,27 @@ msgstr ""
"Atsiprašome, bet kilo problema: šio plėtinio nustatymų parodyti nepavyksta. "
"Rekomenduojame pranešti apie problemą plėtinio autoriams."
#: js/extensionPrefs/main.js:118
#: js/extensionPrefs/main.js:115
msgid "Technical Details"
msgstr "Techninė informacija"
#: js/extensionPrefs/main.js:153
#: js/extensionPrefs/main.js:150
msgid "Copy Error"
msgstr "Kopijuoti klaidą"
#: js/extensionPrefs/main.js:180
#: js/extensionPrefs/main.js:177
msgid "Homepage"
msgstr "Namų tinklalapis"
#: js/extensionPrefs/main.js:181
#: js/extensionPrefs/main.js:178
msgid "Visit extension homepage"
msgstr "Aplankyti plėtinio namų tinklalapį"
#: js/extensionPrefs/main.js:476
#: js/extensionPrefs/main.js:473
msgid "No Extensions Installed"
msgstr "Nėra įdiegtų plėtinių"
#: js/extensionPrefs/main.js:486
#: js/extensionPrefs/main.js:483
msgid ""
"Extensions can be installed through Software or <a href=\"https://extensions."
"gnome.org\">extensions.gnome.org</a>."
@@ -438,11 +446,11 @@ msgstr ""
"Plėtinius galima įdiegti per Programinę įrangą arba <a href=\"https://"
"extensions.gnome.org\">extensions.gnome.org</a>."
#: js/extensionPrefs/main.js:501
#: js/extensionPrefs/main.js:498
msgid "Browse in Software"
msgstr "Naršyti Programinėje įrangoje"
#: js/extensionPrefs/main.js:541
#: js/extensionPrefs/main.js:538
msgid ""
"Were very sorry, but it was not possible to get the list of installed "
"extensions. Make sure you are logged into GNOME and try again."
@@ -452,7 +460,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -545,6 +553,7 @@ msgstr "Atsijungti"
#. Translators: A list of keywords that match the logout action, separated by semicolons
#: js/misc/systemActions.js:108
#| msgid "logout;sign off"
msgid "logout;log out;sign off"
msgstr "atsijungti;išeiti;"
@@ -761,33 +770,29 @@ msgstr "Dažnai naudojamos"
msgid "All"
msgstr "Visos"
#: js/ui/appDisplay.js:1751
#| msgid "Username: "
msgid "Rename"
msgstr "Pervadinti"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2224 js/ui/panel.js:77
#| msgid "Windows"
msgid "Open Windows"
msgstr "Atverti langai"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2243 js/ui/panel.js:84
msgid "New Window"
msgstr "Naujas langas"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2255
msgid "Launch using Dedicated Graphics Card"
msgstr "Paleisti naudojant dedikuotą grafikos kortą"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2284 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2290
msgid "Add to Favorites"
msgstr "Pridėti prie mėgstamų"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2300 js/ui/panel.js:95
msgid "Show Details"
msgstr "Rodyti detalią informaciją"
@@ -817,7 +822,7 @@ msgstr "Ausinės"
msgid "Headset"
msgstr "Ausinės su mikrofonu"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Mikrofonas"
@@ -987,6 +992,7 @@ msgid "External drive disconnected"
msgstr "Atjungta išorinė laikmena"
#: js/ui/components/automountManager.js:210
#| msgid "Unable to lock"
msgid "Unable to unlock volume"
msgstr "Nepavyksta atrakinti garso"
@@ -1322,13 +1328,13 @@ msgid "Other users are logged in."
msgstr "Yra prisijungusių kitų naudotojų"
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (nutolęs)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (komandų eilutė)"
@@ -1481,7 +1487,7 @@ msgstr "Žiūrėti šaltinį"
msgid "Web Page"
msgstr "Tinklalapis"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Sistemos informacija"
@@ -1612,7 +1618,7 @@ msgstr[0] "%d naujas pranešimas"
msgstr[1] "%d nauji pranešimai"
msgstr[2] "%d naujų pranešimų"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Užrakinti"
@@ -1635,15 +1641,15 @@ msgstr "Nepavyksta užrakinti"
msgid "Lock was blocked by an application"
msgstr "Programa užblokavo užrakinimą"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Ieškoma…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Nerasta atitikmenų."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -1668,6 +1674,7 @@ msgid "Hide Text"
msgstr "Slėpti tekstą"
#: js/ui/shellMountOperation.js:304
#| msgid "Volume"
msgid "Hidden Volume"
msgstr "Paslėptas garsumas"
@@ -1676,6 +1683,7 @@ msgid "Windows System Volume"
msgstr "Windows sisteminis tomas"
#: js/ui/shellMountOperation.js:310
#| msgid "Mouse Keys"
msgid "Uses Keyfiles"
msgstr "Naudoja raktų failus"
@@ -1707,12 +1715,14 @@ msgstr "Atsiminti slaptažodį"
#. Translators: %s is the Disks application
#: js/ui/shellMountOperation.js:404
#, javascript-format
#| msgid "Open with %s"
msgid "Open %s"
msgstr "Atverti %s"
#. Translators: %s is the Disks application
#: js/ui/shellMountOperation.js:476
#, javascript-format
#| msgid "Unable to connect to %s"
msgid "Unable to start %s"
msgstr "Nepavyksta paleisti %s"
@@ -1791,7 +1801,7 @@ msgstr "Išjungta"
msgid "On"
msgstr "Įjungta"
#: js/ui/status/brightness.js:38
#: js/ui/status/brightness.js:37
msgid "Brightness"
msgstr "Ryškumas"
@@ -2131,27 +2141,27 @@ msgstr "Išjungti"
msgid "Airplane Mode On"
msgstr "Skrydžio veiksena įjungta"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Keisti naudotoją"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Atsijungti"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Paskyros nustatymai"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Padėties užrakinimas"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Pristabdyti"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Išjungti"
@@ -2189,11 +2199,11 @@ msgstr "Thunderbolt autorizacijos klaida"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Nepavyko autorizuoti Thunderbolt įrenginio: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Garsumas pakeistas"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Garsumas"
@@ -2246,22 +2256,22 @@ msgstr "Ieškoti"
msgid "“%s” is ready"
msgstr "„%s“ yra pasirengusi"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Ar norite įrašyti šiuos vaizduoklio nustatymus?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Grąžinti nustatymus"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Įrašyti pakeitimus"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2271,7 +2281,7 @@ msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2344,328 +2354,19 @@ msgstr "Perkelti į dešiniau esantį monitorių"
msgid "Evolution Calendar"
msgstr "Evolution kalendorius"
#: src/extensions-tool/command-create.c:189
#, c-format
msgid ""
"Name should be a very short (ideally descriptive) string.\n"
"Examples are: %s"
msgstr ""
"Pavadinimas turi būti trumpa (geriausia apibūdinant) simbolių eilutė.\n"
"Pavyzdžiai: %s"
#: src/extensions-tool/command-create.c:192 src/extensions-tool/main.c:169
msgid "Name"
msgstr "Pavadinimas"
#: src/extensions-tool/command-create.c:203
#, c-format
msgid ""
"Description is a single-sentence explanation of what your extension does.\n"
"Examples are: %s"
msgstr ""
"Aprašymas yra vieno sakinio paaiškinimas, ką daro plėtinys.\n"
"Pavyzdžiai: %s"
#: src/extensions-tool/command-create.c:206 src/extensions-tool/main.c:172
msgid "Description"
msgstr "Aprašymas"
#: src/extensions-tool/command-create.c:217
msgid ""
"UUID is a globally-unique identifier for your extension.\n"
"This should be in the format of an email address (clicktofocus@janedoe."
"example.com)\n"
msgstr ""
"UUID yra visuotinai unikalus identifikatorius jūsų plėtiniui.\n"
"Jis turėtų būti el. pašto adreso formato (clicktofocus@janedoe.example.com)\n"
#: src/extensions-tool/command-create.c:239
msgid "The unique identifier of the new extension"
msgstr "Unikalus identifikatorius naujam plėtiniui"
#: src/extensions-tool/command-create.c:242
msgid "NAME"
msgstr "PAVADINIMAS"
#: src/extensions-tool/command-create.c:243
msgid "The user-visible name of the new extension"
msgstr "Naudotojui matomas plėtinio pavadinimas"
#: src/extensions-tool/command-create.c:245
msgid "DESCRIPTION"
msgstr "APRAŠYMAS"
#: src/extensions-tool/command-create.c:247
msgid "A short description of what the extension does"
msgstr "Trumpas aprašymas, ką daro plėtinys"
#: src/extensions-tool/command-create.c:250
msgid "Enter extension information interactively"
msgstr "Įveskite plėtinio informaciją interaktyviai"
#: src/extensions-tool/command-create.c:258
msgid "Create a new extension"
msgstr "Sukurti naują plėtinį"
#: src/extensions-tool/command-create.c:275
#: src/extensions-tool/command-list.c:158
msgid "Unknown arguments"
msgstr "Nežinomi argumentai"
#: src/extensions-tool/command-create.c:284
msgid "UUID, name and description are required"
msgstr "UUID, pavadinimas ir aprašymas yra būtini"
#: src/extensions-tool/command-disable.c:57
msgid "Disable an extension"
msgstr "Išjungti plėtinį"
#: src/extensions-tool/command-disable.c:74
#: src/extensions-tool/command-enable.c:74
#: src/extensions-tool/command-info.c:96
#: src/extensions-tool/command-prefs.c:107
#: src/extensions-tool/command-reset.c:74
#: src/extensions-tool/command-uninstall.c:89
msgid "No UUID given"
msgstr "Nenurodytas UUID"
#: src/extensions-tool/command-disable.c:79
#: src/extensions-tool/command-enable.c:79
#: src/extensions-tool/command-info.c:101
#: src/extensions-tool/command-prefs.c:112
#: src/extensions-tool/command-reset.c:79
#: src/extensions-tool/command-uninstall.c:94
msgid "More than one UUID given"
msgstr "Pateiktas daugiau nei vienas UUID"
#: src/extensions-tool/command-enable.c:57
msgid "Enable an extension"
msgstr "Išjungti plėtinį"
#: src/extensions-tool/command-info.c:79
msgid "Show extensions info"
msgstr "Rodyti plėtinio informaciją"
#: src/extensions-tool/command-install.c:173
msgid "Overwrite an existing extension"
msgstr "Perrašyti esamą plėtinį"
#: src/extensions-tool/command-install.c:175
msgid "EXTENSION_BUNDLE"
msgstr "PLĖTINIO_RYŠULYS"
#: src/extensions-tool/command-install.c:184
msgid "Install an extension bundle"
msgstr "Įdiegti plėtinio ryšulį"
#: src/extensions-tool/command-install.c:201
msgid "No extension bundle specified"
msgstr "Nenurodytas plėtinio ryšulys"
#: src/extensions-tool/command-install.c:207
msgid "More than one extension bundle specified"
msgstr "Nurodytas daugiau nei vienas plėtinio ryšulys"
#: src/extensions-tool/command-list.c:118
msgid "Show user-installed extensions"
msgstr "Rodyti naudotojo įdiegtus plėtinius"
#: src/extensions-tool/command-list.c:121
msgid "Show system-installed extensions"
msgstr "Rodyti sistemoje įdiegtus plėtinius"
#: src/extensions-tool/command-list.c:124
msgid "Show enabled extensions"
msgstr "Rodyti įjungtus plėtinius"
#: src/extensions-tool/command-list.c:127
msgid "Show disabled extensions"
msgstr "Rodyti išjungtus plėtinius"
#: src/extensions-tool/command-list.c:130
msgid "Show extensions with preferences"
msgstr "Rodyti plėtinius su nuostatomis"
#: src/extensions-tool/command-list.c:133
msgid "Print extension details"
msgstr "Atspausdinti plėtinio informaciją"
#: src/extensions-tool/command-list.c:141
msgid "List installed extensions"
msgstr "Išvardinti įdiegtus plėtinius"
#: src/extensions-tool/command-pack.c:450
msgid "FILE"
msgstr "FAILAS"
#: src/extensions-tool/command-pack.c:451
msgid "Additional source to include in the bundle"
msgstr "Papildomas šaltinis įdėjimui į ryšulį"
#: src/extensions-tool/command-pack.c:454
msgid "SCHEMA"
msgstr "SCHEMA"
#: src/extensions-tool/command-pack.c:455
msgid "A GSettings schema that should be included"
msgstr "GSettings schema, kuri turi būti įtraukta"
#: src/extensions-tool/command-pack.c:457
#: src/extensions-tool/command-pack.c:468
msgid "DIRECTORY"
msgstr "KATALOGAS"
#: src/extensions-tool/command-pack.c:459
msgid "The directory where translations are found"
msgstr "Katalogas, kuriame yra vertimai"
#: src/extensions-tool/command-pack.c:461
msgid "DOMAIN"
msgstr "DOMENAS"
#: src/extensions-tool/command-pack.c:463
msgid "The gettext domain to use for translations"
msgstr "gettext domenas, naudojamas vertimams"
#: src/extensions-tool/command-pack.c:466
msgid "Overwrite an existing pack"
msgstr "Perrašyti esamą paketą"
#: src/extensions-tool/command-pack.c:470
msgid "The directory where the pack should be created"
msgstr "Katalogas, kuriame turi būti sukurtas paketas"
#: src/extensions-tool/command-pack.c:472
msgid "SOURCE_DIRECTORY"
msgstr "KODO_KATALOGAS"
#: src/extensions-tool/command-pack.c:481
msgid "Create an extension bundle"
msgstr "Sukurti plėtinio ryšulį"
#: src/extensions-tool/command-pack.c:500
msgid "More than one source directory specified"
msgstr "Nurodytas daugiau nei vienas kodo aplankas"
#: src/extensions-tool/command-prefs.c:90
msgid "Opens extension preferences"
msgstr "Atveria plėtinio nuostatas"
#: src/extensions-tool/command-reset.c:57
msgid "Reset an extension"
msgstr "Atstatyti plėtinį"
#: src/extensions-tool/command-uninstall.c:72
msgid "Uninstall an extension"
msgstr "Išdiegti plėtinį"
#: src/extensions-tool/main.c:175
msgid "Path"
msgstr "Kelias"
#: src/extensions-tool/main.c:178
msgid "URL"
msgstr "URL"
#: src/extensions-tool/main.c:181
msgid "Original author"
msgstr "Pradinis autorius"
#: src/extensions-tool/main.c:184
msgid "Version"
msgstr "Versija"
#: src/extensions-tool/main.c:187
msgid "State"
msgstr "Būsena"
#: src/extensions-tool/main.c:221
msgid "“version” takes no arguments"
msgstr "„version“ nepriima argumentų"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
msgid "Usage:"
msgstr "Naudojimas:"
#: src/extensions-tool/main.c:226
msgid "Print version information and exit."
msgstr "Atspausdinti versijos informaciją ir išeiti."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
msgid "COMMAND"
msgstr "KOMANDA"
#: src/extensions-tool/main.c:244
msgid "[ARGS…]"
msgstr "[ARG…]"
#: src/extensions-tool/main.c:246
msgid "Commands:"
msgstr "Komandos:"
#: src/extensions-tool/main.c:247
msgid "Print help"
msgstr "Atspausdinti žinyną"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/main.c:464
msgid "Print version"
msgstr "Išvesti versijos numerį"
#: src/extensions-tool/main.c:249
msgid "Enable extension"
msgstr "Įjungti ]plėtinį"
#: src/extensions-tool/main.c:250
msgid "Disable extension"
msgstr "Išjungti plėtinį"
#: src/extensions-tool/main.c:251
msgid "Reset extension"
msgstr "Atstatyti plėtinį"
#: src/extensions-tool/main.c:252
msgid "Uninstall extension"
msgstr "Išdiegti plėtinį"
#: src/extensions-tool/main.c:253
msgid "List extensions"
msgstr "Išvardinti plėtinius"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
msgid "Show extension info"
msgstr "Rodyti plėtinio informaciją"
#: src/extensions-tool/main.c:256
msgid "Open extension preferences"
msgstr "Atverti plėtinio nuostatas"
#: src/extensions-tool/main.c:257
msgid "Create extension"
msgstr "Sukurti plėtinį"
#: src/extensions-tool/main.c:258
msgid "Package extension"
msgstr "Supakuoti plėtinį"
#: src/extensions-tool/main.c:259
msgid "Install extension bundle"
msgstr "Įdiegti plėtinio ryšulį"
#: src/extensions-tool/main.c:261
#, c-format
#| msgid "Use %s to get detailed help.\n"
msgid "Use “%s” to get detailed help.\n"
msgstr "Detalesnį žinyną gausite panaudoję „%s“.\n"
#: src/main.c:474
#: src/main.c:470
msgid "Mode used by GDM for login screen"
msgstr "Veiksena, naudojama GDM prisijungimo ekrane"
#: src/main.c:480
#: src/main.c:476
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Naudoti konkrečią veikseną, pvz., „gdm“ prisijungimo ekranui"
#: src/main.c:486
#: src/main.c:482
msgid "List possible modes"
msgstr "Išvardinti galimas veiksenas"
@@ -2687,7 +2388,7 @@ msgstr "Slaptažodžiai nesutampa."
msgid "Password cannot be blank"
msgstr "Slaptažodis negali būti tuščias"
#: src/shell-polkit-authentication-agent.c:344
#: src/shell-polkit-authentication-agent.c:348
msgid "Authentication dialog was dismissed by the user"
msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą"
@@ -2785,6 +2486,9 @@ msgstr "Sistemos garsai"
#~ msgid "Media"
#~ msgstr "Medija"
#~ msgid "GNOME Shell Extension Preferences"
#~ msgstr "GNOME Shell plėtinių nuostatos"
#~ msgid "Web Authentication Redirect"
#~ msgstr "Reikia patvirtinti tapatybę internete"

1526
po/pa.po

File diff suppressed because it is too large Load Diff

108
po/pl.po
View File

@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2019-09-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-11 19:21+0200\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-23 18:39+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@@ -458,7 +458,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -774,32 +774,28 @@ msgstr "Często używane"
msgid "All"
msgstr "Wszystkie"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Zmień nazwę"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Otwarte okna"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Nowe okno"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Uruchom za pomocą dedykowanej karty graficznej"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Usuń z ulubionych"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Dodaj do ulubionych"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Wyświetl szczegóły"
@@ -829,7 +825,7 @@ msgstr "Słuchawki"
msgid "Headset"
msgstr "Słuchawki z mikrofonem"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Mikrofon"
@@ -1334,13 +1330,13 @@ msgid "Other users are logged in."
msgstr "Inni użytkownicy są zalogowani."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (zdalnie)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (konsola)"
@@ -1494,7 +1490,7 @@ msgstr "Wyświetl źródło"
msgid "Web Page"
msgstr "Strona WWW"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Informacje systemowe"
@@ -1625,7 +1621,7 @@ msgstr[0] "%d nowe powiadomienie"
msgstr[1] "%d nowe powiadomienia"
msgstr[2] "%d nowych powiadomień"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Zablokuj ekran"
@@ -1648,15 +1644,15 @@ msgstr "Nie można zablokować"
msgid "Lock was blocked by an application"
msgstr "Blokowanie zostało zablokowane przez program"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Wyszukiwanie…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Brak wyników."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2145,27 +2141,27 @@ msgstr "Wyłącz"
msgid "Airplane Mode On"
msgstr "Włączono tryb samolotowy"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Przełącz użytkownika"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Wyloguj się"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Ustawienia konta"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Blokada orientacji"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Uśpij"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Wyłącz komputer"
@@ -2204,11 +2200,11 @@ msgstr "Błąd upoważnienia Thunderbolt"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Nie można upoważnić urządzenia Thunderbolt: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Zmieniono głośność"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Głośność"
@@ -2261,22 +2257,22 @@ msgstr "Wyszukiwanie"
msgid "“%s” is ready"
msgstr "Okno „%s” jest gotowe"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Zachować te ustawienia ekranu?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Przywróć ustawienia"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Zachowaj zmiany"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2286,7 +2282,7 @@ msgstr[2] "Zmienione ustawienia zostaną przywrócone za %d sekund"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d×%d"
@@ -2598,7 +2594,7 @@ msgstr "Stan"
msgid "“version” takes no arguments"
msgstr "Opcja „version” nie przyjmuje parametrów"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "Użycie:"
@@ -2606,80 +2602,80 @@ msgstr "Użycie:"
msgid "Print version information and exit."
msgstr "Wyświetla informacje o wersji i kończy działanie."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "POLECENIE"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[PARAMETRY…]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "Polecenia:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "Wyświetla pomoc"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Wyświetla wersję"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "Włącza rozszerzenie"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "Wyłącza rozszerzenie"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "Przywraca rozszerzenie"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "Odinstalowuje rozszerzenie"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "Wyświetla listę rozszerzeń"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "Wyświetla informacje o rozszerzeniu"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "Otwiera preferencje rozszerzenia"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "Tworzy rozszerzenie"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
msgid "Package extension"
msgstr "Tworzy pakiet z rozszerzeniem"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
msgid "Install extension bundle"
msgstr "Instaluje pakiet rozszerzenia"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
msgid "Use %s to get detailed help.\n"
msgstr "Polecenie %s wyświetli szczegółową pomoc.\n"
msgid "Use %s to get detailed help.\n"
msgstr "Polecenie %s wyświetli szczegółową pomoc.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Tryb używany przez GDM dla ekranu logowania"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Używa podanego trybu, np. „gdm” dla ekranu logowania"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Wyświetla listę możliwych trybów"

File diff suppressed because it is too large Load Diff

108
po/ro.po
View File

@@ -10,8 +10,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-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-11 22:12+0200\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-22 10:05+0200\n"
"Last-Translator: Daniel Șerbănescu <daniel [at] serbanescu [dot] dk>\n"
"Language-Team: Gnome Romanian Translation Team <gnomero-list@lists."
"sourceforge.net>\n"
@@ -468,7 +468,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -780,32 +780,28 @@ msgstr "Frecvente"
msgid "All"
msgstr "Toate"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Redenumește"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Ferestre deschise"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Fereastră nouă"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Lansează folosind placa grafică dedicată"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Elimină din favorite"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Adaugă la Favorite"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Arată detaliile"
@@ -835,7 +831,7 @@ msgstr "Căști auriculare"
msgid "Headset"
msgstr "Căști cu microfon"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Microfon"
@@ -1338,13 +1334,13 @@ msgid "Other users are logged in."
msgstr "Alți utilizatori sunt conectați."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (la distanță)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (consolă)"
@@ -1499,7 +1495,7 @@ msgstr "Vizualizează sursa"
msgid "Web Page"
msgstr "Pagină Web"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Informații despre sistem"
@@ -1630,7 +1626,7 @@ msgstr[0] "%d notificare"
msgstr[1] "%d notificări"
msgstr[2] "%d de notificări"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Blocare"
@@ -1653,15 +1649,15 @@ msgstr "Blocare nereușită"
msgid "Lock was blocked by an application"
msgstr "Blocarea a fost împiedicată de o aplicație"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Se caută…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Niciun rezultat."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2151,27 +2147,27 @@ msgstr "Oprește"
msgid "Airplane Mode On"
msgstr "Modul avion este pornit"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Comută utilizatorul"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Ieșire din sesiune"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Configurări de cont"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Blocare de orientare"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Suspendare"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Oprire"
@@ -2210,11 +2206,11 @@ msgstr "Eroare de autorizare Thunderbolt"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Nu s-a putut autoriza dispozitivul Thunderbolt: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Volumul a fost schimbat"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Volum"
@@ -2267,22 +2263,22 @@ msgstr "Caută"
msgid "“%s” is ready"
msgstr "„%s” este gata"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Doriți să păstrați aceste configurări de afișare?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Restaurează configurările"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Păstrați modificările"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2292,7 +2288,7 @@ msgstr[2] "Schimbările vor fi restaurare în %d de secunde"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2606,7 +2602,7 @@ msgstr "Stare"
msgid "“version” takes no arguments"
msgstr "„version” nu primește argumente"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "Utilizare:"
@@ -2614,80 +2610,80 @@ msgstr "Utilizare:"
msgid "Print version information and exit."
msgstr "Tipărește informațiile versiunii și ieși."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "COMANDĂ"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[ARGUMENTE…]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "Comenzi:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "Tipărește ajutorul"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Tipărește versiunea"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "Activează extensia"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "Dezactivează extensia"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "Restabilește extensia"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "Dezinstalează extensia"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "Listează extensiile"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "Arată informații despre extensie"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "Deschide preferințele extensiei"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "Creează extensie"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
msgid "Package extension"
msgstr "Împachetează extensia"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
msgid "Install extension bundle"
msgstr "Instalează pachetul de extensii"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
msgid "Use %s to get detailed help.\n"
msgstr "Utilizați %s pentru a obține ajutor detaliat.\n"
msgid "Use %s to get detailed help.\n"
msgstr "Utilizați %s pentru a obține ajutor detaliat.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Mod folosit de GDM pentru meniul de autentificare"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Utilizează un mod specific, de exemplu „gdm” pentru ecranul de logare"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Enumeră câmpurile care pot fi afișate"

1394
po/sk.po

File diff suppressed because it is too large Load Diff

1339
po/sr.po

File diff suppressed because it is too large Load Diff

108
po/sv.po
View File

@@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n"
"POT-Creation-Date: 2019-09-11 17:13+0000\n"
"PO-Revision-Date: 2019-09-13 00:15+0200\n"
"POT-Creation-Date: 2019-08-21 23:18+0000\n"
"PO-Revision-Date: 2019-08-24 21:45+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@@ -452,7 +452,7 @@ msgstr ""
#: js/gdm/authPrompt.js:139 js/ui/audioDeviceSelection.js:53
#: js/ui/components/networkAgent.js:120 js/ui/components/polkitAgent.js:138
#: js/ui/endSessionDialog.js:448 js/ui/extensionDownloader.js:189
#: js/ui/endSessionDialog.js:445 js/ui/extensionDownloader.js:189
#: js/ui/shellMountOperation.js:390 js/ui/shellMountOperation.js:399
#: js/ui/status/network.js:899
msgid "Cancel"
@@ -756,32 +756,28 @@ msgstr "Ofta använda"
msgid "All"
msgstr "Alla"
#: js/ui/appDisplay.js:1751
msgid "Rename"
msgstr "Byt namn"
#. Translators: This is the heading of a list of open windows
#: js/ui/appDisplay.js:2397 js/ui/panel.js:77
#: js/ui/appDisplay.js:2233 js/ui/panel.js:77
msgid "Open Windows"
msgstr "Öppna fönster"
#: js/ui/appDisplay.js:2416 js/ui/panel.js:84
#: js/ui/appDisplay.js:2252 js/ui/panel.js:84
msgid "New Window"
msgstr "Nytt fönster"
#: js/ui/appDisplay.js:2428
#: js/ui/appDisplay.js:2264
msgid "Launch using Dedicated Graphics Card"
msgstr "Kör med diskret grafikkort"
#: js/ui/appDisplay.js:2457 js/ui/dash.js:240
#: js/ui/appDisplay.js:2293 js/ui/dash.js:240
msgid "Remove from Favorites"
msgstr "Ta bort från favoriter"
#: js/ui/appDisplay.js:2463
#: js/ui/appDisplay.js:2299
msgid "Add to Favorites"
msgstr "Lägg till som favorit"
#: js/ui/appDisplay.js:2473 js/ui/panel.js:95
#: js/ui/appDisplay.js:2309 js/ui/panel.js:95
msgid "Show Details"
msgstr "Visa detaljer"
@@ -811,7 +807,7 @@ msgstr "Hörlurar"
msgid "Headset"
msgstr "Mikrofonlur"
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:248
#: js/ui/audioDeviceSelection.js:64 js/ui/status/volume.js:241
msgid "Microphone"
msgstr "Mikrofon"
@@ -1312,13 +1308,13 @@ msgid "Other users are logged in."
msgstr "Andra användare är inloggade."
#. Translators: Remote here refers to a remote session, like a ssh login
#: js/ui/endSessionDialog.js:650
#: js/ui/endSessionDialog.js:647
#, javascript-format
msgid "%s (remote)"
msgstr "%s (fjärransluten)"
#. Translators: Console here refers to a tty like a VT console
#: js/ui/endSessionDialog.js:653
#: js/ui/endSessionDialog.js:650
#, javascript-format
msgid "%s (console)"
msgstr "%s (konsol)"
@@ -1471,7 +1467,7 @@ msgstr "Visa källa"
msgid "Web Page"
msgstr "Webbsida"
#: js/ui/messageTray.js:1461
#: js/ui/messageTray.js:1462
msgid "System Information"
msgstr "Systeminformation"
@@ -1600,7 +1596,7 @@ msgid_plural "%d new notifications"
msgstr[0] "%d ny avisering"
msgstr[1] "%d nya aviseringar"
#: js/ui/screenShield.js:444 js/ui/status/system.js:260
#: js/ui/screenShield.js:444 js/ui/status/system.js:269
msgid "Lock"
msgstr "Lås"
@@ -1623,15 +1619,15 @@ msgstr "Kunde inte låsa"
msgid "Lock was blocked by an application"
msgstr "Låsning hindrades av ett program"
#: js/ui/search.js:668
#: js/ui/search.js:647
msgid "Searching…"
msgstr "Söker…"
#: js/ui/search.js:670
#: js/ui/search.js:649
msgid "No results."
msgstr "Inga sökträffar."
#: js/ui/search.js:794
#: js/ui/search.js:773
#, javascript-format
msgid "%d more"
msgid_plural "%d more"
@@ -2115,27 +2111,27 @@ msgstr "Stäng av"
msgid "Airplane Mode On"
msgstr "Flygplansläge påslaget"
#: js/ui/status/system.js:192
#: js/ui/status/system.js:201
msgid "Switch User"
msgstr "Växla användare"
#: js/ui/status/system.js:204
#: js/ui/status/system.js:213
msgid "Log Out"
msgstr "Logga ut"
#: js/ui/status/system.js:216
#: js/ui/status/system.js:225
msgid "Account Settings"
msgstr "Kontoinställningar"
#: js/ui/status/system.js:245
#: js/ui/status/system.js:254
msgid "Orientation Lock"
msgstr "Skärmrotation"
#: js/ui/status/system.js:271
#: js/ui/status/system.js:280
msgid "Suspend"
msgstr "Vänteläge"
#: js/ui/status/system.js:281
#: js/ui/status/system.js:290
msgid "Power Off"
msgstr "Stäng av"
@@ -2174,11 +2170,11 @@ msgstr "Thunderbolt-auktoriseringsfel"
msgid "Could not authorize the Thunderbolt device: %s"
msgstr "Kunde inte auktorisera Thunderbolt-enheten: %s"
#: js/ui/status/volume.js:129
#: js/ui/status/volume.js:128
msgid "Volume changed"
msgstr "Volymen ändrades"
#: js/ui/status/volume.js:200
#: js/ui/status/volume.js:193
msgid "Volume"
msgstr "Volym"
@@ -2231,22 +2227,22 @@ msgstr "Sök"
msgid "“%s” is ready"
msgstr "”%s” är redo"
#: js/ui/windowManager.js:55
#: js/ui/windowManager.js:54
msgid "Do you want to keep these display settings?"
msgstr "Vill du behålla dessa skärminställningar?"
#. Translators: this and the following message should be limited in length,
#. to avoid ellipsizing the labels.
#.
#: js/ui/windowManager.js:67
#: js/ui/windowManager.js:66
msgid "Revert Settings"
msgstr "Återställ inställningar"
#: js/ui/windowManager.js:70
#: js/ui/windowManager.js:69
msgid "Keep Changes"
msgstr "Behåll ändringar"
#: js/ui/windowManager.js:88
#: js/ui/windowManager.js:87
#, javascript-format
msgid "Settings changes will revert in %d second"
msgid_plural "Settings changes will revert in %d seconds"
@@ -2255,7 +2251,7 @@ msgstr[1] "Inställningarna kommer återställas om %d sekunder"
#. Translators: This represents the size of a window. The first number is
#. * the width of the window and the second is the height.
#: js/ui/windowManager.js:684
#: js/ui/windowManager.js:683
#, javascript-format
msgid "%d × %d"
msgstr "%d × %d"
@@ -2568,7 +2564,7 @@ msgstr "Tillstånd"
msgid "“version” takes no arguments"
msgstr "”version” tar inga argument"
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:243
#: src/extensions-tool/main.c:223 src/extensions-tool/main.c:239
msgid "Usage:"
msgstr "Användning:"
@@ -2576,80 +2572,80 @@ msgstr "Användning:"
msgid "Print version information and exit."
msgstr "Skriv ut versionsinformation och avsluta."
#: src/extensions-tool/main.c:241 src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "COMMAND"
msgstr "KOMMANDO"
#: src/extensions-tool/main.c:244
#: src/extensions-tool/main.c:240
msgid "[ARGS…]"
msgstr "[ARGUMENT…]"
#: src/extensions-tool/main.c:246
#: src/extensions-tool/main.c:242
msgid "Commands:"
msgstr "Kommandon:"
#: src/extensions-tool/main.c:247
#: src/extensions-tool/main.c:243
msgid "Print help"
msgstr "Skriv ut hjälp"
#: src/extensions-tool/main.c:248 src/main.c:468
#: src/extensions-tool/main.c:244 src/main.c:460
msgid "Print version"
msgstr "Skriv ut version"
#: src/extensions-tool/main.c:249
#: src/extensions-tool/main.c:245
msgid "Enable extension"
msgstr "Aktivera tillägg"
#: src/extensions-tool/main.c:250
#: src/extensions-tool/main.c:246
msgid "Disable extension"
msgstr "Inaktivera tillägg"
#: src/extensions-tool/main.c:251
#: src/extensions-tool/main.c:247
msgid "Reset extension"
msgstr "Återställ tillägg"
#: src/extensions-tool/main.c:252
#: src/extensions-tool/main.c:248
msgid "Uninstall extension"
msgstr "Avinstallera tillägg"
#: src/extensions-tool/main.c:253
#: src/extensions-tool/main.c:249
msgid "List extensions"
msgstr "Lista tillägg"
#: src/extensions-tool/main.c:254 src/extensions-tool/main.c:255
#: src/extensions-tool/main.c:250 src/extensions-tool/main.c:251
msgid "Show extension info"
msgstr "Visa info för tillägg"
#: src/extensions-tool/main.c:256
#: src/extensions-tool/main.c:252
msgid "Open extension preferences"
msgstr "Öppna inställningar för tillägg"
#: src/extensions-tool/main.c:257
#: src/extensions-tool/main.c:253
msgid "Create extension"
msgstr "Skapa tillägg"
#: src/extensions-tool/main.c:258
#: src/extensions-tool/main.c:254
msgid "Package extension"
msgstr "Paketera tillägg"
#: src/extensions-tool/main.c:259
#: src/extensions-tool/main.c:255
msgid "Install extension bundle"
msgstr "Installera tilläggsbunt"
#: src/extensions-tool/main.c:261
#: src/extensions-tool/main.c:257
#, c-format
msgid "Use %s to get detailed help.\n"
msgstr "Använd %s för att få detaljerad hjälp.\n"
msgid "Use %s to get detailed help.\n"
msgstr "Använd %s för att få detaljerad hjälp.\n"
#: src/main.c:474
#: src/main.c:466
msgid "Mode used by GDM for login screen"
msgstr "Läge som används av GDM för inloggningsskärmen"
#: src/main.c:480
#: src/main.c:472
msgid "Use a specific mode, e.g. “gdm” for login screen"
msgstr "Använd ett specifikt läge, t.ex. ”gdm” för inloggningsskärm"
#: src/main.c:486
#: src/main.c:478
msgid "List possible modes"
msgstr "Lista möjliga lägen"

1327
po/tr.po

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More