Compare commits

..

6 Commits
41.1 ... 40.2

Author SHA1 Message Date
Florian Müllner
4286fd1bcc Tag release 40.2
Update NEWS.
2021-06-10 13:41:34 +02:00
Adam Goode
3bb0897bc1 window-list: Don't use panel-button class for the workspace indicator
The panel-button introduces some horizontal padding which is insensitive
to scroll events. Without this change, there is a small dead zone in the
corner that cannot be used to switch workspaces with the mouse wheel.

For useMenu mode, this has the effect of removing all of the horizontal
space to the edge of the screen, so I add some back with the
status-label-bin margin.

This a is similar change to 8bad8a3b63.

Fixes #315.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/171>
(cherry picked from commit d6648b0b5c)
2021-06-10 13:38:47 +02:00
Juliano de Souza Camargo
12eedcf6f7 Update Portuguese translation 2021-06-07 10:22:02 +00:00
Hugo Carvalho
08d382facc Update Portuguese translation 2021-06-02 16:09:54 +00:00
Florian Müllner
96a1de92db build: Only use major version in shell-versions
The website changed its version handling again, and now takes "40.0"
to mean "40.0, and only 40.0".

Not complaining though, as "40" is more correct in my opinion anyway ...

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/172>
2021-05-25 19:26:08 +02:00
Florian Müllner
cc2f46b837 Post-release version bump 2021-05-14 17:00:35 +02:00
38 changed files with 784 additions and 928 deletions

View File

@@ -1,107 +1,83 @@
include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/34:2021-08-12.0
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/33:2020-11-17.0
stages:
- pre_review
- prepare
- review
- build
- deploy
- pre_review
- review
- build
default:
# Cancel jobs if newer commits are pushed to the branch
interruptible: true
# Auto-retry jobs in case of infra failures
retry:
max: 1
when:
- 'runner_system_failure'
- 'stuck_or_timeout_failure'
- 'scheduler_failure'
- 'api_failure'
# Cancel jobs if newer commits are pushed to the branch
interruptible: true
# Auto-retry jobs in case of infra failures
retry:
max: 1
when:
- 'runner_system_failure'
- 'stuck_or_timeout_failure'
- 'scheduler_failure'
- 'api_failure'
variables:
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
LINT_LOG: "eslint-report.xml"
JS_LOG: "js-report.txt"
LINT_LOG: "eslint-report.xml"
JS_LOG: "js-report.txt"
workflow:
rules:
- if: '$CI_MERGE_REQUEST_IID'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH'
rules:
- if: '$CI_MERGE_REQUEST_IID'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH'
.pipeline_guard: &pipeline_guard
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual'
.gnome-shell-extensions.fedora:34:
variables:
FDO_DISTRIBUTION_VERSION: 34
FDO_DISTRIBUTION_TAG: '2021-08-31.0'
FDO_DISTRIBUTION_PACKAGES: >
meson git gettext sassc
.prereview_req: &prereview_req
needs:
- check_commit_log
- check-merge-request
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
- if: '$CI_COMMIT_TAG'
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
- when: 'manual'
check_commit_log:
extends:
- .fdo.ci-fairy
stage: pre_review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
ci-fairy check-commits --junit-xml=commit-message-junit-report.xml ;
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- commit-message-junit-report.xml
reports:
junit: commit-message-junit-report.xml
extends:
- .fdo.ci-fairy
stage: pre_review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
ci-fairy check-commits --junit-xml=commit-message-junit-report.xml ;
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- commit-message-junit-report.xml
reports:
junit: commit-message-junit-report.xml
check-merge-request:
extends:
- .fdo.ci-fairy
stage: pre_review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- check-merge-request-report.xml
reports:
junit: check-merge-request-report.xml
build-fedora-container:
extends:
- .fdo.container-build@fedora@x86_64
- .gnome-shell-extensions.fedora:34
stage: prepare
<<: *prereview_req
extends:
- .fdo.ci-fairy
stage: pre_review
script:
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
then
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
else
echo "Not a merge request" ;
fi
<<: *pipeline_guard
artifacts:
expire_in: 1 week
paths:
- check-merge-request-report.xml
reports:
junit: check-merge-request-report.xml
js_check:
stage: review
<<: *prereview_req
script:
- find extensions -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
- (! grep -q . $JS_LOG)
@@ -112,9 +88,8 @@ js_check:
eslint:
stage: review
<<: *prereview_req
script:
- eslint -o $LINT_LOG -f junit --resolve-plugins-relative-to $(npm root -g) extensions
- eslint -o $LINT_LOG -f junit extensions
artifacts:
paths:
- ${LINT_LOG}
@@ -123,7 +98,7 @@ eslint:
build-bundles:
stage: build
<<: *prereview_req
needs: ["check_commit_log"]
script:
- ./export-zips.sh
artifacts:
@@ -131,47 +106,3 @@ build-bundles:
expose_as: 'Get Extension bundles here'
paths:
- zip-files/
fedora-build:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell-extensions.fedora:34
stage: build
needs:
- build-fedora-container
before_script:
- git submodule update --init
script:
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C build
- meson test -C build
- meson install -C build
artifacts:
paths:
- build
fedora-dist:
extends:
- .fdo.distribution-image@fedora
- .gnome-shell-extensions.fedora:34
stage: deploy
needs:
- fedora-build
before_script:
- git submodule update --init
script:
- meson dist -C build
rules:
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
changes:
- "**/meson.build"
- meson/*
fedora-dist-tarball:
extends: fedora-dist
artifacts:
expose_as: 'Get tarball here'
paths:
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
rules:
- if: '$CI_COMMIT_TAG'

View File

@@ -28,4 +28,4 @@ imports (like imports.lang or imports.dbus) and introspection,
the other for Shell API. Within the same group, put everything
in alphabetic order.
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/HEAD/doc/Style_Guide.md
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Style_Guide.md

43
NEWS
View File

@@ -1,48 +1,13 @@
41.1
40.2
====
* native-window-placement: Fix distorted layout in app grid [Sebastian; !189]
* window-list: Fix on-screen keyboard [Florian; !199]
* Misc. bug fixes [Neal; !195]
Contributors:
Neal Gompa, Sebastian Keller, Florian Müllner
Translators:
Goran Vidović [hr], Sveinn í Felli [is]
41.0
====
* Bump version
41.rc.1
=======
* Fix pre-generating stylesheets in tarball [Florian; !190]
Contributors:
Florian Müllner
41.rc
=====
* window-list: Adapt to overview-on-startup [Florian; !185]
* apps-menu: Use a custom 'toggle-menu' shortcut [Florian; !173]
* Misc. bug fixes and cleanups [Florian; !186]
Contributors:
Florian Müllner
41.beta
=======
* window-list: Extend reactive area of minimap to screen edges [Adam; !171]
* drive-menu: Improve detection of network mounts [Florian; !27, !176]
* Use distinct gettext domain for e.g.o uploads [Florian; #335]
* Misc. bug fixes and cleanups [Florian; !172, !174, !177, !167, !178, !180,
!181, !182, !183]
* Misc. bug fixes [Florian; !172]
Contributors:
Marco Trevisan (Treviño), Adam Goode, Florian Müllner
Adam Goode, Florian Müllner
Translators:
Hugo Carvalho [pt], Juliano de Souza Camargo [pt], Alexander Shopov [bg]
Hugo Carvalho [pt], Juliano de Souza Camargo [pt]
40.1
====

View File

@@ -69,19 +69,6 @@ GSettings key.
Adds a simple workspace switcher to the top bar.
## Default branch
The default development branch is `main`. If you still have a local
checkout under the old name, use:
```sh
git checkout master
git branch -m master main
git fetch
git branch --unset-upstream
git branch -u origin/master
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
```
## License
GNOME Shell Extensions are distributed under the terms of the GNU General

View File

@@ -5,4 +5,3 @@ Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
TryExec=gnome-session
Type=Application
DesktopNames=GNOME-Classic;GNOME;
X-GDM-SessionRegisters=true

View File

@@ -84,8 +84,8 @@ $variant: 'light';
}
#appMenu {
padding: 0 8px 0 8px;
spinner-image: url("classic-process-working.svg");
.panel-status-menu-box { padding: 0; }
}
.tile-preview-left.on-primary,
.tile-preview-right.on-primary,

View File

@@ -7,23 +7,20 @@ builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir
meson install -C $builddir
ninja -C$builddir install
rm -rf $srcdir/zip-files
mkdir $srcdir/zip-files
extensiondir=$installdir/share/gnome-shell/extensions
schemadir=$installdir/share/glib-2.0/schemas
localedir=$installdir/share/locale
for f in $extensiondir/*; do
name=`basename ${f%%@*}`
uuid=$name@gnome-shell-extensions.gcampax.github.com
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
olddomain=gnome-shell-extensions
newdomain=gnome-shell-extension-$name
sed -i "/gettext-domain/ s:$olddomain:$newdomain:" $f/metadata.json
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
if [ -f $builddir/$name.pot ]; then

View File

View File

@@ -12,7 +12,8 @@ const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const _ = ExtensionUtils.gettext;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const appSys = Shell.AppSystem.get_default();
@@ -378,12 +379,9 @@ class ApplicationsButton extends PanelMenu.Button {
this._hidingId = Main.overview.connect('hiding', () => {
this.remove_accessible_state(Atk.StateType.CHECKED);
});
Main.wm.addKeybinding(
'apps-menu-toggle-menu',
ExtensionUtils.getSettings(),
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
() => this.menu.toggle());
Main.layoutManager.connect('startup-complete',
this._setKeybinding.bind(this));
this._setKeybinding();
this._desktopTarget = new DesktopTarget();
this._desktopTarget.connect('app-dropped', () => {
@@ -434,7 +432,11 @@ class ApplicationsButton extends PanelMenu.Button {
this._tree.disconnect(this._treeChangedId);
this._tree = null;
Main.wm.removeKeybinding('apps-menu-toggle-menu');
Main.wm.setCustomKeybindingHandler('panel-main-menu',
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
Main.sessionMode.hasOverview
? Main.overview.toggle.bind(Main.overview)
: null);
this._desktopTarget.destroy();
}
@@ -476,6 +478,12 @@ class ApplicationsButton extends PanelMenu.Button {
super._onOpenStateChanged(menu, open);
}
_setKeybinding() {
Main.wm.setCustomKeybindingHandler('panel-main-menu',
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
() => this.menu.toggle());
}
_redisplay() {
this.applicationsBox.destroy_all_children();
this.categoriesBox.destroy_all_children();
@@ -665,20 +673,17 @@ class ApplicationsButton extends PanelMenu.Button {
let appsMenuButton;
/** */
function enable() {
appsMenuButton = new ApplicationsButton();
let index = Main.sessionMode.panel.left.indexOf('activities') + 1;
Main.panel.addToStatusArea('apps-menu', appsMenuButton, index, 'left');
}
/** */
function disable() {
Main.panel.menuManager.removeMenu(appsMenuButton.menu);
appsMenuButton.destroy();
}
/** */
function init() {
ExtensionUtils.initTranslations();
}

View File

@@ -3,4 +3,3 @@ extension_data += configure_file(
output: metadata_name,
configuration: metadata_conf
)
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')

View File

@@ -1,7 +1,6 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Applications Menu",
"description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",

View File

@@ -1,12 +0,0 @@
<schemalist gettext-domain="gnome-shell-extensions">
<schema id="org.gnome.shell.extensions.apps-menu"
path="/org/gnome/shell/extensions/apps-menu/">
<key name="apps-menu-toggle-menu" type="as">
<default>["&lt;Alt&gt;F1"]</default>
<summary>Keybinding to open the applications menu</summary>
<description>
Keybinding to open the applications menu.
</description>
</key>
</schema>
</schemalist>

View File

@@ -108,14 +108,10 @@ class WindowMover {
let prevCheckWorkspaces;
let winMover;
/** */
function init() {
ExtensionUtils.initTranslations();
}
/**
* @returns {bool} - false (used as MetaLater handler)
*/
function myCheckWorkspaces() {
let keepAliveWorkspaces = [];
let foundNonEmpty = false;
@@ -136,7 +132,6 @@ function myCheckWorkspaces() {
return false;
}
/** */
function enable() {
prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
Main.wm._workspaceTracker._checkWorkspaces = myCheckWorkspaces;
@@ -144,7 +139,6 @@ function enable() {
winMover = new WindowMover();
}
/** */
function disable() {
Main.wm._workspaceTracker._checkWorkspaces = prevCheckWorkspaces;
winMover.destroy();

View File

@@ -4,9 +4,10 @@
const { Gio, GLib, GObject, Gtk, Pango } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const _ = ExtensionUtils.gettext;
const ExtensionUtils = imports.misc.extensionUtils;
const SETTINGS_KEY = 'application-list';
@@ -265,14 +266,10 @@ class NewRuleDialog extends Gtk.AppChooserDialog {
}
});
/** */
function init() {
ExtensionUtils.initTranslations();
}
/**
* @returns {Gtk.Widget} - the prefs widget
*/
function buildPrefsWidget() {
return new AutoMoveSettingsWidget();
}

View File

@@ -2,14 +2,15 @@
// Drive menu extension
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const ShellMountOperation = imports.ui.shellMountOperation;
const _ = ExtensionUtils.gettext;
var MountMenuItem = GObject.registerClass(
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
_init(mount) {
@@ -40,8 +41,6 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
ejectButton.connect('clicked', this._eject.bind(this));
this.add(ejectButton);
this.hide();
this._changedId = mount.connect('changed', this._syncVisibility.bind(this));
this._syncVisibility();
}
@@ -55,21 +54,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
super.destroy();
}
_fsIsRemote(root) {
return new Promise((resolve, reject) => {
const attr = Gio.FILE_ATTRIBUTE_FILESYSTEM_REMOTE;
root.query_filesystem_info_async(attr, null, (o, res) => {
try {
const info = root.query_filesystem_info_finish(res);
resolve(!info.get_attribute_boolean(attr));
} catch (e) {
reject(e);
}
});
});
}
async _isInteresting() {
_isInteresting() {
if (!this.mount.can_eject() && !this.mount.can_unmount())
return false;
if (this.mount.is_shadowed())
@@ -77,23 +62,17 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
let volume = this.mount.get_volume();
if (volume)
return volume.get_identifier('class') !== 'network';
const root = this.mount.get_root();
try {
return await this._fsIsRemote(root);
} catch (e) {
log(`Failed to query filesystem: ${e.message}`);
if (!volume) {
// probably a GDaemonMount, could be network or
// local, but we can't tell; assume it's local for now
return true;
}
// Hack, fall back to looking at GType
return Gio._LocalFilePrototype.isPrototypeOf(root);
return volume.get_identifier('class') !== 'network';
}
async _syncVisibility() {
this.visible = await this._isInteresting();
_syncVisibility() {
this.visible = this._isInteresting();
}
_eject() {
@@ -156,8 +135,10 @@ class DriveMenu extends PanelMenu.Button {
this.add_child(icon);
this._monitor = Gio.VolumeMonitor.get();
this._addedId = this._monitor.connect('mount-added',
(monitor, mount) => this._addMount(mount));
this._addedId = this._monitor.connect('mount-added', (monitor, mount) => {
this._addMount(mount);
this._updateMenuVisibility();
});
this._removedId = this._monitor.connect('mount-removed', (monitor, mount) => {
this._removeMount(mount);
this._updateMenuVisibility();
@@ -188,8 +169,6 @@ class DriveMenu extends PanelMenu.Button {
let item = new MountMenuItem(mount);
this._mounts.unshift(item);
this.menu.addMenuItem(item, 0);
item.connect('notify::visible', () => this._updateMenuVisibility());
}
_removeMount(mount) {
@@ -216,20 +195,17 @@ class DriveMenu extends PanelMenu.Button {
}
});
/** */
function init() {
ExtensionUtils.initTranslations();
}
let _indicator;
/** */
function enable() {
_indicator = new DriveMenu();
Main.panel.addToStatusArea('drive-menu', _indicator);
}
/** */
function disable() {
_indicator.destroy();
}

View File

@@ -3,7 +3,6 @@ const AppDisplay = imports.ui.appDisplay;
let _activateOriginal = null;
/** */
function enable() {
_activateOriginal = AppDisplay.AppIcon.prototype.activate;
AppDisplay.AppIcon.prototype.activate = function () {
@@ -11,7 +10,6 @@ function enable() {
};
}
/** */
function disable() {
AppDisplay.AppIcon.prototype.activate = _activateOriginal;
}

View File

@@ -238,13 +238,11 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
let winInjections, workspaceInjections;
/** */
function resetState() {
winInjections = { };
workspaceInjections = { };
}
/** */
function enable() {
resetState();
@@ -284,11 +282,6 @@ function enable() {
};
}
/**
* @param {Object} object - object that was modified
* @param {Object} injection - the map of previous injections
* @param {string} name - the @injection key that should be removed
*/
function removeInjection(object, injection, name) {
if (injection[name] === undefined)
delete object[name];
@@ -296,7 +289,6 @@ function removeInjection(object, injection, name) {
object[name] = injection[name];
}
/** */
function disable() {
var i;

View File

@@ -1 +1,9 @@
/* This extensions requires no special styling */
.window-caption {
-shell-caption-spacing: 13px; /* current caption height is 26px => set it to half of it. TODO: better solution needed */
}
.window-picker {
-horizontal-spacing: 32px;
-vertical-spacing: 32px;
padding: 64px 32px;
}

View File

@@ -8,12 +8,13 @@ const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = x => x;
const Me = ExtensionUtils.getCurrentExtension();
const PlaceDisplay = Me.imports.placeDisplay;
const _ = ExtensionUtils.gettext;
const N_ = x => x;
const PLACE_ICON_SIZE = 16;
var PlaceMenuItem = GObject.registerClass(
@@ -132,14 +133,12 @@ class PlacesMenu extends PanelMenu.Button {
}
});
/** */
function init() {
ExtensionUtils.initTranslations();
}
let _indicator;
/** */
function enable() {
_indicator = new PlacesMenu();
@@ -149,7 +148,6 @@ function enable() {
Main.panel.addToStatusArea('places-menu', _indicator, pos, 'left');
}
/** */
function disable() {
_indicator.destroy();
}

View File

@@ -3,11 +3,11 @@
const { Gio, GLib, Shell } = imports.gi;
const Signals = imports.signals;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const ShellMountOperation = imports.ui.shellMountOperation;
const _ = ExtensionUtils.gettext;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = x => x;
const BACKGROUND_SCHEMA = 'org.gnome.desktop.background';

View File

@@ -28,15 +28,11 @@ const MESSAGE_FADE_TIME = 2000;
let text;
/** */
function hideMessage() {
text.destroy();
text = null;
}
/**
* @param {string} message - the message to flash
*/
function flashMessage(message) {
if (!text) {
text = new St.Label({ style_class: 'screenshot-sizer-message' });
@@ -71,11 +67,6 @@ let SIZES = [
[720, 360], // Phone landscape fullscreen
];
/**
* @param {Meta.Display} display - the display
* @param {Meta.Window=} window - for per-window bindings, the window
* @param {Meta.KeyBinding} binding - the key binding
*/
function cycleScreenshotSizes(display, window, binding) {
// Probably this isn't useful with 5 sizes, but you can decrease instead
// of increase by holding down shift.
@@ -142,7 +133,6 @@ function cycleScreenshotSizes(display, window, binding) {
flashMessage(message);
}
/** */
function enable() {
Main.wm.addKeybinding(
'cycle-screenshot-sizes',
@@ -158,7 +148,6 @@ function enable() {
cycleScreenshotSizes);
}
/** */
function disable() {
Main.wm.removeKeybinding('cycle-screenshot-sizes');
Main.wm.removeKeybinding('cycle-screenshot-sizes-backward');

View File

@@ -58,9 +58,6 @@ class ThemeManager {
}
}
/**
* @returns {ThemeManager} - the extension state object
*/
function init() {
return new ThemeManager();
}

View File

@@ -174,13 +174,9 @@ class ThemeRow extends Gtk.ListBoxRow {
}
});
/** */
function init() {
}
/**
* @returns {Gtk.Widget} - the prefs widget
*/
function buildPrefsWidget() {
return new UserThemePrefsWidget();
}

View File

@@ -3,9 +3,6 @@ const { GLib } = imports.gi;
const fn = (...args) => GLib.build_filenamev(args);
/**
* @returns {string[]} - an ordered list of theme directories
*/
function getThemeDirs() {
return [
fn(GLib.get_home_dir(), '.themes'),
@@ -14,9 +11,6 @@ function getThemeDirs() {
];
}
/**
* @returns {string[]} - an ordered list of mode theme directories
*/
function getModeThemeDirs() {
return GLib.get_system_data_dirs()
.map(dir => fn(dir, 'gnome-shell', 'theme'));

View File

@@ -11,7 +11,8 @@ const Me = ExtensionUtils.getCurrentExtension();
const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker;
const { WorkspaceIndicator } = Me.imports.workspaceIndicator;
const _ = ExtensionUtils.gettext;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const ICON_TEXTURE_SIZE = 24;
const DND_ACTIVATE_TIMEOUT = 500;
@@ -22,10 +23,34 @@ const GroupingMode = {
ALWAYS: 2,
};
/**
* @param {Shell.App} app - an app
* @returns {number} - the smallest stable sequence of the app's windows
*/
function _minimizeOrActivateWindow(window) {
let focusWindow = global.display.focus_window;
if (focusWindow === window ||
focusWindow && focusWindow.get_transient_for() === window)
window.minimize();
else
window.activate(global.get_current_time());
}
function _openMenu(menu) {
menu.open();
let event = Clutter.get_current_event();
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
}
function _onMenuStateChanged(menu, isOpen) {
if (isOpen)
return;
let [x, y] = global.get_pointer();
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
if (Me.stateObj.someWindowListContains(actor))
actor.sync_hover();
}
function _getAppStableSequence(app) {
let windows = app.get_windows().filter(w => !w.skip_taskbar);
return windows.reduce((prev, cur) => {
@@ -33,6 +58,7 @@ function _getAppStableSequence(app) {
}, Infinity);
}
class WindowContextMenu extends PopupMenu.PopupMenu {
constructor(source, metaWindow) {
super(source, 0.5, St.Side.BOTTOM);
@@ -256,37 +282,10 @@ const BaseButton = GObject.registerClass({
return true;
}
_openMenu(menu) {
menu.open();
let event = Clutter.get_current_event();
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
}
_minimizeOrActivateWindow(window) {
let focusWindow = global.display.focus_window;
if (focusWindow === window ||
focusWindow && focusWindow.get_transient_for() === window)
window.minimize();
else
window.activate(global.get_current_time());
}
_onMenuStateChanged(menu, isOpen) {
if (isOpen)
return;
let [x, y] = global.get_pointer();
let actor = global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, x, y);
if (Me.stateObj.someWindowListContains(actor))
actor.sync_hover();
}
_onPopupMenu(_actor) {
if (!this._canOpenPopupMenu() || this._contextMenu.isOpen)
return;
this._openMenu(this._contextMenu);
_openMenu(this._contextMenu);
}
_isFocused() {
@@ -363,8 +362,7 @@ class WindowButton extends BaseButton {
this.label_actor = this._windowTitle.label_actor;
this._contextMenu = new WindowContextMenu(this, this.metaWindow);
this._contextMenu.connect('open-state-changed',
this._onMenuStateChanged.bind(this));
this._contextMenu.connect('open-state-changed', _onMenuStateChanged);
this._contextMenu.actor.hide();
this._contextMenuManager.addMenu(this._contextMenu);
Main.uiGroup.add_actor(this._contextMenu.actor);
@@ -384,9 +382,9 @@ class WindowButton extends BaseButton {
}
if (button === 1)
this._minimizeOrActivateWindow(this.metaWindow);
_minimizeOrActivateWindow(this.metaWindow);
else
this._openMenu(this._contextMenu);
_openMenu(this._contextMenu);
}
_isFocused() {
@@ -520,16 +518,14 @@ class AppButton extends BaseButton {
this._menuManager = new PopupMenu.PopupMenuManager(this);
this._menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.BOTTOM);
this._menu.connect('open-state-changed',
this._onMenuStateChanged.bind(this));
this._menu.connect('open-state-changed', _onMenuStateChanged);
this._menu.actor.hide();
this._menu.connect('activate', this._onMenuActivate.bind(this));
this._menuManager.addMenu(this._menu);
Main.uiGroup.add_actor(this._menu.actor);
this._appContextMenu = new AppContextMenu(this);
this._appContextMenu.connect('open-state-changed',
this._onMenuStateChanged.bind(this));
this._appContextMenu.connect('open-state-changed', _onMenuStateChanged);
this._appContextMenu.actor.hide();
Main.uiGroup.add_actor(this._appContextMenu.actor);
@@ -596,7 +592,7 @@ class AppButton extends BaseButton {
this._singleWindowTitle.child = this._windowTitle;
this._windowContextMenu = new WindowContextMenu(this, this.metaWindow);
this._windowContextMenu.connect(
'open-state-changed', this._onMenuStateChanged.bind(this));
'open-state-changed', _onMenuStateChanged);
Main.uiGroup.add_actor(this._windowContextMenu.actor);
this._windowContextMenu.actor.hide();
this._contextMenuManager.addMenu(this._windowContextMenu);
@@ -635,7 +631,7 @@ class AppButton extends BaseButton {
if (windows.length === 1) {
if (contextMenuWasOpen)
return;
this._minimizeOrActivateWindow(windows[0]);
_minimizeOrActivateWindow(windows[0]);
} else {
this._menu.removeAll();
@@ -646,12 +642,12 @@ class AppButton extends BaseButton {
item._window = windows[i];
this._menu.addMenuItem(item);
}
this._openMenu(this._menu);
_openMenu(this._menu);
}
} else {
if (contextMenuWasOpen)
return;
this._openMenu(this._contextMenu);
_openMenu(this._contextMenu);
}
}
@@ -778,16 +774,13 @@ class WindowList extends St.Widget {
this._updateKeyboardAnchor();
});
this._overviewHidingId = Main.overview.connect('hidden', () => {
this._overviewHidingId = Main.overview.connect('hiding', () => {
this.visible = !Main.layoutManager.primaryMonitor.inFullscreen;
this._updateKeyboardAnchor();
});
this._fullscreenChangedId =
global.display.connect('in-fullscreen-changed', () => {
// Work-around for initial change from unknown to !fullscreen
if (Main.overview.visible)
this.hide();
this._updateKeyboardAnchor();
});
@@ -925,8 +918,11 @@ class WindowList extends St.Widget {
}
_updateKeyboardAnchor() {
const translationY = Main.overview.visible ? 0 : this.height;
Main.layoutManager.keyboardBox.translation_y = -translationY;
if (!Main.keyboard.keyboardActor)
return;
let translationY = Main.overview.visible ? 0 : this.height;
Main.keyboard.keyboardActor.translation_y = -translationY;
}
_onAppStateChanged(appSys, app) {
@@ -1109,8 +1105,6 @@ class WindowList extends St.Widget {
class Extension {
constructor() {
ExtensionUtils.initTranslations();
this._windowLists = null;
this._hideOverviewOrig = Main.overview.hide;
}
@@ -1174,9 +1168,6 @@ class Extension {
}
}
/**
* @returns {Extension} - the extension's state object
*/
function init() {
return new Extension();
}

View File

@@ -1,13 +1,14 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */
const { Gio, GLib, GObject, Gtk } = imports.gi;
const { Gio, GObject, Gtk } = imports.gi;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const ExtensionUtils = imports.misc.extensionUtils;
const _ = ExtensionUtils.gettext;
/** */
function init() {
ExtensionUtils.initTranslations();
}
@@ -25,17 +26,6 @@ class WindowListPrefsWidget extends Gtk.Box {
halign: Gtk.Align.CENTER,
});
this._actionGroup = new Gio.SimpleActionGroup();
this.insert_action_group('window-list', this._actionGroup);
this._settings = ExtensionUtils.getSettings();
this._actionGroup.add_action(
this._settings.create_action('grouping-mode'));
this._actionGroup.add_action(
this._settings.create_action('show-on-all-monitors'));
this._actionGroup.add_action(
this._settings.create_action('display-all-workspaces'));
let groupingLabel = '<b>%s</b>'.format(_('Window Grouping'));
this.append(new Gtk.Label({
label: groupingLabel, use_markup: true,
@@ -59,39 +49,61 @@ class WindowListPrefsWidget extends Gtk.Box {
context.add_class('frame');
context.add_class('view');
const modes = [
{ mode: 'never', label: _('Never group windows') },
{ mode: 'auto', label: _('Group windows when space is limited') },
{ mode: 'always', label: _('Always group windows') },
];
let group = null;
for (const { mode, label } of modes) {
const check = new Gtk.CheckButton({
action_name: 'window-list.grouping-mode',
action_target: new GLib.Variant('s', mode),
this._settings = ExtensionUtils.getSettings();
let currentMode = this._settings.get_string('grouping-mode');
let range = this._settings.get_range('grouping-mode');
let modes = range.deep_unpack()[1].deep_unpack();
let modeLabels = {
'never': _('Never group windows'),
'auto': _('Group windows when space is limited'),
'always': _('Always group windows'),
};
let radio = null;
let currentRadio = null;
for (let i = 0; i < modes.length; i++) {
let mode = modes[i];
let label = modeLabels[mode];
if (!label) {
log('Unhandled option "%s" for grouping-mode'.format(mode));
continue;
}
radio = new Gtk.CheckButton({
active: !i,
label,
group,
group: radio,
margin_end: 12,
});
group = check;
box.append(check);
box.append(radio);
if (currentMode === mode)
currentRadio = radio;
radio.connect('toggled', button => {
if (button.active)
this._settings.set_string('grouping-mode', mode);
});
}
this.append(new Gtk.CheckButton({
label: _('Show on all monitors'),
action_name: 'window-list.show-on-all-monitors',
}));
if (currentRadio)
currentRadio.active = true;
this.append(new Gtk.CheckButton({
let check = new Gtk.CheckButton({
label: _('Show on all monitors'),
});
this._settings.bind('show-on-all-monitors', check, 'active', Gio.SettingsBindFlags.DEFAULT);
this.append(check);
check = new Gtk.CheckButton({
label: _('Show windows from all workspaces'),
action_name: 'window-list.display-all-workspaces',
}));
});
this._settings.bind('display-all-workspaces', check, 'active', Gio.SettingsBindFlags.DEFAULT);
this.append(check);
}
});
/**
* @returns {Gtk.Widget} - the prefs widget
*/
function buildPrefsWidget() {
return new WindowListPrefsWidget();
}

View File

@@ -2,12 +2,12 @@
const { Clutter, Gio, GObject, Meta, St } = imports.gi;
const DND = imports.ui.dnd;
const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const _ = ExtensionUtils.gettext;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;

View File

@@ -262,9 +262,6 @@ class Extension {
}
}
/**
* @returns {Extension} - the extension's state object
*/
function init() {
return new Extension();
}

View File

@@ -9,7 +9,8 @@ const Main = imports.ui.main;
const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu;
const _ = ExtensionUtils.gettext;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
@@ -442,20 +443,17 @@ class WorkspaceIndicator extends PanelMenu.Button {
}
});
/** */
function init() {
ExtensionUtils.initTranslations();
}
let _indicator;
/** */
function enable() {
_indicator = new WorkspaceIndicator();
Main.panel.addToStatusArea('workspace-indicator', _indicator);
}
/** */
function disable() {
_indicator.destroy();
}

View File

@@ -3,11 +3,12 @@
const { Gio, GLib, GObject, Gtk, Pango } = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils;
const _ = ExtensionUtils.gettext;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = e => e;
const ExtensionUtils = imports.misc.extensionUtils;
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
const WORKSPACE_KEY = 'workspace-names';
@@ -208,14 +209,10 @@ class NewWorkspaceRow extends Gtk.ListBoxRow {
}
});
/** */
function init() {
ExtensionUtils.initTranslations();
}
/**
* @returns {Gtk.Widget} - the prefs widget
*/
function buildPrefsWidget() {
return new WorkspaceSettingsWidget();
}

View File

@@ -1,12 +1,8 @@
---
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
env:
es6: true
es2020: true
extends: 'eslint:recommended'
plugins:
- jsdoc
rules:
array-bracket-newline:
- error
@@ -64,17 +60,6 @@ rules:
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
# Allow dedenting chained member expressions
MemberExpression: 'off'
jsdoc/check-alignment: error
jsdoc/check-param-names: error
jsdoc/check-tag-names: error
jsdoc/check-types: error
jsdoc/implements-on-classes: error
jsdoc/newline-after-description: error
jsdoc/require-jsdoc: error
jsdoc/require-param: error
jsdoc/require-param-description: error
jsdoc/require-param-name: error
jsdoc/require-param-type: error
key-spacing:
- error
- beforeColon: false
@@ -122,15 +107,8 @@ rules:
no-octal-escape: error
no-proto: error
no-prototype-builtins: 'off'
no-restricted-globals: [error, window]
no-restricted-properties:
- error
- object: imports
property: format
message: Use template strings
- object: pkg
property: initFormat
message: Use template strings
- object: Lang
property: copyProperties
message: Use Object.assign()
@@ -189,7 +167,6 @@ rules:
object-curly-newline:
- error
- consistent: true
multiline: true
object-curly-spacing: error
object-shorthand: error
operator-assignment: error
@@ -237,14 +214,14 @@ rules:
template-curly-spacing: error
template-tag-spacing: error
unicode-bom: error
valid-jsdoc:
- error
- requireReturn: false
wrap-iife:
- error
- inside
yield-star-spacing: error
yoda: error
settings:
jsdoc:
mode: typescript
globals:
ARGV: readonly
Debugger: readonly
@@ -256,8 +233,5 @@ globals:
logError: readonly
print: readonly
printerr: readonly
window: readonly
TextEncoder: readonly
TextDecoder: readonly
parserOptions:
ecmaVersion: 2020

View File

@@ -1,6 +1,6 @@
project('gnome-shell-extensions',
version: '41.1',
meson_version: '>= 0.53.0',
version: '40.2',
meson_version: '>= 0.44.0',
license: 'GPL2+'
)
@@ -89,6 +89,3 @@ subdir('extensions')
subdir('po')
meson.add_dist_script('meson/generate-stylesheets.py')
meson.add_dist_script('meson/check-version.py',
meson.project_version(),
'NEWS')

View File

@@ -1,32 +0,0 @@
#!/usr/bin/env python3
import os, sys
from pathlib import Path
import argparse, subprocess
def check_version(version, file, type='news'):
if type == 'news':
line = file.open().readline()
ok = line.startswith(version)
print("{}: {}".format(file, "OK" if ok else "FAILED"))
if not ok:
raise Exception("{} does not start with {}".format(file, version))
elif type == 'metainfo':
subprocess.run(['appstream-util', 'validate-version', file, version],
check=True)
else:
raise Exception('Not implemented')
parser = argparse.ArgumentParser(description='Check release version information.')
parser.add_argument('--type', choices=['metainfo','news'], default='news')
parser.add_argument('version', help='the version to check for')
parser.add_argument('files', nargs='+', help='files to check')
args = parser.parse_args()
distroot = os.environ.get('MESON_DIST_ROOT', './')
try:
for file in args.files:
check_version(args.version, Path(distroot, file), args.type)
except:
sys.exit(1)

View File

@@ -10,4 +10,4 @@ distroot = os.environ.get('MESON_DIST_ROOT')
stylesheet_path = PurePath('data/gnome-classic.css')
src = PurePath(sourceroot, stylesheet_path.with_suffix('.scss'))
dst = PurePath(distroot, stylesheet_path)
subprocess.run(['sassc', '-a', src, dst], check=True)
subprocess.call(['sassc', '-a', src, dst])

622
po/bg.po
View File

@@ -1,263 +1,359 @@
# Bulgarian translation for gnome-shell-extensions po-file.
# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
# Copyright (C) 2021 Alexander Shopov <ash@kambanaria.org>.
# This file is distributed under the same license as the gnome-shell-extensions package.
# Ivaylo Valkov <ivaylo@e-valkov.org>, 2014.
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015, 2021.
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2021-07-05 17:13+0000\n"
"PO-Revision-Date: 2021-07-11 10:19+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
msgstr "Класически GNOME"
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Работната среда изглежда като класическия GNOME (2.x)"
#: extensions/apps-menu/extension.js:113
msgid "Favorites"
msgstr "Любими"
#: extensions/apps-menu/extension.js:367
msgid "Applications"
msgstr "Програми"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "Списък с програмите и работните плотове"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
"desktop“), следван от знака „:“ и номер на работен плот"
#: extensions/auto-move-windows/prefs.js:35
msgid "Workspace Rules"
msgstr "Правила за работните плотове"
#: extensions/auto-move-windows/prefs.js:237
msgid "Add Rule"
msgstr "Добавяне на правило"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:132
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Неуспешно изваждане на устройство „%s“:"
#: extensions/drive-menu/extension.js:148
msgid "Removable devices"
msgstr "Преносими медии"
#: extensions/drive-menu/extension.js:172
msgid "Open Files"
msgstr "Отваряне на файлове"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Повече пространство за прозорците"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Използване на по-голяма част от екрана за поставянето на мини изображения "
"чрез промяна на съотношението на страните и допълнително обединяване за "
"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при "
"естествената стратегия за поставяне на прозорците."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "Заглавия на прозорците отгоре"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Ако е истина, заглавията на прозорците се поставят над мини изображенията "
"им, а не както е стандартно — отдолу. За прилагане на промяната на "
"настройката трябва да рестартирате обвивката на GNOME."
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:92
msgid "Places"
msgstr "Места"
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Неуспешно стартиране на „%s“"
#: extensions/places-menu/placeDisplay.js:61
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Неуспешно монтиране на тома „%s“"
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "Компютър"
#: extensions/places-menu/placeDisplay.js:359
msgid "Home"
msgstr "Домашна папка"
#: extensions/places-menu/placeDisplay.js:404
msgid "Browse Network"
msgstr "Мрежа"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
msgstr "Смяна на размерите на снимката на екрана"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward"
msgstr "Смяна на размерите на снимката на екрана наобратно"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
msgstr "Име на темата"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr ""
"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“"
#: extensions/window-list/extension.js:98
msgid "Close"
msgstr "Затваряне"
#: extensions/window-list/extension.js:118
msgid "Unminimize"
msgstr "Деминимизиране"
#: extensions/window-list/extension.js:118
msgid "Minimize"
msgstr "Минимизиране"
#: extensions/window-list/extension.js:125
msgid "Unmaximize"
msgstr "Демаксимизиране"
#: extensions/window-list/extension.js:125
msgid "Maximize"
msgstr "Максимизиране"
#: extensions/window-list/extension.js:432
msgid "Minimize all"
msgstr "Минимизиране на всички"
#: extensions/window-list/extension.js:438
msgid "Unminimize all"
msgstr "Деминимизиране на всички"
#: extensions/window-list/extension.js:444
msgid "Maximize all"
msgstr "Максимизиране на всички"
#: extensions/window-list/extension.js:452
msgid "Unmaximize all"
msgstr "Демаксимизиране на всички"
#: extensions/window-list/extension.js:460
msgid "Close all"
msgstr "Затваряне на всички"
#: extensions/window-list/extension.js:737
msgid "Window List"
msgstr "Списък на прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "Кога прозорците да се групират"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Кога прозорците на една програма да се групират в списъка с прозорците. "
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и "
"„always“ (винаги)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
msgid "Show windows from all workspaces"
msgstr "Да се показват прозорците от всички работни плотове"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Дали да се показват прозорците от всички работни плотове или само от текущия."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "Извеждане на списъка с прозорци на всички монитори"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
"основния"
#: extensions/window-list/prefs.js:29
msgid "Window Grouping"
msgstr "Групиране на прозорци"
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Никога да не се групират"
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
msgstr "Групиране при ограничено място"
#: extensions/window-list/prefs.js:60
msgid "Always group windows"
msgstr "Винаги да се групират"
#: extensions/window-list/prefs.js:94
msgid "Show on all monitors"
msgstr "На всички монитори"
#: extensions/window-list/workspaceIndicator.js:249
#: extensions/workspace-indicator/extension.js:255
msgid "Workspace Indicator"
msgstr "Индикатор на работните плотове"
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Имена на работните плотове"
#: extensions/workspace-indicator/prefs.js:67
#, javascript-format
msgid "Workspace %d"
msgstr "Работен плот %d"
#: extensions/workspace-indicator/prefs.js:208
msgid "Add Workspace"
msgstr "Добавяне на работен плот"
# Bulgarian translation for gnome-shell-extensions po-file.
# Copyright (C) 2014, 2015, 2017 Free Software Foundation, Inc.
# This file is distributed under the same license as the gnome-shell-extensions package.
# Ivaylo Valkov <ivaylo@e-valkov.org>, 2014.
# Alexander Shopov <ash@kambanaria.org>, 2014, 2015.
# Lyubomir Vasilev <lyubomirv@abv.bg>, 2017.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2017-09-09 15:20+0000\n"
"PO-Revision-Date: 2017-09-08 08:47+0300\n"
"Last-Translator: Lyubomir Vasilev <lyubomirv@abv.bg>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "Класически GNOME"
#: data/gnome-classic.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Работната среда изглежда като класическия GNOME (2.x)"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
msgid "Attach modal dialog to the parent window"
msgstr "Прикрепяне на модалните прозорци към родителските им прозорци"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Този ключ при е с по-голям приоритет от „org.gnome.mutter“ при изпълнението "
"на обвивката на GNOME."
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
msgid "Arrangement of buttons on the titlebar"
msgstr "Подредба на бутоните на заглавната лента"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"Този ключ при е с по-голям приоритет от „org.gnome.desktop.wm.preferences“ "
"при изпълнението на обвивката на GNOME."
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Включване на специална подредба при приближаване на прозорец до ръбовете на "
"екрана"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
msgid "Workspaces only on primary monitor"
msgstr "Работни плотове само на основния екран"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr "Забавяне на смяната на фокуса до спирането на движението на показалеца"
#: extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "Само миниатюри"
#: extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "Само икони на приложенията"
#: extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "Миниатюри и икони на приложенията"
#: extensions/alternate-tab/prefs.js:38
msgid "Present windows as"
msgstr "Показване на прозорците като"
#: extensions/alternate-tab/prefs.js:69
msgid "Show only windows in the current workspace"
msgstr "Да се показват само прозорците на текущия работен плот"
#: extensions/apps-menu/extension.js:41
msgid "Activities Overview"
msgstr "Показване на програмите"
#: extensions/apps-menu/extension.js:141
msgid "Favorites"
msgstr "Любими"
#: extensions/apps-menu/extension.js:436
msgid "Applications"
msgstr "Програми"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
msgid "Application and workspace list"
msgstr "Списък с програмите и работните плотове"
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Списък от низове. Всеки съдържа идентификатор на програма (име на файл „."
"desktop“ file name), следван от знака „:“ и номер на работен плот"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Програма"
#: extensions/auto-move-windows/prefs.js:69
#: extensions/auto-move-windows/prefs.js:127
msgid "Workspace"
msgstr "Работен плот"
#: extensions/auto-move-windows/prefs.js:85
msgid "Add Rule"
msgstr "Добавяне на правило"
#: extensions/auto-move-windows/prefs.js:106
msgid "Create new matching rule"
msgstr "Създаване на правило за съвпадение"
#: extensions/auto-move-windows/prefs.js:111
msgid "Add"
msgstr "Добавяне"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:107
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Неуспешно изваждане на устройство „%s“:"
#: extensions/drive-menu/extension.js:125
msgid "Removable devices"
msgstr "Преносими медии"
#: extensions/drive-menu/extension.js:150
msgid "Open Files"
msgstr "Отваряне на файлове"
#: extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Здравей, свят!"
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
msgid "Alternative greeting text."
msgstr "Друго приветстващо съобщение."
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"Ако ключът не е празен, съдържанието му се извежда при натискането на панела."
#: extensions/example/prefs.js:30
msgid "Message"
msgstr "Съобщение"
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: extensions/example/prefs.js:43
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless its possible to customize the greeting message."
msgstr ""
"Това е пример за добре работещо разширение на обвивката на GNOME и има "
"минимална функционалност.\n"
"С него можете да промените приветстващото съобщение на панела."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Повече пространство за прозорците"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Използване на по-голяма част от екрана за поставянето на мини изображения "
"чрез промяна на съотношението на страните и допълнително обединяване за "
"смаляване на обхващащия ги правоъгълник. Тази настройка се прилага само при "
"естествената стратегия за поставяне на прозорците."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
msgstr "Заглавия на прозорците отгоре"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Ако е истина, заглавията на прозорците се поставят над мини изображенията "
"им, а не както е стандартно — отдолу. За прилагане на промяната на "
"настройката трябва да рестартирате обвивката на GNOME."
#: extensions/places-menu/extension.js:78
#: extensions/places-menu/extension.js:81
msgid "Places"
msgstr "Места"
#: extensions/places-menu/placeDisplay.js:65
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Неуспешно монтиране на тома „%s“"
#: extensions/places-menu/placeDisplay.js:78
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Неуспешно стартиране на „%s“"
#: extensions/places-menu/placeDisplay.js:137
#: extensions/places-menu/placeDisplay.js:160
msgid "Computer"
msgstr "Компютър"
#: extensions/places-menu/placeDisplay.js:303
msgid "Home"
msgstr "Домашна папка"
#: extensions/places-menu/placeDisplay.js:347
msgid "Browse Network"
msgstr "Мрежа"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
msgid "Cycle Screenshot Sizes"
msgstr "Смяна на размерите на снимката на екрана"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
msgid "Cycle Screenshot Sizes Backward"
msgstr "Смяна на размерите на снимката на екрана наобратно"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
msgid "Theme name"
msgstr "Име на темата"
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr ""
"Името на темата, която да бъде заредена от „~/.themes/name/gnome-shell“"
#: extensions/window-list/extension.js:110
msgid "Close"
msgstr "Затваряне"
#: extensions/window-list/extension.js:129
msgid "Unminimize"
msgstr "Деминимизиране"
#: extensions/window-list/extension.js:130
msgid "Minimize"
msgstr "Минимизиране"
#: extensions/window-list/extension.js:136
msgid "Unmaximize"
msgstr "Демаксимизиране"
#: extensions/window-list/extension.js:137
msgid "Maximize"
msgstr "Максимизиране"
#: extensions/window-list/extension.js:420
msgid "Minimize all"
msgstr "Минимизиране на всички"
#: extensions/window-list/extension.js:428
msgid "Unminimize all"
msgstr "Деминимизиране на всички"
#: extensions/window-list/extension.js:436
msgid "Maximize all"
msgstr "Максимизиране на всички"
#: extensions/window-list/extension.js:445
msgid "Unmaximize all"
msgstr "Демаксимизиране на всички"
#: extensions/window-list/extension.js:454
msgid "Close all"
msgstr "Затваряне на всички"
#: extensions/window-list/extension.js:678
#: extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "Индикатор на работните плотове"
#: extensions/window-list/extension.js:842
msgid "Window List"
msgstr "Списък на прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
msgid "When to group windows"
msgstr "Кога да се групират прозорците"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
msgstr ""
"Кога да се групират прозорците на една програма в списъка с прозорците. "
"Възможните стойности са „never“ (никога), „auto“ (автоматично) и "
"„always“ (винаги)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
msgid "Show the window list on all monitors"
msgstr "Извеждане на списъка с прозорци на всички монитори"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"Дали списъкът с прозорци да се извежда на всички монитори или само на "
"основния"
#: extensions/window-list/prefs.js:32
msgid "Window Grouping"
msgstr "Групиране на прозорци"
#: extensions/window-list/prefs.js:50
msgid "Never group windows"
msgstr "Никога да не се групират"
#: extensions/window-list/prefs.js:51
msgid "Group windows when space is limited"
msgstr "Групиране при ограничено място"
#: extensions/window-list/prefs.js:52
msgid "Always group windows"
msgstr "Винаги да се групират"
#: extensions/window-list/prefs.js:75
msgid "Show on all monitors"
msgstr "На всички монитори"
#: extensions/workspace-indicator/prefs.js:141
msgid "Workspace Names"
msgstr "Имена на работните плотове"
#: extensions/workspace-indicator/prefs.js:157
msgid "Name"
msgstr "Име"
#: extensions/workspace-indicator/prefs.js:198
#, javascript-format
msgid "Workspace %d"
msgstr "Работен плот %d"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2021-07-19 15:59+0000\n"
"PO-Revision-Date: 2021-09-23 16:37+0200\n"
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
"PO-Revision-Date: 2020-08-20 00:38+0200\n"
"Last-Translator: gogo <linux.hr@protonmail.com>\n"
"Language-Team: Croatian <hr@li.org>\n"
"Language: hr\n"
@@ -18,9 +18,9 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 3.0\n"
"X-Generator: Poedit 2.4.1\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME klasičan"
@@ -32,7 +32,7 @@ msgstr "Ova sesija vas prijavljuje u klasičan GNOME"
msgid "Favorites"
msgstr "Omiljeni"
#: extensions/apps-menu/extension.js:367
#: extensions/apps-menu/extension.js:369
msgid "Applications"
msgstr "Aplikacije"
@@ -52,22 +52,22 @@ msgstr ""
msgid "Workspace Rules"
msgstr "Pravila radnog prostora"
#: extensions/auto-move-windows/prefs.js:237
#: extensions/auto-move-windows/prefs.js:243
msgid "Add Rule"
msgstr "Dodaj pravilo"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:134
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Izbacivanje uređaja “%s” neuspjelo:"
#: extensions/drive-menu/extension.js:150
#: extensions/drive-menu/extension.js:128
msgid "Removable devices"
msgstr "Prijenosni uređaji"
#: extensions/drive-menu/extension.js:172
#: extensions/drive-menu/extension.js:155
msgid "Open Files"
msgstr "Otvori datoteku"
@@ -101,7 +101,7 @@ msgstr ""
"ponovno pokretanje ljuske kako bi se primijenila."
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:92
#: extensions/places-menu/extension.js:93
msgid "Places"
msgstr "Lokacije"
@@ -164,27 +164,27 @@ msgstr "Prikaži u prozoru"
msgid "Maximize"
msgstr "Uvećaj"
#: extensions/window-list/extension.js:432
#: extensions/window-list/extension.js:428
msgid "Minimize all"
msgstr "Smanji sve"
#: extensions/window-list/extension.js:438
#: extensions/window-list/extension.js:434
msgid "Unminimize all"
msgstr "Vrati sve"
#: extensions/window-list/extension.js:444
#: extensions/window-list/extension.js:440
msgid "Maximize all"
msgstr "Uvećaj sve"
#: extensions/window-list/extension.js:452
#: extensions/window-list/extension.js:448
msgid "Unmaximize all"
msgstr "Prikaži u prozoru sve"
#: extensions/window-list/extension.js:460
#: extensions/window-list/extension.js:456
msgid "Close all"
msgstr "Zatvori sve"
#: extensions/window-list/extension.js:737
#: extensions/window-list/extension.js:734
msgid "Window List"
msgstr "Popis prozora"
@@ -228,7 +228,7 @@ msgstr "Grupiranje prozora"
#: extensions/window-list/prefs.js:58
msgid "Never group windows"
msgstr "Ne grupiraj prozore"
msgstr "Nikada grupiraj prozore"
#: extensions/window-list/prefs.js:59
msgid "Group windows when space is limited"
@@ -242,8 +242,8 @@ msgstr "Uvijek grupiraj prozore"
msgid "Show on all monitors"
msgstr "Prikaži na svim zaslonima"
#: extensions/window-list/workspaceIndicator.js:249
#: extensions/workspace-indicator/extension.js:255
#: extensions/window-list/workspaceIndicator.js:207
#: extensions/workspace-indicator/extension.js:213
msgid "Workspace Indicator"
msgstr "Indikator radnog prostora"
@@ -256,7 +256,7 @@ msgstr "Nazivi radnih prostora"
msgid "Workspace %d"
msgstr "Radni prostor %d"
#: extensions/workspace-indicator/prefs.js:208
#: extensions/workspace-indicator/prefs.js:218
msgid "Add Workspace"
msgstr "Dodaj radni prostor"

331
po/is.po
View File

@@ -1,14 +1,14 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2017, 2021.
# Sveinn í Felli <sv1@fellsnet.is>, 2015, 2017.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
"sues\n"
"POT-Creation-Date: 2021-07-19 15:59+0000\n"
"PO-Revision-Date: 2021-09-29 07:48+0000\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2017-08-11 01:33+0000\n"
"PO-Revision-Date: 2017-09-08 06:07+0000\n"
"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>\n"
"Language-Team: Icelandic <translation-team-is@lists.sourceforge.net>\n"
"Language: is\n"
@@ -16,9 +16,9 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Lokalize 19.12.3\n"
"X-Generator: Lokalize 1.5\n"
#: data/gnome-classic.desktop.in:3
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
msgid "GNOME Classic"
msgstr "GNOME Klassík"
@@ -26,11 +26,74 @@ msgstr "GNOME Klassík"
msgid "This session logs you into GNOME Classic"
msgstr "Þessi seta skráir þig inn í klassískt GNOME"
#: extensions/apps-menu/extension.js:113
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
msgid "Attach modal dialog to the parent window"
msgstr "Festa kvaðningarglugga við yfirglugga"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
msgid ""
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
msgstr ""
"Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.mutter "
"þegar GNOME Skelin er keyrð."
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
msgid "Arrangement of buttons on the titlebar"
msgstr "Staðsetning hnappa á tiltilrönd"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
msgid ""
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
"GNOME Shell."
msgstr ""
"Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.desktop.wm."
"þegar GNOME Skelin er keyrð."
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Virkja flísalögn við jaðra þegar gluggum er sleppt á skjájaðra"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
msgid "Workspaces only on primary monitor"
msgstr "Vinnusvæði einungis á aðalskjá"
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
msgid "Delay focus changes in mouse mode until the pointer stops moving"
msgstr ""
"Fresta breytingum á virkni í músarham þar til bendillinn hefur stöðvast"
#: extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "Einungis smámynd"
#: extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "Einungis táknmynd forrits"
#: extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "Smámynd og táknmynd"
#: extensions/alternate-tab/prefs.js:38
msgid "Present windows as"
msgstr "Birta glugga sem"
#: extensions/alternate-tab/prefs.js:69
msgid "Show only windows in the current workspace"
msgstr "Birta eingöngu glugga á núverandi vinnusvæði"
#: extensions/apps-menu/extension.js:41
msgid "Activities Overview"
msgstr "Virkniyfirlit"
#: extensions/apps-menu/extension.js:141
msgid "Favorites"
msgstr "Eftirlæti"
#: extensions/apps-menu/extension.js:367
#: extensions/apps-menu/extension.js:436
msgid "Applications"
msgstr "Forrit"
@@ -46,30 +109,75 @@ msgstr ""
"Listi yfir textastrengi, þar sem hver þeirra inniheldur forritsauðkenni "
"(heiti skjáborðsskrár) að viðbættum tvípunkti og svo númeri vinnusvæðis"
#: extensions/auto-move-windows/prefs.js:35
#| msgid "Workspace Names"
msgid "Workspace Rules"
msgstr "Vinnusvæðareglur"
#: extensions/auto-move-windows/prefs.js:60
msgid "Application"
msgstr "Forrit"
#: extensions/auto-move-windows/prefs.js:237
#: extensions/auto-move-windows/prefs.js:69
#: extensions/auto-move-windows/prefs.js:127
msgid "Workspace"
msgstr "Vinnusvæði"
#: extensions/auto-move-windows/prefs.js:85
msgid "Add Rule"
msgstr "Bæta við reglu"
#: extensions/auto-move-windows/prefs.js:106
msgid "Create new matching rule"
msgstr "Búa til nýja samsvörunarreglu"
#: extensions/auto-move-windows/prefs.js:111
msgid "Add"
msgstr "Bæta við"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:134
#: extensions/places-menu/placeDisplay.js:233
#: extensions/drive-menu/extension.js:107
#, javascript-format
#| msgid "Ejecting drive '%s' failed:"
msgid "Ejecting drive “%s” failed:"
msgstr "Útspýting drifsins '%s' mistókst:"
#: extensions/drive-menu/extension.js:150
#: extensions/drive-menu/extension.js:125
msgid "Removable devices"
msgstr "Útskiptanleg tæki"
#: extensions/drive-menu/extension.js:172
#: extensions/drive-menu/extension.js:150
#| msgid "Open File"
msgid "Open Files"
msgstr "Opna skrár"
#: extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Hæ heimur!"
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
msgid "Alternative greeting text."
msgstr "Varatexti ávarps."
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"Ef þetta er ekki autt, inniheldur það textann sem birtist þegar smellt er á "
"spjaldið."
#: extensions/example/prefs.js:30
msgid "Message"
msgstr "Skilaboð"
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: extensions/example/prefs.js:43
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless its possible to customize the greeting message."
msgstr ""
"Example-viðbótin hefur að markmiði að sýna hvernig byggja eigi vel gerðar "
"viðbætur fyrir GNOME-Shell hefur því sem slík ekki mikið aðra virkni.\n"
"Samt sem áður má nota hana til að sérsníða skilaboð í kvaðningu."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows"
msgstr "Nota meira af skjánum fyrir glugga"
@@ -81,9 +189,9 @@ msgid ""
"This setting applies only with the natural placement strategy."
msgstr ""
"Reyndu að nota meira af skjánum undir gluggatákn með aðlögun að "
"stærðarhlutföllum skjásins og að þjappa þeim enn frekar til að minnka "
"umgjörð þeirra. Þessi stilling gildir einungis með stefnu um eðlilegar "
"staðsetningar."
"stærðarhlutföllum skjásins og að þjappa þeim enn frekar til að minnka umgjörð "
"þeirra. "
"Þessi stilling gildir einungis með stefnu um eðlilegar staðsetningar."
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top"
@@ -99,31 +207,32 @@ msgstr ""
"öfugt við það sem sjálfgefið er í skelinni sem setur þær neðst. Breytingar á "
"þessum stillingum krefjast þess að skelin sé endurræst svo að þær taki gildi."
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:92
#: extensions/places-menu/extension.js:78
#: extensions/places-menu/extension.js:81
msgid "Places"
msgstr "Staðir"
#: extensions/places-menu/placeDisplay.js:46
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Mistókst að ræsa \"%s\""
#: extensions/places-menu/placeDisplay.js:61
#: extensions/places-menu/placeDisplay.js:65
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Gat ekki tengt gagnageymslu fyrir “%s”"
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
#: extensions/places-menu/placeDisplay.js:78
#, javascript-format
#| msgid "Failed to launch \"%s\""
msgid "Failed to launch “%s”"
msgstr "Mistókst að ræsa \"%s\""
#: extensions/places-menu/placeDisplay.js:137
#: extensions/places-menu/placeDisplay.js:160
msgid "Computer"
msgstr "Tölva"
#: extensions/places-menu/placeDisplay.js:359
#: extensions/places-menu/placeDisplay.js:303
msgid "Home"
msgstr "Heim"
#: extensions/places-menu/placeDisplay.js:404
#: extensions/places-menu/placeDisplay.js:347
msgid "Browse Network"
msgstr "Flakka um net"
@@ -132,6 +241,7 @@ msgid "Cycle Screenshot Sizes"
msgstr "Fletta í gegnum skjámyndastærðir"
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
#| msgid "Cycle Screenshot Sizes"
msgid "Cycle Screenshot Sizes Backward"
msgstr "Fletta afturábak í gegnum skjámyndastærðir"
@@ -143,47 +253,52 @@ msgstr "Heiti þema"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Heiti á þema, hlaðið inn frá ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:98
#: extensions/window-list/extension.js:110
msgid "Close"
msgstr "Loka"
#: extensions/window-list/extension.js:118
#: extensions/window-list/extension.js:129
msgid "Unminimize"
msgstr "Endurheimta"
#: extensions/window-list/extension.js:118
#: extensions/window-list/extension.js:130
msgid "Minimize"
msgstr "Lágmarka"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:136
msgid "Unmaximize"
msgstr "Minnka glugga"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:137
msgid "Maximize"
msgstr "Hámarka"
#: extensions/window-list/extension.js:432
#: extensions/window-list/extension.js:420
msgid "Minimize all"
msgstr "Lágmarka allt"
#: extensions/window-list/extension.js:438
#: extensions/window-list/extension.js:428
msgid "Unminimize all"
msgstr "Endurheimta allt"
#: extensions/window-list/extension.js:444
#: extensions/window-list/extension.js:436
msgid "Maximize all"
msgstr "Hámarka allt"
#: extensions/window-list/extension.js:452
#: extensions/window-list/extension.js:445
msgid "Unmaximize all"
msgstr "Minnka allt"
#: extensions/window-list/extension.js:460
#: extensions/window-list/extension.js:454
msgid "Close all"
msgstr "Loka öllu"
#: extensions/window-list/extension.js:737
#: extensions/window-list/extension.js:678
#: extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "Vinnusvæðavísir"
#: extensions/window-list/extension.js:842
msgid "Window List"
msgstr "Gluggalisti"
@@ -192,6 +307,9 @@ msgid "When to group windows"
msgstr "Hvenær á að hópa glugga"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
#| msgid ""
#| "Decides when to group windows from the same application on the window "
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
msgid ""
"Decides when to group windows from the same application on the window list. "
"Possible values are “never”, “auto” and “always”."
@@ -200,150 +318,49 @@ msgstr ""
"Möguleg gildi eru „aldrei‟, „sjálfvirkt‟ og „alltaf‟."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
#| msgid "Show only windows in the current workspace"
msgid "Show windows from all workspaces"
msgstr "Birta glugga frá öllum vinnusvæðum"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
#| msgid ""
#| "Whether to show the window list on all connected monitors or only on the "
#| "primary one."
msgid "Whether to show windows from all workspaces or only the current one."
msgstr ""
"Hvort birta eigi glugga frá öllum vinnusvæðum eða einungis því sem er virkt."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors"
msgstr "Sýna gluggalistann á öllum skjám"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid ""
"Whether to show the window list on all connected monitors or only on the "
"primary one."
msgstr ""
"Hvort birta eigi gluggalistann á öllum tengdum skjám eða einungis á aðalskjá."
#: extensions/window-list/prefs.js:29
#: extensions/window-list/prefs.js:32
msgid "Window Grouping"
msgstr "Hópun glugga"
#: extensions/window-list/prefs.js:58
#: extensions/window-list/prefs.js:50
msgid "Never group windows"
msgstr "Aldrei hópa glugga"
#: extensions/window-list/prefs.js:59
#: extensions/window-list/prefs.js:51
msgid "Group windows when space is limited"
msgstr "Hópa glugga þegar pláss er takmarkað"
#: extensions/window-list/prefs.js:60
#: extensions/window-list/prefs.js:52
msgid "Always group windows"
msgstr "Alltaf hópa glugga"
#: extensions/window-list/prefs.js:94
#: extensions/window-list/prefs.js:75
msgid "Show on all monitors"
msgstr "Birta á öllum skjám"
#: extensions/window-list/workspaceIndicator.js:249
#: extensions/workspace-indicator/extension.js:255
msgid "Workspace Indicator"
msgstr "Vinnusvæðavísir"
#: extensions/workspace-indicator/prefs.js:34
#: extensions/workspace-indicator/prefs.js:141
msgid "Workspace Names"
msgstr "Vinnusvæðaheiti"
#: extensions/workspace-indicator/prefs.js:67
#: extensions/workspace-indicator/prefs.js:157
msgid "Name"
msgstr "Heiti"
#: extensions/workspace-indicator/prefs.js:198
#, javascript-format
msgid "Workspace %d"
msgstr "Vinnusvæði %d"
#: extensions/workspace-indicator/prefs.js:208
#| msgid "Workspace"
msgid "Add Workspace"
msgstr "Bæta við vinnusvæði"
#~ msgid "Attach modal dialog to the parent window"
#~ msgstr "Festa kvaðningarglugga við yfirglugga"
#~ msgid ""
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
#~ msgstr ""
#~ "Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.mutter "
#~ "þegar GNOME Skelin er keyrð."
#~ msgid "Arrangement of buttons on the titlebar"
#~ msgstr "Staðsetning hnappa á tiltilrönd"
#~ msgid ""
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
#~ "running GNOME Shell."
#~ msgstr ""
#~ "Þetta hefur forgang fram yfir lykilinn í kjörstillingum org.gnome.desktop."
#~ "wm.þegar GNOME Skelin er keyrð."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr "Virkja flísalögn við jaðra þegar gluggum er sleppt á skjájaðra"
#~ msgid "Workspaces only on primary monitor"
#~ msgstr "Vinnusvæði einungis á aðalskjá"
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
#~ msgstr ""
#~ "Fresta breytingum á virkni í músarham þar til bendillinn hefur stöðvast"
#~ msgid "Thumbnail only"
#~ msgstr "Einungis smámynd"
#~ msgid "Application icon only"
#~ msgstr "Einungis táknmynd forrits"
#~ msgid "Thumbnail and application icon"
#~ msgstr "Smámynd og táknmynd"
#~ msgid "Present windows as"
#~ msgstr "Birta glugga sem"
#~ msgid "Activities Overview"
#~ msgstr "Virkniyfirlit"
#~ msgid "Application"
#~ msgstr "Forrit"
#~ msgid "Create new matching rule"
#~ msgstr "Búa til nýja samsvörunarreglu"
#~ msgid "Add"
#~ msgstr "Bæta við"
#~ msgid "Hello, world!"
#~ msgstr "Hæ heimur!"
#~ msgid "Alternative greeting text."
#~ msgstr "Varatexti ávarps."
#~ msgid ""
#~ "If not empty, it contains the text that will be shown when clicking on "
#~ "the panel."
#~ msgstr ""
#~ "Ef þetta er ekki autt, inniheldur það textann sem birtist þegar smellt er "
#~ "á spjaldið."
#~ msgid "Message"
#~ msgstr "Skilaboð"
#~ msgid ""
#~ "Example aims to show how to build well behaved extensions for the Shell "
#~ "and as such it has little functionality on its own.\n"
#~ "Nevertheless its possible to customize the greeting message."
#~ msgstr ""
#~ "Example-viðbótin hefur að markmiði að sýna hvernig byggja eigi vel gerðar "
#~ "viðbætur fyrir GNOME-Shell hefur því sem slík ekki mikið aðra virkni.\n"
#~ "Samt sem áður má nota hana til að sérsníða skilaboð í kvaðningu."
#~ msgid "Name"
#~ msgstr "Heiti"
#~ msgid "CPU"
#~ msgstr "Örgjörvi"