Compare commits
38 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78141e6433 | ||
|
|
dd53fb8eb7 | ||
|
|
6cd2be452b | ||
|
|
36abd576b5 | ||
|
|
730547b3e1 | ||
|
|
e7e6b882a3 | ||
|
|
53f92f2910 | ||
|
|
a26380d56e | ||
|
|
ab334d95e0 | ||
|
|
7e5726e632 | ||
|
|
95b40069bf | ||
|
|
bd9f1cfd91 | ||
|
|
81548ced69 | ||
|
|
a378e5fc34 | ||
|
|
56d19ad480 | ||
|
|
a071685c13 | ||
|
|
599428d292 | ||
|
|
1f1f9664a6 | ||
|
|
fb039c0fb5 | ||
|
|
6e63edd737 | ||
|
|
55ecd3939e | ||
|
|
d83d6e857a | ||
|
|
db35d7ae7c | ||
|
|
d34b5030b9 | ||
|
|
7f8f1234ae | ||
|
|
9b25a227c6 | ||
|
|
78580bc3a8 | ||
|
|
b50074fd37 | ||
|
|
d5a1044244 | ||
|
|
11cad1f3b3 | ||
|
|
2582ab4fd0 | ||
|
|
5a06de606d | ||
|
|
4671c24b78 | ||
|
|
0d41643866 | ||
|
|
d8f7d70c10 | ||
|
|
cbd981351e | ||
|
|
434185ba03 | ||
|
|
abc8877d11 |
@@ -1,25 +1,40 @@
|
||||
stages:
|
||||
- commit_check
|
||||
- source_check
|
||||
- build
|
||||
|
||||
variables:
|
||||
LINT_LOG: "eslint-report.txt"
|
||||
|
||||
.only_default: &only_default
|
||||
only:
|
||||
- branches
|
||||
- tags
|
||||
- merge_requests
|
||||
|
||||
check_commit_log:
|
||||
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
|
||||
stage: commit_check
|
||||
script:
|
||||
- ./.gitlab-ci/check-commit-log.sh
|
||||
only:
|
||||
- merge_requests
|
||||
|
||||
eslint:
|
||||
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: source_check
|
||||
script:
|
||||
- sh lint/generate-report.sh -o $LINT_LOG || { cat $LINT_LOG; false; }
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- ${LINT_LOG}
|
||||
when: on_failure
|
||||
|
||||
build-shell-extensions:
|
||||
image: fedora:latest
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: build
|
||||
before_script:
|
||||
- dnf install -y meson gettext mozjs60-devel
|
||||
script:
|
||||
- meson _build .
|
||||
- ninja -C _build test install
|
||||
<<: *only_default
|
||||
|
||||
31
.gitlab-ci/check-commit-log.sh
Executable file
31
.gitlab-ci/check-commit-log.sh
Executable file
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||
echo Cannot review non-merge request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||
|
||||
commits=$(git log --format='format:%H' $branch_point..$CI_COMMIT_SHA)
|
||||
|
||||
if [ -z "$commits" ]; then
|
||||
echo Commit range empty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function commit_message_has_url() {
|
||||
commit=$1
|
||||
commit_message=$(git show -s --format='format:%b' $commit)
|
||||
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
|
||||
return $?
|
||||
}
|
||||
|
||||
for commit in $commits; do
|
||||
if ! commit_message_has_url $commit; then
|
||||
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
28
NEWS
28
NEWS
@@ -1,3 +1,31 @@
|
||||
3.32.0
|
||||
======
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translations:
|
||||
Victor Ibragimov [tg], Kristjan SCHMIDT [eo], Mart Raudsepp [et]
|
||||
|
||||
3.31.92
|
||||
=======
|
||||
* Misc. bug fixes and cleanups [Florian; !57, !58, !59, !60]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
3.31.91
|
||||
=======
|
||||
* apps-menu: Remove outdated legacy-tray handling [Florian; !53]
|
||||
* user-theme: Allow using XDG user data dir [Tomasz; !55]
|
||||
* Misc. bug fixes and cleanups [Florian; !52, !54, !56]
|
||||
|
||||
Contributors:
|
||||
Tomasz Gąsior, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Matej Urbančič [sl], Gun Chleoc [gd]
|
||||
|
||||
3.31.90
|
||||
=======
|
||||
* Misc. bug fixes and cleanups [Florian; !49, !50, !51]
|
||||
|
||||
Submodule data/gnome-shell-sass updated: 2080f27d67...1b708a862f
@@ -1,20 +1,13 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init enable disable */
|
||||
|
||||
const Atk = imports.gi.Atk;
|
||||
const {
|
||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St
|
||||
} = imports.gi;
|
||||
const DND = imports.ui.dnd;
|
||||
const GMenu = imports.gi.GMenu;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Main = imports.ui.main;
|
||||
const Meta = imports.gi.Meta;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
@@ -29,11 +22,14 @@ const HORIZ_FACTOR = 5;
|
||||
const MENU_HEIGHT_OFFSET = 132;
|
||||
const NAVIGATION_REGION_OVERSHOOT = 50;
|
||||
|
||||
Gio._promisify(Gio._LocalFilePrototype, 'query_info_async', 'query_info_finish');
|
||||
Gio._promisify(Gio._LocalFilePrototype, 'set_attributes_async', 'set_attributes_finish');
|
||||
|
||||
class ActivitiesMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
constructor(button) {
|
||||
super();
|
||||
this._button = button;
|
||||
this.actor.add_child(new St.Label({ text: _("Activities Overview") }));
|
||||
this.actor.add_child(new St.Label({ text: _('Activities Overview') }));
|
||||
}
|
||||
|
||||
activate(event) {
|
||||
@@ -52,8 +48,11 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
this._iconBin = new St.Bin();
|
||||
this.actor.add_child(this._iconBin);
|
||||
|
||||
let appLabel = new St.Label({ text: app.get_name(), y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
let appLabel = new St.Label({
|
||||
text: app.get_name(),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
});
|
||||
this.actor.add_child(appLabel);
|
||||
this.actor.label_actor = appLabel;
|
||||
|
||||
@@ -74,13 +73,6 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
return maybeStartDrag.call(draggable, event);
|
||||
return false;
|
||||
};
|
||||
|
||||
draggable.connect('drag-begin', () => {
|
||||
Shell.util_set_hidden_from_pick(Main.legacyTray.actor, true);
|
||||
});
|
||||
draggable.connect('drag-end', () => {
|
||||
Shell.util_set_hidden_from_pick(Main.legacyTray.actor, false);
|
||||
});
|
||||
}
|
||||
|
||||
activate(event) {
|
||||
@@ -126,7 +118,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
if (this._category)
|
||||
name = this._category.get_name();
|
||||
else
|
||||
name = _("Favorites");
|
||||
name = _('Favorites');
|
||||
|
||||
this.actor.add_child(new St.Label({ text: name }));
|
||||
this.actor.connect('motion-event', this._onMotionEvent.bind(this));
|
||||
@@ -314,48 +306,32 @@ class DesktopTarget {
|
||||
return source._app.app_info;
|
||||
}
|
||||
|
||||
_touchFile(file) {
|
||||
let queryFlags = Gio.FileQueryInfoFlags.NONE;
|
||||
let ioPriority = GLib.PRIORITY_DEFAULT;
|
||||
|
||||
let info = new Gio.FileInfo();
|
||||
info.set_attribute_uint64(Gio.FILE_ATTRIBUTE_TIME_ACCESS,
|
||||
GLib.get_real_time());
|
||||
file.set_attributes_async (info, queryFlags, ioPriority, null,
|
||||
(o, res) => {
|
||||
try {
|
||||
o.set_attributes_finish(res);
|
||||
} catch (e) {
|
||||
log(`Failed to update access time: ${e.message}`);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
_markTrusted(file) {
|
||||
async _markTrusted(file) {
|
||||
let modeAttr = Gio.FILE_ATTRIBUTE_UNIX_MODE;
|
||||
let trustedAttr = 'metadata::trusted';
|
||||
let queryFlags = Gio.FileQueryInfoFlags.NONE;
|
||||
let ioPriority = GLib.PRIORITY_DEFAULT;
|
||||
|
||||
file.query_info_async(modeAttr, queryFlags, ioPriority, null,
|
||||
(o, res) => {
|
||||
try {
|
||||
let info = o.query_info_finish(res);
|
||||
let mode = info.get_attribute_uint32(modeAttr) | 0o100;
|
||||
try {
|
||||
let info = await file.query_info_async(modeAttr, queryFlags, ioPriority, null);
|
||||
|
||||
info.set_attribute_uint32(modeAttr, mode);
|
||||
info.set_attribute_string(trustedAttr, 'yes');
|
||||
file.set_attributes_async (info, queryFlags, ioPriority, null,
|
||||
(o, res) => {
|
||||
o.set_attributes_finish(res);
|
||||
let mode = info.get_attribute_uint32(modeAttr) | 0o100;
|
||||
info.set_attribute_uint32(modeAttr, mode);
|
||||
info.set_attribute_string(trustedAttr, 'yes');
|
||||
await file.set_attributes_async(info, queryFlags, ioPriority, null);
|
||||
|
||||
// Hack: force nautilus to reload file info
|
||||
this._touchFile(file);
|
||||
});
|
||||
} catch (e) {
|
||||
log(`Failed to mark file as trusted: ${e.message}`);
|
||||
}
|
||||
});
|
||||
// Hack: force nautilus to reload file info
|
||||
info = new Gio.FileInfo();
|
||||
info.set_attribute_uint64(Gio.FILE_ATTRIBUTE_TIME_ACCESS,
|
||||
GLib.get_real_time());
|
||||
try {
|
||||
await file.set_attributes_async(info, queryFlags, ioPriority, null);
|
||||
} catch (e) {
|
||||
log(`Failed to update access time: ${e.message}`);
|
||||
}
|
||||
} catch (e) {
|
||||
log(`Failed to mark file as trusted: ${e.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
destroy() {
|
||||
@@ -414,9 +390,11 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
|
||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
|
||||
this._label = new St.Label({ text: _("Applications"),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this._label = new St.Label({
|
||||
text: _('Applications'),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
});
|
||||
hbox.add_child(this._label);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
|
||||
@@ -472,8 +450,10 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
}
|
||||
|
||||
_createVertSeparator() {
|
||||
let separator = new St.DrawingArea({ style_class: 'calendar-vertical-separator',
|
||||
pseudo_class: 'highlighted' });
|
||||
let separator = new St.DrawingArea({
|
||||
style_class: 'calendar-vertical-separator',
|
||||
pseudo_class: 'highlighted'
|
||||
});
|
||||
separator.connect('repaint', this._onVertSepRepaint.bind(this));
|
||||
return separator;
|
||||
}
|
||||
@@ -485,12 +465,12 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this._tree.disconnect(this._treeChangedId);
|
||||
this._tree = null;
|
||||
|
||||
let handler = Main.sessionMode.hasOverview ?
|
||||
Main.overview.toggle.bind(Main.overview) : null;
|
||||
Main.wm.setCustomKeybindingHandler('panel-main-menu',
|
||||
Shell.ActionMode.NORMAL |
|
||||
Shell.ActionMode.OVERVIEW,
|
||||
Main.sessionMode.hasOverview ?
|
||||
Main.overview.toggle.bind(Main.overview) :
|
||||
null);
|
||||
handler);
|
||||
|
||||
this._desktopTarget.destroy();
|
||||
}
|
||||
@@ -506,8 +486,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
_onMenuKeyPress(actor, event) {
|
||||
let symbol = event.get_key_symbol();
|
||||
if (symbol == Clutter.KEY_Left || symbol == Clutter.KEY_Right) {
|
||||
let direction = symbol == Clutter.KEY_Left ? Gtk.DirectionType.LEFT
|
||||
: Gtk.DirectionType.RIGHT;
|
||||
let direction = symbol == Clutter.KEY_Left ?
|
||||
Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT;
|
||||
if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false))
|
||||
return true;
|
||||
}
|
||||
@@ -544,7 +524,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
Main.wm.setCustomKeybindingHandler('panel-main-menu',
|
||||
Shell.ActionMode.NORMAL |
|
||||
Shell.ActionMode.OVERVIEW,
|
||||
() => { this.menu.toggle(); });
|
||||
() => this.menu.toggle());
|
||||
}
|
||||
|
||||
_redisplay() {
|
||||
@@ -615,9 +595,12 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.menu.addMenuItem(section);
|
||||
this.mainBox = new St.BoxLayout({ vertical: false });
|
||||
this.leftBox = new St.BoxLayout({ vertical: true });
|
||||
this.applicationsScrollBox = new St.ScrollView({ x_fill: true, y_fill: false,
|
||||
y_align: St.Align.START,
|
||||
style_class: 'apps-menu vfade' });
|
||||
this.applicationsScrollBox = new St.ScrollView({
|
||||
x_fill: true,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START,
|
||||
style_class: 'apps-menu vfade'
|
||||
});
|
||||
this.applicationsScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
let vscroll = this.applicationsScrollBox.get_vscroll_bar();
|
||||
vscroll.connect('scroll-start', () => {
|
||||
@@ -626,21 +609,30 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
vscroll.connect('scroll-stop', () => {
|
||||
this.menu.passEvents = false;
|
||||
});
|
||||
this.categoriesScrollBox = new St.ScrollView({ x_fill: true, y_fill: false,
|
||||
y_align: St.Align.START,
|
||||
style_class: 'vfade' });
|
||||
this.categoriesScrollBox = new St.ScrollView({
|
||||
x_fill: true,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START,
|
||||
style_class: 'vfade'
|
||||
});
|
||||
this.categoriesScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
vscroll = this.categoriesScrollBox.get_vscroll_bar();
|
||||
vscroll.connect('scroll-start', () => { this.menu.passEvents = true; });
|
||||
vscroll.connect('scroll-stop', () => { this.menu.passEvents = false; });
|
||||
this.leftBox.add(this.categoriesScrollBox, { expand: true,
|
||||
x_fill: true, y_fill: true,
|
||||
y_align: St.Align.START });
|
||||
vscroll.connect('scroll-start', () => this.menu.passEvents = true);
|
||||
vscroll.connect('scroll-stop', () => this.menu.passEvents = false);
|
||||
this.leftBox.add(this.categoriesScrollBox, {
|
||||
expand: true,
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
y_align: St.Align.START
|
||||
});
|
||||
|
||||
let activities = new ActivitiesMenuItem(this);
|
||||
this.leftBox.add(activities.actor, { expand: false,
|
||||
x_fill: true, y_fill: false,
|
||||
y_align: St.Align.START });
|
||||
this.leftBox.add(activities.actor, {
|
||||
expand: false,
|
||||
x_fill: true,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START
|
||||
});
|
||||
|
||||
this.applicationsBox = new St.BoxLayout({ vertical: true });
|
||||
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
||||
@@ -648,8 +640,16 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.categoriesScrollBox.add_actor(this.categoriesBox);
|
||||
|
||||
this.mainBox.add(this.leftBox);
|
||||
this.mainBox.add(this._createVertSeparator(), { expand: false, x_fill: false, y_fill: true });
|
||||
this.mainBox.add(this.applicationsScrollBox, { expand: true, x_fill: true, y_fill: true });
|
||||
this.mainBox.add(this._createVertSeparator(), {
|
||||
expand: false,
|
||||
x_fill: false,
|
||||
y_fill: true
|
||||
});
|
||||
this.mainBox.add(this.applicationsScrollBox, {
|
||||
expand: true,
|
||||
x_fill: true,
|
||||
y_fill: true
|
||||
});
|
||||
section.actor.add_actor(this.mainBox);
|
||||
}
|
||||
|
||||
@@ -667,17 +667,19 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
let iter = root.iter();
|
||||
let nextType;
|
||||
while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
|
||||
if (nextType == GMenu.TreeItemType.DIRECTORY) {
|
||||
let dir = iter.get_directory();
|
||||
if (!dir.get_is_nodisplay()) {
|
||||
let categoryId = dir.get_menu_id();
|
||||
this.applicationsByCategory[categoryId] = [];
|
||||
this._loadCategory(categoryId, dir);
|
||||
if (this.applicationsByCategory[categoryId].length > 0) {
|
||||
let categoryMenuItem = new CategoryMenuItem(this, dir);
|
||||
this.categoriesBox.add_actor(categoryMenuItem.actor);
|
||||
}
|
||||
}
|
||||
if (nextType != GMenu.TreeItemType.DIRECTORY)
|
||||
continue;
|
||||
|
||||
let dir = iter.get_directory();
|
||||
if (dir.get_is_nodisplay())
|
||||
continue;
|
||||
|
||||
let categoryId = dir.get_menu_id();
|
||||
this.applicationsByCategory[categoryId] = [];
|
||||
this._loadCategory(categoryId, dir);
|
||||
if (this.applicationsByCategory[categoryId].length > 0) {
|
||||
let categoryMenuItem = new CategoryMenuItem(this, dir);
|
||||
this.categoriesBox.add_actor(categoryMenuItem.actor);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -706,22 +708,20 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
}
|
||||
|
||||
_displayButtons(apps) {
|
||||
if (apps) {
|
||||
for (let i = 0; i < apps.length; i++) {
|
||||
let app = apps[i];
|
||||
let item;
|
||||
if (app instanceof Shell.App)
|
||||
item = this._applicationsButtons.get(app);
|
||||
else
|
||||
item = new PopupMenu.PopupSeparatorMenuItem();
|
||||
if (!item) {
|
||||
item = new ApplicationMenuItem(this, app);
|
||||
item.setDragEnabled(this._desktopTarget.hasDesktop);
|
||||
this._applicationsButtons.set(app, item);
|
||||
}
|
||||
if (!item.actor.get_parent())
|
||||
this.applicationsBox.add_actor(item.actor);
|
||||
for (let i = 0; i < apps.length; i++) {
|
||||
let app = apps[i];
|
||||
let item;
|
||||
if (app instanceof Shell.App)
|
||||
item = this._applicationsButtons.get(app);
|
||||
else
|
||||
item = new PopupMenu.PopupSeparatorMenuItem();
|
||||
if (!item) {
|
||||
item = new ApplicationMenuItem(this, app);
|
||||
item.setDragEnabled(this._desktopTarget.hasDesktop);
|
||||
this._applicationsButtons.set(app, item);
|
||||
}
|
||||
if (!item.actor.get_parent())
|
||||
this.applicationsBox.add_actor(item.actor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -125,9 +125,9 @@ function myCheckWorkspaces() {
|
||||
}
|
||||
|
||||
// make sure the original method only removes empty workspaces at the end
|
||||
keepAliveWorkspaces.forEach(ws => { ws._keepAliveId = 1; });
|
||||
keepAliveWorkspaces.forEach(ws => ws._keepAliveId = 1);
|
||||
prevCheckWorkspaces.call(this);
|
||||
keepAliveWorkspaces.forEach(ws => { delete ws._keepAliveId; });
|
||||
keepAliveWorkspaces.forEach(ws => delete ws._keepAliveId);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
// Start apps on custom workspaces
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
@@ -36,35 +34,48 @@ const Widget = GObject.registerClass({
|
||||
this._changedPermitted = false;
|
||||
|
||||
this._store = new Gtk.ListStore();
|
||||
this._store.set_column_types([Gio.AppInfo, GObject.TYPE_STRING, Gio.Icon, GObject.TYPE_INT,
|
||||
Gtk.Adjustment]);
|
||||
this._store.set_column_types([
|
||||
Gio.AppInfo,
|
||||
GObject.TYPE_STRING,
|
||||
Gio.Icon,
|
||||
GObject.TYPE_INT,
|
||||
Gtk.Adjustment
|
||||
]);
|
||||
|
||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
this.add(scrolled);
|
||||
|
||||
|
||||
this._treeView = new Gtk.TreeView({ model: this._store,
|
||||
hexpand: true, vexpand: true });
|
||||
this._treeView = new Gtk.TreeView({
|
||||
model: this._store,
|
||||
hexpand: true,
|
||||
vexpand: true
|
||||
});
|
||||
this._treeView.get_selection().set_mode(Gtk.SelectionMode.SINGLE);
|
||||
|
||||
let appColumn = new Gtk.TreeViewColumn({ expand: true, sort_column_id: Columns.DISPLAY_NAME,
|
||||
title: _("Application") });
|
||||
let appColumn = new Gtk.TreeViewColumn({
|
||||
expand: true,
|
||||
sort_column_id: Columns.DISPLAY_NAME,
|
||||
title: _('Application')
|
||||
});
|
||||
let iconRenderer = new Gtk.CellRendererPixbuf;
|
||||
appColumn.pack_start(iconRenderer, false);
|
||||
appColumn.add_attribute(iconRenderer, "gicon", Columns.ICON);
|
||||
appColumn.add_attribute(iconRenderer, 'gicon', Columns.ICON);
|
||||
let nameRenderer = new Gtk.CellRendererText;
|
||||
appColumn.pack_start(nameRenderer, true);
|
||||
appColumn.add_attribute(nameRenderer, "text", Columns.DISPLAY_NAME);
|
||||
appColumn.add_attribute(nameRenderer, 'text', Columns.DISPLAY_NAME);
|
||||
this._treeView.append_column(appColumn);
|
||||
|
||||
let workspaceColumn = new Gtk.TreeViewColumn({ title: _("Workspace"),
|
||||
sort_column_id: Columns.WORKSPACE });
|
||||
let workspaceColumn = new Gtk.TreeViewColumn({
|
||||
title: _('Workspace'),
|
||||
sort_column_id: Columns.WORKSPACE
|
||||
});
|
||||
let workspaceRenderer = new Gtk.CellRendererSpin({ editable: true });
|
||||
workspaceRenderer.connect('edited', this._workspaceEdited.bind(this));
|
||||
workspaceColumn.pack_start(workspaceRenderer, true);
|
||||
workspaceColumn.add_attribute(workspaceRenderer, "adjustment", Columns.ADJUSTMENT);
|
||||
workspaceColumn.add_attribute(workspaceRenderer, "text", Columns.WORKSPACE);
|
||||
workspaceColumn.add_attribute(workspaceRenderer, 'adjustment', Columns.ADJUSTMENT);
|
||||
workspaceColumn.add_attribute(workspaceRenderer, 'text', Columns.WORKSPACE);
|
||||
this._treeView.append_column(workspaceColumn);
|
||||
|
||||
scrolled.add(this._treeView);
|
||||
@@ -73,13 +84,15 @@ const Widget = GObject.registerClass({
|
||||
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
|
||||
this.add(toolbar);
|
||||
|
||||
let newButton = new Gtk.ToolButton({ icon_name: 'bookmark-new-symbolic',
|
||||
label: _("Add Rule"),
|
||||
is_important: true });
|
||||
let newButton = new Gtk.ToolButton({
|
||||
icon_name: 'bookmark-new-symbolic',
|
||||
label: _('Add Rule'),
|
||||
is_important: true
|
||||
});
|
||||
newButton.connect('clicked', this._createNew.bind(this));
|
||||
toolbar.add(newButton);
|
||||
|
||||
let delButton = new Gtk.ToolButton({ icon_name: 'edit-delete-symbolic' });
|
||||
let delButton = new Gtk.ToolButton({ icon_name: 'edit-delete-symbolic' });
|
||||
delButton.connect('clicked', this._deleteSelected.bind(this));
|
||||
toolbar.add(delButton);
|
||||
|
||||
@@ -94,17 +107,21 @@ const Widget = GObject.registerClass({
|
||||
}
|
||||
|
||||
_createNew() {
|
||||
let dialog = new Gtk.Dialog({ title: _("Create new matching rule"),
|
||||
transient_for: this.get_toplevel(),
|
||||
use_header_bar: true,
|
||||
modal: true });
|
||||
let dialog = new Gtk.Dialog({
|
||||
title: _('Create new matching rule'),
|
||||
transient_for: this.get_toplevel(),
|
||||
use_header_bar: true,
|
||||
modal: true
|
||||
});
|
||||
dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
|
||||
let addButton = dialog.add_button(_("Add"), Gtk.ResponseType.OK);
|
||||
let addButton = dialog.add_button(_('Add'), Gtk.ResponseType.OK);
|
||||
dialog.set_default_response(Gtk.ResponseType.OK);
|
||||
|
||||
let grid = new Gtk.Grid({ column_spacing: 10,
|
||||
row_spacing: 15,
|
||||
margin: 10 });
|
||||
let grid = new Gtk.Grid({
|
||||
column_spacing: 10,
|
||||
row_spacing: 15,
|
||||
margin: 10
|
||||
});
|
||||
dialog._appChooser = new Gtk.AppChooserWidget({ show_all: true });
|
||||
dialog._appChooser.connect('application-selected', (w, appInfo) => {
|
||||
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
|
||||
@@ -113,13 +130,19 @@ const Widget = GObject.registerClass({
|
||||
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
|
||||
|
||||
grid.attach(dialog._appChooser, 0, 0, 2, 1);
|
||||
grid.attach(new Gtk.Label({ label: _("Workspace"),
|
||||
halign: Gtk.Align.END }), 0, 1, 1, 1);
|
||||
let adjustment = new Gtk.Adjustment({ lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1 });
|
||||
dialog._spin = new Gtk.SpinButton({ adjustment: adjustment,
|
||||
snap_to_ticks: true });
|
||||
grid.attach(new Gtk.Label({
|
||||
label: _('Workspace'),
|
||||
halign: Gtk.Align.END
|
||||
}), 0, 1, 1, 1);
|
||||
let adjustment = new Gtk.Adjustment({
|
||||
lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1
|
||||
});
|
||||
dialog._spin = new Gtk.SpinButton({
|
||||
adjustment: adjustment,
|
||||
snap_to_ticks: true
|
||||
});
|
||||
dialog._spin.set_value(1);
|
||||
grid.attach(dialog._spin, 1, 1, 1, 1);
|
||||
dialog.get_content_area().add(grid);
|
||||
@@ -141,14 +164,7 @@ const Widget = GObject.registerClass({
|
||||
this._appendItem(appInfo.get_id(), index);
|
||||
this._changedPermitted = true;
|
||||
|
||||
let iter = this._store.append();
|
||||
let adj = new Gtk.Adjustment({ lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1,
|
||||
value: index });
|
||||
this._store.set(iter,
|
||||
[Columns.APPINFO, Columns.ICON, Columns.DISPLAY_NAME, Columns.WORKSPACE, Columns.ADJUSTMENT],
|
||||
[appInfo, appInfo.get_icon(), appInfo.get_display_name(), index, adj]);
|
||||
this._appendRow(appInfo, index);
|
||||
|
||||
dialog.destroy();
|
||||
});
|
||||
@@ -198,20 +214,29 @@ const Widget = GObject.registerClass({
|
||||
continue;
|
||||
validItems.push(currentItems[i]);
|
||||
|
||||
let iter = this._store.append();
|
||||
let adj = new Gtk.Adjustment({ lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1,
|
||||
value: index });
|
||||
this._store.set(iter,
|
||||
[Columns.APPINFO, Columns.ICON, Columns.DISPLAY_NAME, Columns.WORKSPACE, Columns.ADJUSTMENT],
|
||||
[appInfo, appInfo.get_icon(), appInfo.get_display_name(), parseInt(index), adj]);
|
||||
this._appendRow(appInfo, parseInt(index));
|
||||
}
|
||||
|
||||
if (validItems.length != currentItems.length) // some items were filtered out
|
||||
this._settings.set_strv(SETTINGS_KEY, validItems);
|
||||
}
|
||||
|
||||
_appendRow(appInfo, workspace) {
|
||||
let iter = this._store.append();
|
||||
let icon = appInfo.get_icon();
|
||||
let displayName = appInfo.get_display_name();
|
||||
let adj = new Gtk.Adjustment({
|
||||
lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1,
|
||||
value: workspace
|
||||
});
|
||||
let { APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT } = Columns;
|
||||
this._store.set(iter,
|
||||
[APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT],
|
||||
[appInfo, icon, displayName, workspace, adj]);
|
||||
}
|
||||
|
||||
_checkId(id) {
|
||||
let items = this._settings.get_strv(SETTINGS_KEY);
|
||||
return !items.some(i => i.startsWith(`${id}:`));
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
/* exported init enable disable */
|
||||
// Drive menu extension
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const St = imports.gi.St;
|
||||
const Shell = imports.gi.Shell;
|
||||
const { Gio, GObject, Shell, St } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
@@ -25,8 +22,10 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
|
||||
this.mount = mount;
|
||||
|
||||
let ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon ' });
|
||||
let ejectIcon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon'
|
||||
});
|
||||
let ejectButton = new St.Button({ child: ejectIcon });
|
||||
ejectButton.connect('clicked', this._eject.bind(this));
|
||||
this.actor.add(ejectButton);
|
||||
@@ -66,17 +65,17 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
}
|
||||
|
||||
_eject() {
|
||||
let mountOp = new ShellMountOperation.ShellMountOperation(this.mount);
|
||||
let unmountArgs = [
|
||||
Gio.MountUnmountFlags.NONE,
|
||||
(new ShellMountOperation.ShellMountOperation(this.mount)).mountOp,
|
||||
null // Gio.Cancellable
|
||||
];
|
||||
|
||||
if (this.mount.can_eject())
|
||||
this.mount.eject_with_operation(Gio.MountUnmountFlags.NONE,
|
||||
mountOp.mountOp,
|
||||
null, // Gio.Cancellable
|
||||
this.mount.eject_with_operation(...unmountArgs,
|
||||
this._ejectFinish.bind(this));
|
||||
else
|
||||
this.mount.unmount_with_operation(Gio.MountUnmountFlags.NONE,
|
||||
mountOp.mountOp,
|
||||
null, // Gio.Cancellable
|
||||
this.mount.unmount_with_operation(...unmountArgs,
|
||||
this._unmountFinish.bind(this));
|
||||
}
|
||||
|
||||
@@ -98,7 +97,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
|
||||
_reportFailure(exception) {
|
||||
// TRANSLATORS: %s is the filesystem name
|
||||
let msg = _("Ejecting drive “%s” failed:").format(this.mount.get_name());
|
||||
let msg = _('Ejecting drive “%s” failed:').format(this.mount.get_name());
|
||||
Main.notifyError(msg, exception.message);
|
||||
}
|
||||
|
||||
@@ -114,11 +113,13 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
let DriveMenu = GObject.registerClass(
|
||||
class DriveMenu extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _("Removable devices"));
|
||||
super._init(0.0, _('Removable devices'));
|
||||
|
||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
let icon = new St.Icon({ icon_name: 'media-eject-symbolic',
|
||||
style_class: 'system-status-icon' });
|
||||
let icon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'system-status-icon'
|
||||
});
|
||||
|
||||
hbox.add_child(icon);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
@@ -139,7 +140,7 @@ class DriveMenu extends PanelMenu.Button {
|
||||
this._monitor.get_mounts().forEach(this._addMount.bind(this));
|
||||
|
||||
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
|
||||
this.menu.addAction(_("Open Files"), event => {
|
||||
this.menu.addAction(_('Open Files'), event => {
|
||||
let appSystem = Shell.AppSystem.get_default();
|
||||
let app = appSystem.lookup_app('org.gnome.Nautilus.desktop');
|
||||
app.activate_full(-1, event.get_time());
|
||||
|
||||
@@ -112,10 +112,11 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
overlap = false;
|
||||
for (let i = 0; i < rects.length; i++) {
|
||||
for (let j = 0; j < rects.length; j++) {
|
||||
if (i != j && rects[i].adjusted(-WINDOW_PLACEMENT_NATURAL_GAPS, -WINDOW_PLACEMENT_NATURAL_GAPS,
|
||||
WINDOW_PLACEMENT_NATURAL_GAPS, WINDOW_PLACEMENT_NATURAL_GAPS)
|
||||
.overlap(rects[j].adjusted(-WINDOW_PLACEMENT_NATURAL_GAPS, -WINDOW_PLACEMENT_NATURAL_GAPS,
|
||||
WINDOW_PLACEMENT_NATURAL_GAPS, WINDOW_PLACEMENT_NATURAL_GAPS))) {
|
||||
let adjustments = [-1, -1, 1, 1]
|
||||
.map(v => v *= WINDOW_PLACEMENT_NATURAL_GAPS);
|
||||
let iAdjusted = rects[i].adjusted(...adjustments);
|
||||
let jAdjusted = rects[j].adjusted(...adjustments);
|
||||
if (i != j && iAdjusted.overlap(jAdjusted)) {
|
||||
loopCounter++;
|
||||
overlap = true;
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init enable disable */
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GObject = imports.gi.GObject;
|
||||
const St = imports.gi.St;
|
||||
const { Clutter, GObject, St } = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
@@ -24,16 +22,20 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
super();
|
||||
this._info = info;
|
||||
|
||||
this._icon = new St.Icon({ gicon: info.icon,
|
||||
icon_size: PLACE_ICON_SIZE });
|
||||
this._icon = new St.Icon({
|
||||
gicon: info.icon,
|
||||
icon_size: PLACE_ICON_SIZE
|
||||
});
|
||||
this.actor.add_child(this._icon);
|
||||
|
||||
this._label = new St.Label({ text: info.name, x_expand: true });
|
||||
this.actor.add_child(this._label);
|
||||
|
||||
if (info.isRemovable()) {
|
||||
this._ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon ' });
|
||||
this._ejectIcon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon'
|
||||
});
|
||||
this._ejectButton = new St.Button({ child: this._ejectIcon });
|
||||
this._ejectButton.connect('clicked', info.eject.bind(info));
|
||||
this.actor.add_child(this._ejectButton);
|
||||
@@ -74,12 +76,14 @@ const SECTIONS = [
|
||||
let PlacesMenu = GObject.registerClass(
|
||||
class PlacesMenu extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _("Places"));
|
||||
super._init(0.0, _('Places'));
|
||||
|
||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
let label = new St.Label({ text: _("Places"),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
let label = new St.Label({
|
||||
text: _('Places'),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
});
|
||||
hbox.add_child(label);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
this.add_actor(hbox);
|
||||
|
||||
@@ -1,9 +1,6 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const Shell = imports.gi.Shell;
|
||||
const Mainloop = imports.mainloop;
|
||||
const { Gio, GLib, Shell } = imports.gi;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
@@ -41,50 +38,36 @@ class PlaceInfo {
|
||||
return false;
|
||||
}
|
||||
|
||||
_createLaunchCallback(launchContext, tryMount) {
|
||||
return (_ignored, result) => {
|
||||
try {
|
||||
Gio.AppInfo.launch_default_for_uri_finish(result);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
||||
let source = {
|
||||
get_icon: () => { return this.icon; }
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
this.file.mount_enclosing_volume(0, op.mountOp, null, (file, result) => {
|
||||
try {
|
||||
op.close();
|
||||
file.mount_enclosing_volume_finish(result);
|
||||
} catch (e) {
|
||||
if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
// e.g. user canceled the password dialog
|
||||
return;
|
||||
Main.notifyError(_("Failed to mount volume for “%s”").format(this.name), e.message);
|
||||
return;
|
||||
}
|
||||
|
||||
if (tryMount) {
|
||||
let callback = this._createLaunchCallback(launchContext, false);
|
||||
Gio.AppInfo.launch_default_for_uri_async(file.get_uri(),
|
||||
launchContext,
|
||||
null,
|
||||
callback);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
Main.notifyError(_("Failed to launch “%s”").format(this.name), e.message);
|
||||
}
|
||||
async _ensureMountAndLaunch(context, tryMount) {
|
||||
try {
|
||||
await this._launchDefaultForUri(this.file.get_uri(), context, null);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
||||
Main.notifyError(_('Failed to launch “%s”').format(this.name), e.message);
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
let source = {
|
||||
get_icon: () => this.icon
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
try {
|
||||
await this._mountEnclosingVolume(0, op.mountOp, null);
|
||||
|
||||
if (tryMount)
|
||||
this._ensureMountAndLaunch(context, false);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
Main.notifyError(_('Failed to mount volume for “%s”').format(this.name), e.message);
|
||||
} finally {
|
||||
op.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
launch(timestamp) {
|
||||
let launchContext = global.create_app_launch_context(timestamp, -1);
|
||||
let callback = this._createLaunchCallback(launchContext, true);
|
||||
Gio.AppInfo.launch_default_for_uri_async(this.file.get_uri(),
|
||||
launchContext,
|
||||
null,
|
||||
callback);
|
||||
this._ensureMountAndLaunch(launchContext, true);
|
||||
}
|
||||
|
||||
getIcon() {
|
||||
@@ -128,12 +111,38 @@ class PlaceInfo {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
_launchDefaultForUri(uri, context, cancel) {
|
||||
return new Promise((resolve, reject) => {
|
||||
Gio.AppInfo.launch_default_for_uri_async(uri, context, cancel, (o, res) => {
|
||||
try {
|
||||
Gio.AppInfo.launch_default_for_uri_finish(res);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
_mountEnclosingVolume(flags, mountOp, cancel) {
|
||||
return new Promise((resolve, reject) => {
|
||||
this.file.mount_enclosing_volume(flags, mountOp, cancel, (o, res) => {
|
||||
try {
|
||||
this.file.mount_enclosing_volume_finish(res);
|
||||
resolve();
|
||||
} catch (e) {
|
||||
reject(e);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Signals.addSignalMethods(PlaceInfo.prototype);
|
||||
|
||||
class RootInfo extends PlaceInfo {
|
||||
_init() {
|
||||
super._init('devices', Gio.File.new_for_path('/'), _("Computer"));
|
||||
super._init('devices', Gio.File.new_for_path('/'), _('Computer'));
|
||||
|
||||
let busName = 'org.freedesktop.hostname1';
|
||||
let objPath = '/org/freedesktop/hostname1';
|
||||
@@ -156,7 +165,7 @@ class RootInfo extends PlaceInfo {
|
||||
// GDBusProxy will emit a g-properties-changed when hostname1 goes down
|
||||
// ignore it
|
||||
if (proxy.g_name_owner) {
|
||||
this.name = proxy.PrettyHostname || _("Computer");
|
||||
this.name = proxy.PrettyHostname || _('Computer');
|
||||
this.emit('changed');
|
||||
}
|
||||
}
|
||||
@@ -186,17 +195,17 @@ class PlaceDeviceInfo extends PlaceInfo {
|
||||
}
|
||||
|
||||
eject() {
|
||||
let mountOp = new ShellMountOperation.ShellMountOperation(this._mount);
|
||||
let unmountArgs = [
|
||||
Gio.MountUnmountFlags.NONE,
|
||||
(new ShellMountOperation.ShellMountOperation(this._mount)).mountOp,
|
||||
null // Gio.Cancellable
|
||||
];
|
||||
|
||||
if (this._mount.can_eject())
|
||||
this._mount.eject_with_operation(Gio.MountUnmountFlags.NONE,
|
||||
mountOp.mountOp,
|
||||
null, // Gio.Cancellable
|
||||
this._mount.eject_with_operation(...unmountArgs,
|
||||
this._ejectFinish.bind(this));
|
||||
else
|
||||
this._mount.unmount_with_operation(Gio.MountUnmountFlags.NONE,
|
||||
mountOp.mountOp,
|
||||
null, // Gio.Cancellable
|
||||
this._mount.unmount_with_operation(...unmountArgs,
|
||||
this._unmountFinish.bind(this));
|
||||
}
|
||||
|
||||
@@ -217,7 +226,7 @@ class PlaceDeviceInfo extends PlaceInfo {
|
||||
}
|
||||
|
||||
_reportFailure(exception) {
|
||||
let msg = _("Ejecting drive “%s” failed:").format(this._mount.get_name());
|
||||
let msg = _('Ejecting drive “%s” failed:').format(this._mount.get_name());
|
||||
Main.notifyError(msg, exception.message);
|
||||
}
|
||||
}
|
||||
@@ -288,11 +297,12 @@ var PlacesManager = class {
|
||||
if (this._bookmarkTimeoutId > 0)
|
||||
return;
|
||||
/* Defensive event compression */
|
||||
this._bookmarkTimeoutId = Mainloop.timeout_add(100, () => {
|
||||
this._bookmarkTimeoutId = 0;
|
||||
this._reloadBookmarks();
|
||||
return false;
|
||||
});
|
||||
this._bookmarkTimeoutId = GLib.timeout_add(
|
||||
GLib.PRIORITY_DEFAULT, 100, () => {
|
||||
this._bookmarkTimeoutId = 0;
|
||||
this._reloadBookmarks();
|
||||
return false;
|
||||
});
|
||||
});
|
||||
|
||||
this._reloadBookmarks();
|
||||
@@ -300,9 +310,17 @@ var PlacesManager = class {
|
||||
}
|
||||
|
||||
_connectVolumeMonitorSignals() {
|
||||
const signals = ['volume-added', 'volume-removed', 'volume-changed',
|
||||
'mount-added', 'mount-removed', 'mount-changed',
|
||||
'drive-connected', 'drive-disconnected', 'drive-changed'];
|
||||
const signals = [
|
||||
'volume-added',
|
||||
'volume-removed',
|
||||
'volume-changed',
|
||||
'mount-added',
|
||||
'mount-removed',
|
||||
'mount-changed',
|
||||
'drive-connected',
|
||||
'drive-disconnected',
|
||||
'drive-changed'
|
||||
];
|
||||
|
||||
this._volumeMonitorSignals = [];
|
||||
let func = this._updateMounts.bind(this);
|
||||
@@ -323,18 +341,18 @@ var PlacesManager = class {
|
||||
if (this._monitor)
|
||||
this._monitor.cancel();
|
||||
if (this._bookmarkTimeoutId)
|
||||
Mainloop.source_remove(this._bookmarkTimeoutId);
|
||||
GLib.source_remove(this._bookmarkTimeoutId);
|
||||
}
|
||||
|
||||
_updateSpecials() {
|
||||
this._places.special.forEach(p => { p.destroy(); });
|
||||
this._places.special.forEach(p => p.destroy());
|
||||
this._places.special = [];
|
||||
|
||||
let homePath = GLib.get_home_dir();
|
||||
|
||||
this._places.special.push(new PlaceInfo('special',
|
||||
Gio.File.new_for_path(homePath),
|
||||
_("Home")));
|
||||
_('Home')));
|
||||
|
||||
let specials = [];
|
||||
let dirs = DEFAULT_DIRECTORIES.slice();
|
||||
@@ -369,16 +387,16 @@ var PlacesManager = class {
|
||||
let networkMounts = [];
|
||||
let networkVolumes = [];
|
||||
|
||||
this._places.devices.forEach(p => { p.destroy(); });
|
||||
this._places.devices.forEach(p => p.destroy());
|
||||
this._places.devices = [];
|
||||
this._places.network.forEach(p => { p.destroy(); });
|
||||
this._places.network.forEach(p => p.destroy());
|
||||
this._places.network = [];
|
||||
|
||||
/* Add standard places */
|
||||
this._places.devices.push(new RootInfo());
|
||||
this._places.network.push(new PlaceInfo('network',
|
||||
Gio.File.new_for_uri('network:///'),
|
||||
_("Browse Network"),
|
||||
_('Browse Network'),
|
||||
'network-workgroup-symbolic'));
|
||||
|
||||
/* first go through all connected drives */
|
||||
|
||||
@@ -19,9 +19,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const { Meta, Shell, St } = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Tweener = imports.ui.tweener;
|
||||
@@ -52,11 +50,12 @@ function flashMessage(message) {
|
||||
text.set_position(monitor.x + Math.floor(monitor.width / 2 - text.width / 2),
|
||||
monitor.y + Math.floor(monitor.height / 2 - text.height / 2));
|
||||
|
||||
Tweener.addTween(text,
|
||||
{ opacity: 0,
|
||||
time: MESSAGE_FADE_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: hideMessage });
|
||||
Tweener.addTween(text, {
|
||||
opacity: 0,
|
||||
time: MESSAGE_FADE_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: hideMessage
|
||||
});
|
||||
}
|
||||
|
||||
let SIZES = [
|
||||
@@ -74,8 +73,8 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
let backwards = (modifiers & Meta.VirtualModifier.SHIFT_MASK) != 0;
|
||||
|
||||
// Unmaximize first
|
||||
if (window.maximized_horizontally || window.maximizedVertically)
|
||||
window.unmaximize(Meta.MaximizeFlags.HORIZONTAL | Meta.MaximizeFlags.VERTICAL);
|
||||
if (window.get_maximized() != 0)
|
||||
window.unmaximize(Meta.MaximizeFlags.BOTH);
|
||||
|
||||
let workArea = window.get_work_area_current_monitor();
|
||||
let outerRect = window.get_frame_rect();
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
// Load shell theme from ~/.themes/name/gnome-shell
|
||||
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
||||
/* exported init */
|
||||
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const { Gio, GLib } = imports.gi;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const SETTINGS_KEY = 'name';
|
||||
@@ -31,37 +30,29 @@ class ThemeManager {
|
||||
}
|
||||
|
||||
_changeTheme() {
|
||||
let _stylesheet = null;
|
||||
let _themeName = this._settings.get_string(SETTINGS_KEY);
|
||||
let stylesheet = null;
|
||||
let themeName = this._settings.get_string(SETTINGS_KEY);
|
||||
|
||||
if (_themeName) {
|
||||
let _userCssStylesheet = GLib.build_filenamev([
|
||||
GLib.get_home_dir(), '.themes', _themeName, 'gnome-shell', 'gnome-shell.css'
|
||||
]);
|
||||
let file = Gio.file_new_for_path(_userCssStylesheet);
|
||||
if (file.query_exists(null))
|
||||
_stylesheet = _userCssStylesheet;
|
||||
else {
|
||||
let sysdirs = GLib.get_system_data_dirs();
|
||||
sysdirs.unshift(GLib.get_user_data_dir());
|
||||
for (let i = 0; i < sysdirs.length; i++) {
|
||||
_userCssStylesheet = GLib.build_filenamev([
|
||||
sysdirs[i], 'themes', _themeName, 'gnome-shell', 'gnome-shell.css'
|
||||
]);
|
||||
let file = Gio.file_new_for_path(_userCssStylesheet);
|
||||
if (file.query_exists(null)) {
|
||||
_stylesheet = _userCssStylesheet;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (themeName) {
|
||||
let stylesheetPaths = [
|
||||
[GLib.get_home_dir(), '.themes'],
|
||||
[GLib.get_user_data_dir(), 'themes'],
|
||||
...GLib.get_system_data_dirs().map(dir => [dir, 'themes'])
|
||||
].map(themeDir => GLib.build_filenamev([
|
||||
...themeDir, themeName, 'gnome-shell', 'gnome-shell.css'
|
||||
]));
|
||||
|
||||
stylesheet = stylesheetPaths.find(path => {
|
||||
let file = Gio.file_new_for_path(path);
|
||||
return file.query_exists(null);
|
||||
});
|
||||
}
|
||||
|
||||
if (_stylesheet)
|
||||
global.log(`loading user theme: ${_stylesheet}`);
|
||||
if (stylesheet)
|
||||
global.log(`loading user theme: ${stylesheet}`);
|
||||
else
|
||||
global.log('loading default theme (Adwaita)');
|
||||
Main.setThemeStylesheet(_stylesheet);
|
||||
Main.setThemeStylesheet(stylesheet);
|
||||
Main.loadTheme();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
/* exported init */
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Shell = imports.gi.Shell;
|
||||
const St = imports.gi.St;
|
||||
const { Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St } = imports.gi;
|
||||
|
||||
const DND = imports.ui.dnd;
|
||||
const Main = imports.ui.main;
|
||||
@@ -86,13 +79,10 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
|
||||
this._maximizeItem = new PopupMenu.PopupMenuItem('');
|
||||
this._maximizeItem.connect('activate', () => {
|
||||
if (this._metaWindow.maximized_vertically &&
|
||||
this._metaWindow.maximized_horizontally)
|
||||
this._metaWindow.unmaximize(Meta.MaximizeFlags.HORIZONTAL |
|
||||
Meta.MaximizeFlags.VERTICAL);
|
||||
if (this._metaWindow.get_maximized() == Meta.MaximizeFlags.BOTH)
|
||||
this._metaWindow.unmaximize(Meta.MaximizeFlags.BOTH);
|
||||
else
|
||||
this._metaWindow.maximize(Meta.MaximizeFlags.HORIZONTAL |
|
||||
Meta.MaximizeFlags.VERTICAL);
|
||||
this._metaWindow.maximize(Meta.MaximizeFlags.BOTH);
|
||||
});
|
||||
this.addMenuItem(this._maximizeItem);
|
||||
|
||||
@@ -104,7 +94,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
this._updateMaximizeItem.bind(this));
|
||||
this._updateMaximizeItem();
|
||||
|
||||
this._closeItem = new PopupMenu.PopupMenuItem(_("Close"));
|
||||
this._closeItem = new PopupMenu.PopupMenuItem(_('Close'));
|
||||
this._closeItem.connect('activate', () => {
|
||||
this._metaWindow.delete(global.get_current_time());
|
||||
});
|
||||
@@ -123,15 +113,15 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
}
|
||||
|
||||
_updateMinimizeItem() {
|
||||
this._minimizeItem.label.text = this._metaWindow.minimized ? _("Unminimize")
|
||||
: _("Minimize");
|
||||
this._minimizeItem.label.text = this._metaWindow.minimized ?
|
||||
_('Unminimize') : _('Minimize');
|
||||
}
|
||||
|
||||
_updateMaximizeItem() {
|
||||
let maximized = this._metaWindow.maximized_vertically &&
|
||||
this._metaWindow.maximized_horizontally;
|
||||
this._maximizeItem.label.text = maximized ? _("Unmaximize")
|
||||
: _("Maximize");
|
||||
this._maximizeItem.label.text = maximized ?
|
||||
_('Unmaximize') : _('Maximize');
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
@@ -144,8 +134,11 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
class WindowTitle {
|
||||
constructor(metaWindow) {
|
||||
this._metaWindow = metaWindow;
|
||||
this.actor = new St.BoxLayout({ style_class: 'window-button-box',
|
||||
x_expand: true, y_expand: true });
|
||||
this.actor = new St.BoxLayout({
|
||||
style_class: 'window-button-box',
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
});
|
||||
|
||||
this._icon = new St.Bin({ style_class: 'window-button-icon' });
|
||||
this.actor.add(this._icon);
|
||||
@@ -195,8 +188,10 @@ class WindowTitle {
|
||||
if (app)
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
else
|
||||
this._icon.child = new St.Icon({ icon_name: 'icon-missing',
|
||||
icon_size: ICON_TEXTURE_SIZE });
|
||||
this._icon.child = new St.Icon({
|
||||
icon_name: 'icon-missing',
|
||||
icon_size: ICON_TEXTURE_SIZE
|
||||
});
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
@@ -217,12 +212,13 @@ class BaseButton {
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitorIndex = monitorIndex;
|
||||
|
||||
this.actor = new St.Button({ style_class: 'window-button',
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
can_focus: true,
|
||||
button_mask: St.ButtonMask.ONE |
|
||||
St.ButtonMask.THREE });
|
||||
this.actor = new St.Button({
|
||||
style_class: 'window-button',
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
can_focus: true,
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE
|
||||
});
|
||||
this.actor._delegate = this;
|
||||
|
||||
this.actor.connect('allocation-changed',
|
||||
@@ -406,37 +402,35 @@ class AppContextMenu extends PopupMenu.PopupMenu {
|
||||
|
||||
this._appButton = appButton;
|
||||
|
||||
this._minimizeItem = new PopupMenu.PopupMenuItem(_("Minimize all"));
|
||||
this._minimizeItem = new PopupMenu.PopupMenuItem(_('Minimize all'));
|
||||
this._minimizeItem.connect('activate', () => {
|
||||
this._appButton.getWindowList().forEach(w => { w.minimize(); });
|
||||
this._appButton.getWindowList().forEach(w => w.minimize());
|
||||
});
|
||||
this.addMenuItem(this._minimizeItem);
|
||||
|
||||
this._unminimizeItem = new PopupMenu.PopupMenuItem(_("Unminimize all"));
|
||||
this._unminimizeItem = new PopupMenu.PopupMenuItem(_('Unminimize all'));
|
||||
this._unminimizeItem.connect('activate', () => {
|
||||
this._appButton.getWindowList().forEach(w => { w.unminimize(); });
|
||||
this._appButton.getWindowList().forEach(w => w.unminimize());
|
||||
});
|
||||
this.addMenuItem(this._unminimizeItem);
|
||||
|
||||
this._maximizeItem = new PopupMenu.PopupMenuItem(_("Maximize all"));
|
||||
this._maximizeItem = new PopupMenu.PopupMenuItem(_('Maximize all'));
|
||||
this._maximizeItem.connect('activate', () => {
|
||||
this._appButton.getWindowList().forEach(w => {
|
||||
w.maximize(Meta.MaximizeFlags.HORIZONTAL |
|
||||
Meta.MaximizeFlags.VERTICAL);
|
||||
w.maximize(Meta.MaximizeFlags.BOTH);
|
||||
});
|
||||
});
|
||||
this.addMenuItem(this._maximizeItem);
|
||||
|
||||
this._unmaximizeItem = new PopupMenu.PopupMenuItem(_("Unmaximize all"));
|
||||
this._unmaximizeItem = new PopupMenu.PopupMenuItem(_('Unmaximize all'));
|
||||
this._unmaximizeItem.connect('activate', () => {
|
||||
this._appButton.getWindowList().forEach(w => {
|
||||
w.unmaximize(Meta.MaximizeFlags.HORIZONTAL |
|
||||
Meta.MaximizeFlags.VERTICAL);
|
||||
w.unmaximize(Meta.MaximizeFlags.BOTH);
|
||||
});
|
||||
});
|
||||
this.addMenuItem(this._unmaximizeItem);
|
||||
|
||||
let item = new PopupMenu.PopupMenuItem(_("Close all"));
|
||||
let item = new PopupMenu.PopupMenuItem(_('Close all'));
|
||||
item.connect('activate', () => {
|
||||
this._appButton.getWindowList().forEach(w => {
|
||||
w.delete(global.get_current_time());
|
||||
@@ -450,10 +444,10 @@ class AppContextMenu extends PopupMenu.PopupMenu {
|
||||
this._minimizeItem.actor.visible = windows.some(w => !w.minimized);
|
||||
this._unminimizeItem.actor.visible = windows.some(w => w.minimized);
|
||||
this._maximizeItem.actor.visible = windows.some(w => {
|
||||
return !(w.maximized_horizontally && w.maximized_vertically);
|
||||
return w.get_maximized() != Meta.MaximizeFlags.BOTH;
|
||||
});
|
||||
this._unmaximizeItem.actor.visible = windows.some(w => {
|
||||
return w.maximized_horizontally && w.maximized_vertically;
|
||||
return w.get_maximized() == Meta.MaximizeFlags.BOTH;
|
||||
});
|
||||
|
||||
super.open(animate);
|
||||
@@ -470,21 +464,29 @@ class AppButton extends BaseButton {
|
||||
let stack = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||
this.actor.set_child(stack);
|
||||
|
||||
this._singleWindowTitle = new St.Bin({ x_expand: true,
|
||||
y_fill: true,
|
||||
x_align: St.Align.START });
|
||||
this._singleWindowTitle = new St.Bin({
|
||||
x_expand: true,
|
||||
y_fill: true,
|
||||
x_align: St.Align.START
|
||||
});
|
||||
stack.add_actor(this._singleWindowTitle);
|
||||
|
||||
this._multiWindowTitle = new St.BoxLayout({ style_class: 'window-button-box',
|
||||
x_expand: true });
|
||||
this._multiWindowTitle = new St.BoxLayout({
|
||||
style_class: 'window-button-box',
|
||||
x_expand: true
|
||||
});
|
||||
stack.add_actor(this._multiWindowTitle);
|
||||
|
||||
this._icon = new St.Bin({ style_class: 'window-button-icon',
|
||||
child: app.create_icon_texture(ICON_TEXTURE_SIZE) });
|
||||
this._icon = new St.Bin({
|
||||
style_class: 'window-button-icon',
|
||||
child: app.create_icon_texture(ICON_TEXTURE_SIZE)
|
||||
});
|
||||
this._multiWindowTitle.add(this._icon);
|
||||
|
||||
let label = new St.Label({ text: app.get_name(),
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
let label = new St.Label({
|
||||
text: app.get_name(),
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
});
|
||||
this._multiWindowTitle.add(label);
|
||||
this._multiWindowTitle.label_actor = label;
|
||||
|
||||
@@ -545,7 +547,7 @@ class AppButton extends BaseButton {
|
||||
let rect = this._getIconGeometry();
|
||||
|
||||
let windows = this.app.get_windows();
|
||||
windows.forEach(w => { w.set_icon_geometry(rect); });
|
||||
windows.forEach(w => w.set_icon_geometry(rect));
|
||||
}
|
||||
|
||||
getWindowList() {
|
||||
@@ -645,21 +647,26 @@ class AppButton extends BaseButton {
|
||||
let WorkspaceIndicator = GObject.registerClass(
|
||||
class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _("Workspace Indicator"), true);
|
||||
super._init(0.0, _('Workspace Indicator'), true);
|
||||
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
|
||||
this.add_style_class_name('window-list-workspace-indicator');
|
||||
this.menu.actor.remove_style_class_name('panel-menu');
|
||||
|
||||
let container = new St.Widget({ layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true, y_expand: true });
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
});
|
||||
this.add_actor(container);
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace().index();
|
||||
this.statusLabel = new St.Label({ text: this._getStatusText(),
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this.statusLabel = new St.Label({
|
||||
text: this._getStatusText(),
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
});
|
||||
container.add_actor(this.statusLabel);
|
||||
|
||||
this.workspacesItems = [];
|
||||
@@ -768,23 +775,27 @@ class WindowList {
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitor = monitor;
|
||||
|
||||
this.actor = new St.Widget({ name: 'panel',
|
||||
style_class: 'bottom-panel solid',
|
||||
reactive: true,
|
||||
track_hover: true,
|
||||
layout_manager: new Clutter.BinLayout() });
|
||||
this.actor = new St.Widget({
|
||||
name: 'panel',
|
||||
style_class: 'bottom-panel solid',
|
||||
reactive: true,
|
||||
track_hover: true,
|
||||
layout_manager: new Clutter.BinLayout()
|
||||
});
|
||||
this.actor.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
let box = new St.BoxLayout({ x_expand: true, y_expand: true });
|
||||
this.actor.add_actor(box);
|
||||
|
||||
let layout = new Clutter.BoxLayout({ homogeneous: true });
|
||||
this._windowList = new St.Widget({ style_class: 'window-list',
|
||||
reactive: true,
|
||||
layout_manager: layout,
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
x_expand: true,
|
||||
y_expand: true });
|
||||
this._windowList = new St.Widget({
|
||||
style_class: 'window-list',
|
||||
reactive: true,
|
||||
layout_manager: layout,
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
});
|
||||
box.add(this._windowList, { expand: true });
|
||||
|
||||
this._windowList.connect('style-changed', () => {
|
||||
@@ -812,10 +823,12 @@ class WindowList {
|
||||
this._menuManager = new PopupMenu.PopupMenuManager(this);
|
||||
this._menuManager.addMenu(this._workspaceIndicator.menu);
|
||||
|
||||
Main.layoutManager.addChrome(this.actor, { affectsStruts: true,
|
||||
trackFullscreen: true });
|
||||
Main.layoutManager.addChrome(this.actor, {
|
||||
affectsStruts: true,
|
||||
trackFullscreen: true
|
||||
});
|
||||
Main.uiGroup.set_child_above_sibling(this.actor, Main.layoutManager.panelBox);
|
||||
Main.ctrlAltTabManager.addGroup(this.actor, _("Window List"), 'start-here-symbolic');
|
||||
Main.ctrlAltTabManager.addGroup(this.actor, _('Window List'), 'start-here-symbolic');
|
||||
|
||||
this.actor.width = this._monitor.width;
|
||||
this.actor.connect('notify::height', this._updatePosition.bind(this));
|
||||
@@ -1212,7 +1225,7 @@ class Extension {
|
||||
}
|
||||
|
||||
_buildWindowLists() {
|
||||
this._windowLists.forEach(list => { list.actor.destroy(); });
|
||||
this._windowLists.forEach(list => list.actor.destroy());
|
||||
this._windowLists = [];
|
||||
|
||||
let showOnAllMonitors = this._settings.get_boolean('show-on-all-monitors');
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
@@ -24,16 +22,20 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
this.row_spacing = 6;
|
||||
this.orientation = Gtk.Orientation.VERTICAL;
|
||||
|
||||
let groupingLabel = '<b>%s</b>'.format(_("Window Grouping"));
|
||||
this.add(new Gtk.Label({ label: groupingLabel, use_markup: true,
|
||||
halign: Gtk.Align.START }));
|
||||
let groupingLabel = '<b>%s</b>'.format(_('Window Grouping'));
|
||||
this.add(new Gtk.Label({
|
||||
label: groupingLabel, use_markup: true,
|
||||
halign: Gtk.Align.START
|
||||
}));
|
||||
|
||||
let align = new Gtk.Alignment({ left_padding: 12 });
|
||||
this.add(align);
|
||||
|
||||
let grid = new Gtk.Grid({ orientation: Gtk.Orientation.VERTICAL,
|
||||
row_spacing: 6,
|
||||
column_spacing: 6 });
|
||||
let grid = new Gtk.Grid({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
row_spacing: 6,
|
||||
column_spacing: 6
|
||||
});
|
||||
align.add(grid);
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
@@ -42,9 +44,9 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
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")
|
||||
'never': _('Never group windows'),
|
||||
'auto': _('Group windows when space is limited'),
|
||||
'always': _('Always group windows')
|
||||
};
|
||||
|
||||
let radio = null;
|
||||
@@ -56,9 +58,11 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
continue;
|
||||
}
|
||||
|
||||
radio = new Gtk.RadioButton({ active: currentMode == mode,
|
||||
label: label,
|
||||
group: radio });
|
||||
radio = new Gtk.RadioButton({
|
||||
active: currentMode == mode,
|
||||
label: label,
|
||||
group: radio
|
||||
});
|
||||
grid.add(radio);
|
||||
|
||||
radio.connect('toggled', button => {
|
||||
@@ -67,8 +71,10 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
});
|
||||
}
|
||||
|
||||
let check = new Gtk.CheckButton({ label: _("Show on all monitors"),
|
||||
margin_top: 6 });
|
||||
let check = new Gtk.CheckButton({
|
||||
label: _('Show on all monitors'),
|
||||
margin_top: 6
|
||||
});
|
||||
this._settings.bind('show-on-all-monitors', check, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
this.add(check);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported enable disable */
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
const { Clutter, St } = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Workspace = imports.ui.workspace;
|
||||
@@ -230,8 +229,10 @@ function enable() {
|
||||
|
||||
workspaceInjections['_init'] = injectToFunction(Workspace.Workspace.prototype, '_init', function(metaWorkspace) {
|
||||
if (metaWorkspace && metaWorkspace.index() < 9) {
|
||||
createdActors.push(this._tip = new St.Label({ style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false }));
|
||||
createdActors.push(this._tip = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false
|
||||
}));
|
||||
|
||||
this.actor.add_actor(this._tip);
|
||||
let signalId = this.actor.connect('notify::scale-x', () => {
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init enable disable */
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Meta = imports.gi.Meta;
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const St = imports.gi.St;
|
||||
const { Clutter, Gio, GObject, Meta, St } = imports.gi;
|
||||
const PanelMenu = imports.ui.panelMenu;
|
||||
const PopupMenu = imports.ui.popupMenu;
|
||||
|
||||
@@ -22,13 +18,15 @@ const WORKSPACE_KEY = 'workspace-names';
|
||||
let WorkspaceIndicator = GObject.registerClass(
|
||||
class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _("Workspace Indicator"));
|
||||
super._init(0.0, _('Workspace Indicator'));
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this._currentWorkspace = workspaceManager.get_active_workspace().index();
|
||||
this.statusLabel = new St.Label({ y_align: Clutter.ActorAlign.CENTER,
|
||||
text: this._labelText() });
|
||||
this.statusLabel = new St.Label({
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
text: this._labelText()
|
||||
});
|
||||
|
||||
this.add_actor(this.statusLabel);
|
||||
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const Gio = imports.gi.Gio;
|
||||
const GObject = imports.gi.GObject;
|
||||
const Gtk = imports.gi.Gtk;
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
@@ -129,22 +127,28 @@ class WorkspaceSettingsWidget extends Gtk.Grid {
|
||||
this.margin = 12;
|
||||
this.orientation = Gtk.Orientation.VERTICAL;
|
||||
|
||||
this.add(new Gtk.Label({ label: '<b>%s</b>'.format(_("Workspace Names")),
|
||||
use_markup: true, margin_bottom: 6,
|
||||
hexpand: true, halign: Gtk.Align.START }));
|
||||
this.add(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Names')),
|
||||
use_markup: true,
|
||||
margin_bottom: 6,
|
||||
hexpand: true,
|
||||
halign: Gtk.Align.START
|
||||
}));
|
||||
|
||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
this.add(scrolled);
|
||||
|
||||
this._store = new WorkspaceNameModel();
|
||||
this._treeView = new Gtk.TreeView({ model: this._store,
|
||||
headers_visible: false,
|
||||
reorderable: true,
|
||||
hexpand: true,
|
||||
vexpand: true });
|
||||
this._treeView = new Gtk.TreeView({
|
||||
model: this._store,
|
||||
headers_visible: false,
|
||||
reorderable: true,
|
||||
hexpand: true,
|
||||
vexpand: true
|
||||
});
|
||||
|
||||
let column = new Gtk.TreeViewColumn({ title: _("Name") });
|
||||
let column = new Gtk.TreeViewColumn({ title: _('Name') });
|
||||
let renderer = new Gtk.CellRendererText({ editable: true });
|
||||
renderer.connect('edited', this._cellEdited.bind(this));
|
||||
column.pack_start(renderer, true);
|
||||
@@ -184,7 +188,7 @@ class WorkspaceSettingsWidget extends Gtk.Grid {
|
||||
let iter = this._store.append();
|
||||
let index = this._store.get_path(iter).get_indices()[0];
|
||||
|
||||
let label = _("Workspace %d").format(index + 1);
|
||||
let label = _('Workspace %d').format(index + 1);
|
||||
this._store.set(iter, [this._store.Columns.LABEL], [label]);
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"arrow-spacing": "error",
|
||||
"brace-style": "error",
|
||||
"comma-spacing": [
|
||||
"error",
|
||||
@@ -24,6 +25,9 @@
|
||||
"error",
|
||||
4,
|
||||
{
|
||||
"ignoredNodes": [
|
||||
"CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
|
||||
],
|
||||
"MemberExpression": "off"
|
||||
}
|
||||
],
|
||||
@@ -57,6 +61,19 @@
|
||||
"allow": ["!!"]
|
||||
}
|
||||
],
|
||||
"no-restricted-properties": [
|
||||
"error",
|
||||
{
|
||||
"object": "Lang",
|
||||
"property": "bind",
|
||||
"message": "Use arrow notation or Function.prototype.bind()"
|
||||
},
|
||||
{
|
||||
"object": "Lang",
|
||||
"property": "Class",
|
||||
"message": "Use ES6 classes"
|
||||
}
|
||||
],
|
||||
"nonblock-statement-body-position": [
|
||||
"error",
|
||||
"below"
|
||||
|
||||
@@ -5,16 +5,12 @@
|
||||
4,
|
||||
{
|
||||
"ignoredNodes": [
|
||||
"ConditionalExpression",
|
||||
"CallExpression > ArrowFunctionExpression",
|
||||
"CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
|
||||
],
|
||||
"CallExpression": { "arguments": "first" },
|
||||
"ArrayExpression": "first",
|
||||
"ObjectExpression": "first",
|
||||
"MemberExpression": "off"
|
||||
}
|
||||
],
|
||||
"quotes": "off"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
{
|
||||
"rules": {
|
||||
"arrow-spacing": "error",
|
||||
"brace-style": [
|
||||
"error",
|
||||
"1tbs",
|
||||
{
|
||||
"allowSingleLine": true
|
||||
}
|
||||
],
|
||||
"camelcase": [
|
||||
"error",
|
||||
{
|
||||
@@ -15,26 +7,6 @@
|
||||
"allow": ["^vfunc_"]
|
||||
}
|
||||
],
|
||||
"indent": [
|
||||
"error",
|
||||
4,
|
||||
{
|
||||
"ignoredNodes": [
|
||||
"ArrayExpression > ObjectExpression",
|
||||
"CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child",
|
||||
"ConditionalExpression"
|
||||
],
|
||||
"MemberExpression": "off"
|
||||
}
|
||||
],
|
||||
"key-spacing": [
|
||||
"error",
|
||||
{
|
||||
"mode": "minimum",
|
||||
"beforeColon": false,
|
||||
"afterColon": true
|
||||
}
|
||||
],
|
||||
"no-unused-vars": [
|
||||
"error",
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell-extensions',
|
||||
version: '3.31.90',
|
||||
version: '3.32.0',
|
||||
meson_version: '>= 0.44.0',
|
||||
license: 'GPL2+'
|
||||
)
|
||||
|
||||
342
po/eo.po
342
po/eo.po
@@ -3,107 +3,49 @@
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Ryan LORTIE <desrt@desrt.ca>, 2013.
|
||||
# Daniel PUENTES <blatberk@openmailbox.org>, 2015.
|
||||
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011, 2015.
|
||||
#
|
||||
# Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>, 2011-2019.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2015-01-31 08:37+0000\n"
|
||||
"PO-Revision-Date: 2015-02-01 16:13+0100\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-03-02 10:57+0000\n"
|
||||
"PO-Revision-Date: 2019-03-06 22:14+0200\n"
|
||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
||||
"Language-Team: Esperanto <gnome-l10n-eo@lists.launchpad.net>\n"
|
||||
"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
|
||||
"Language: eo\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"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:1
|
||||
#: ../data/gnome-classic.session.desktop.in.in.h:1
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME-klasika"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:2
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Ĉi seanco ensalutas vin GNOME-klasiken"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Kunligi modalan dialogon al la patra fenestro"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Ĉi ŝlosilo atutas la ŝlosilon en org.gnome.mutter kiam rulanta GNOME-ŝelon."
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Aranĝo de butonoj en la titolbreto"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
|
||||
#| msgid ""
|
||||
#| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Ĉi tiu ŝlosilo anstataŭas la ŝlosilon en org.gnome.desktop.wm.preferences "
|
||||
"kiam GNOME-ŝelo rulas."
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Aktivigi kahelan aranĝon kiam demetante fenestrojn sur ekranaj borderoj"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Laborspacoj nur sur la ĉefa ekrano"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "En musa reĝimo, prokrasti ŝanĝi fokuson ĝis la musmontrilo haltas"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Miniaturo nur"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Aplikaĵa piktogramo nur"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Miniaturo kaj aplikaĵo piktogramo"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Prezenti fenestron kiel"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Montri nur fenestrojn en la aktuala laborspaco"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:39
|
||||
#: extensions/apps-menu/extension.js:29
|
||||
msgid "Activities Overview"
|
||||
msgstr "Aktivecoj-Superrigardon"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:114
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Plej ŝatataj"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:283
|
||||
#: extensions/apps-menu/extension.js:407
|
||||
msgid "Applications"
|
||||
msgstr "Aplikaĵoj"
|
||||
|
||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Aplikaĵa kaj laborspaca listo"
|
||||
|
||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
|
||||
#: 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"
|
||||
@@ -111,76 +53,49 @@ msgstr ""
|
||||
"Listo de ĉenoj, ĉiu enhavas aplikaĵan identigilon ('desktop' dosiernomo), "
|
||||
"sevkita per dupunkto kaj la laborspaca numero"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:60
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplikaĵo"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:69
|
||||
#: ../extensions/auto-move-windows/prefs.js:127
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Laborspaco"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:85
|
||||
#| msgid "Add rule"
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Aldoni regulon"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:106
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Krei novan kongruantan regulon"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:111
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Aldoni"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:106
|
||||
msgid "Ejecting drive '%s' failed:"
|
||||
msgstr "Elĵeto de volumo '%s' malsukcesis:"
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:100
|
||||
#: extensions/places-menu/placeDisplay.js:217
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Elĵeto de volumo “%s” malsukcesis:"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:116
|
||||
msgid "Removable devices"
|
||||
msgstr "Demeteblaj aparatoj"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:151
|
||||
msgid "Open File"
|
||||
msgstr "Malfermi dosieron"
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
msgid "Open Files"
|
||||
msgstr "Malfermi dosierojn"
|
||||
|
||||
#: ../extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Saluton, mondo!"
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Alterna saluta teksto."
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Se ne malplena, enhavas la tekston kiu estos montrita kiam alklakante sur la "
|
||||
"panelo."
|
||||
|
||||
#: ../extensions/example/prefs.js:30
|
||||
#| msgid "Message:"
|
||||
msgid "Message"
|
||||
msgstr "Mesaĝo"
|
||||
|
||||
#: ../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 it's possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Ekzemplo klopodas montri kial krei bone-kondutantan etendojn por la ŝelo kaj "
|
||||
"sekve ne havas multan funkcion.\n"
|
||||
"Tamen, eblas agordi la salutan mesagon."
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Uzi pli da ekrano por fenetroj"
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
|
||||
#: 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. "
|
||||
@@ -190,11 +105,11 @@ msgstr ""
|
||||
"aspekta rilatumo, kaj kunfandi ilin plu por redukti la limigan keston. Ĉi "
|
||||
"agordo uzitas nur kun la natura lokada strategio."
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Meti fenestrajn apudskribojn supre"
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
|
||||
#: 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 "
|
||||
@@ -204,154 +119,241 @@ msgstr ""
|
||||
"estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi "
|
||||
"la ŝelon."
|
||||
|
||||
#: ../extensions/places-menu/extension.js:78
|
||||
#: ../extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:79
|
||||
#: extensions/places-menu/extension.js:83
|
||||
msgid "Places"
|
||||
msgstr "Lokoj"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:57
|
||||
msgid "Failed to launch \"%s\""
|
||||
msgstr "Malsukceis lanĉi \"%s\""
|
||||
#: extensions/places-menu/placeDisplay.js:59
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr ""
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:99
|
||||
#: ../extensions/places-menu/placeDisplay.js:122
|
||||
#: extensions/places-menu/placeDisplay.js:72
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Malsukcesis lanĉi “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:156
|
||||
msgid "Computer"
|
||||
msgstr "Komputilo"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:200
|
||||
#: extensions/places-menu/placeDisplay.js:343
|
||||
msgid "Home"
|
||||
msgstr "Domo"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:287
|
||||
#: extensions/places-menu/placeDisplay.js:387
|
||||
msgid "Browse Network"
|
||||
msgstr "Foliumi reton"
|
||||
|
||||
#: ../extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in.h:1
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Cikle montri ekrankopiajn grandojn"
|
||||
|
||||
#: ../extensions/systemMonitor/extension.js:214
|
||||
msgid "CPU"
|
||||
msgstr "Ĉefprocesoro"
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#, fuzzy
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Cikle montri ekrankopiajn grandojn"
|
||||
|
||||
#: ../extensions/systemMonitor/extension.js:267
|
||||
msgid "Memory"
|
||||
msgstr "Memoro"
|
||||
|
||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "Etosnomo"
|
||||
|
||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
|
||||
#: 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 "La nomo de la etoso, malfermigi de ~/.themes/name/gnome-shell"
|
||||
|
||||
#: ../extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:100
|
||||
msgid "Close"
|
||||
msgstr "Malfermi"
|
||||
|
||||
#: ../extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:120
|
||||
msgid "Unminimize"
|
||||
msgstr "Neplejetigi"
|
||||
|
||||
#: ../extensions/window-list/extension.js:121
|
||||
#: extensions/window-list/extension.js:120
|
||||
msgid "Minimize"
|
||||
msgstr "Plejetigi"
|
||||
|
||||
#: ../extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:127
|
||||
msgid "Unmaximize"
|
||||
msgstr "Nemaksimumigi"
|
||||
|
||||
#: ../extensions/window-list/extension.js:128
|
||||
#: extensions/window-list/extension.js:127
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimumigi"
|
||||
|
||||
#: ../extensions/window-list/extension.js:390
|
||||
#: extensions/window-list/extension.js:408
|
||||
msgid "Minimize all"
|
||||
msgstr "Plejetigi ĉiujn"
|
||||
|
||||
#: ../extensions/window-list/extension.js:398
|
||||
#: extensions/window-list/extension.js:414
|
||||
msgid "Unminimize all"
|
||||
msgstr "Neplejetigi ĉiujn"
|
||||
|
||||
#: ../extensions/window-list/extension.js:406
|
||||
#: extensions/window-list/extension.js:420
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimumigi ĉiujn"
|
||||
|
||||
#: ../extensions/window-list/extension.js:415
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Nemaksimumigi ĉiujn"
|
||||
|
||||
#: ../extensions/window-list/extension.js:424
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Close all"
|
||||
msgstr "Fermi ĉiujn"
|
||||
|
||||
#: ../extensions/window-list/extension.js:706
|
||||
#: ../extensions/workspace-indicator/extension.js:30
|
||||
#: extensions/window-list/extension.js:655
|
||||
#: extensions/workspace-indicator/extension.js:21
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Laborspaco Indikilo"
|
||||
|
||||
#: ../extensions/window-list/extension.js:870
|
||||
#: extensions/window-list/extension.js:836
|
||||
msgid "Window List"
|
||||
msgstr "Fenestra listo"
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Kiam grupigi fenestrojn"
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:2
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#, fuzzy
|
||||
#| 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\"."
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Decidas kiam grupi fenestrojn de la sama aplikaĵo en la fenestra listo. "
|
||||
"Validaj valoroj estas \"never\" (neniam), \"auto\" (aŭtomate) kaj \"always"
|
||||
"\" (ĉiam)."
|
||||
"Validaj valoroj estas “never” (neniam), “auto” (aŭtomate) kaj “always” "
|
||||
"(ĉiam)."
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:3
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Montri la fenestroliston en ĉiuj ekranoj"
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:4
|
||||
#: 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 ""
|
||||
"Ĉu montri la fenestroliston en ĉiuj konektitaj ekranoj aŭ nur en la ĉefa."
|
||||
|
||||
#: ../extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Fenestra grupigo"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Neniam grupigi fenestrojn"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Grupigi fenestrojn kiam spaco limitas"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Ĉiam grupigi fenestrojn"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Montri en ĉiuj ekranoj"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:141
|
||||
#| msgid "Workspace names:"
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Laborspacaj nomoj"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:157
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nomo"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Laborspaco %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Kunligi modalan dialogon al la patra fenestro"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Ĉi ŝlosilo atutas la ŝlosilon en org.gnome.mutter kiam rulanta GNOME-"
|
||||
#~ "ŝelon."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Aranĝo de butonoj en la titolbreto"
|
||||
|
||||
#~| msgid ""
|
||||
#~| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Ĉi tiu ŝlosilo anstataŭas la ŝlosilon en org.gnome.desktop.wm.preferences "
|
||||
#~ "kiam GNOME-ŝelo rulas."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Aktivigi kahelan aranĝon kiam demetante fenestrojn sur ekranaj borderoj"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Laborspacoj nur sur la ĉefa ekrano"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "En musa reĝimo, prokrasti ŝanĝi fokuson ĝis la musmontrilo haltas"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Miniaturo nur"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Aplikaĵa piktogramo nur"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Miniaturo kaj aplikaĵo piktogramo"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Prezenti fenestron kiel"
|
||||
|
||||
#~ msgid "Show only windows in the current workspace"
|
||||
#~ msgstr "Montri nur fenestrojn en la aktuala laborspaco"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Saluton, mondo!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Alterna saluta teksto."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Se ne malplena, enhavas la tekston kiu estos montrita kiam alklakante sur "
|
||||
#~ "la panelo."
|
||||
|
||||
#~| msgid "Message:"
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mesaĝo"
|
||||
|
||||
#~ 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 it's possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Ekzemplo klopodas montri kial krei bone-kondutantan etendojn por la ŝelo "
|
||||
#~ "kaj sekve ne havas multan funkcion.\n"
|
||||
#~ "Tamen, eblas agordi la salutan mesagon."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "Ĉefprocesoro"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Memoro"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME-ŝelo-klasika"
|
||||
|
||||
|
||||
261
po/et.po
261
po/et.po
@@ -6,85 +6,44 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2014-08-06 07:34+0000\n"
|
||||
"PO-Revision-Date: 2014-08-06 21:43+0300\n"
|
||||
"Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-03-02 10:57+0000\n"
|
||||
"PO-Revision-Date: 2019-03-10 19:24+0200\n"
|
||||
"Last-Translator: Mart Raudsepp <leio@gentoo.org>\n"
|
||||
"Language-Team: Estonian <gnome-et-list@gnome.org>\n"
|
||||
"Language: et\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"
|
||||
"X-Generator: Poedit 1.5.4\n"
|
||||
"X-Generator: Poedit 2.2\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "Klassikaline GNOME"
|
||||
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "See on klassikalise GNOME seanss"
|
||||
|
||||
msgid "GNOME Shell Classic"
|
||||
msgstr "GNOME klassikaline kest"
|
||||
|
||||
msgid "Window management and application launching"
|
||||
msgstr "Akende haldus ja rakenduste käivitamine"
|
||||
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Modaalsed dialoogid on vanemakna küljes"
|
||||
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"See võti on tähtsam võtmest org.gnome.mutter GNOME Shelli käivitamisel."
|
||||
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Nuppude järjestus tiitliribal"
|
||||
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"See võti on tähtsam võtmest org.gnome.desktop.wm.preferences GNOME Shelli "
|
||||
"käivitamisel."
|
||||
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Akna automaatpaigutus on lubatud, kui aken lohistatakse ekraani serva"
|
||||
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Tööalad on ainult peamisel ekraanil"
|
||||
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Hiire all asuv aken saab fookuse alles hiire peatumisel"
|
||||
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Ainult pisipilt"
|
||||
|
||||
msgid "Application icon only"
|
||||
msgstr "Ainult rakenduse ikoon"
|
||||
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Pisipilt ja rakenduse ikoon"
|
||||
|
||||
msgid "Present windows as"
|
||||
msgstr "Aknaid esitletakse kui"
|
||||
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Näidatakse ainult käesoleva tööala aknaid"
|
||||
|
||||
#: extensions/apps-menu/extension.js:29
|
||||
msgid "Activities Overview"
|
||||
msgstr "Tegevuste ülevaade"
|
||||
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Lemmikud"
|
||||
|
||||
#: extensions/apps-menu/extension.js:407
|
||||
msgid "Applications"
|
||||
msgstr "Rakendused"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Rakenduste ja tööalade loend"
|
||||
|
||||
#: 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"
|
||||
@@ -92,57 +51,47 @@ msgstr ""
|
||||
"Rakenduste loend, sõnedest, mis sisaldavad rakenduse id-d (desktop faili "
|
||||
"nimi), koolonit ja tööala numbrit."
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Rakendus"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Tööala"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Lisa reegel"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Uue reegli loomine"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Lisa"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:100
|
||||
#: extensions/places-menu/placeDisplay.js:217
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive '%s' failed:"
|
||||
msgstr "Seadme '%s' väljastamine nurjus:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Seadme „%s“ väljastamine nurjus:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:116
|
||||
msgid "Removable devices"
|
||||
msgstr "Eemaldatavad seadmed"
|
||||
|
||||
msgid "Open File"
|
||||
msgstr "Faili avamine"
|
||||
|
||||
msgid "Hello, world!"
|
||||
msgstr "Tere, maailm!"
|
||||
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Alternatiivne tervitustekst."
|
||||
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr "Kui see pole tühi, näidatakse seda teksti paneelile klõpsates."
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Sõnum"
|
||||
|
||||
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 it's possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Näide hästi käituva Shelli laienduse koostamise kohta, see ise väga kasulik "
|
||||
"ei ole.\n"
|
||||
"See võimaldab muuta kõigest tervitusteksti."
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
msgid "Open Files"
|
||||
msgstr "Failide avamine"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Rohkem pinda akende jaoks"
|
||||
|
||||
#: 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. "
|
||||
@@ -152,9 +101,11 @@ msgstr ""
|
||||
"ja paigutatakse aknad üksteisele lähemale. See säte kehtib ainult koos "
|
||||
"akende loomuliku paigutusega."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Akende pealkirjad on üleval"
|
||||
|
||||
#: 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 "
|
||||
@@ -164,99 +115,229 @@ msgstr ""
|
||||
"Shelli vaikimisi viisi, alla asetamist. Selle sätte muutmine mõjub alles "
|
||||
"pärast Shelli taaskäivitust."
|
||||
|
||||
#: extensions/places-menu/extension.js:79
|
||||
#: extensions/places-menu/extension.js:83
|
||||
msgid "Places"
|
||||
msgstr "Asukohad"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:59
|
||||
#, javascript-format
|
||||
msgid "Failed to launch \"%s\""
|
||||
msgstr "\"%s\" käivitamine nurjus"
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:72
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "„%s“ käivitamine nurjus"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:156
|
||||
msgid "Computer"
|
||||
msgstr "Arvuti"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:343
|
||||
msgid "Home"
|
||||
msgstr "Kodu"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:387
|
||||
msgid "Browse Network"
|
||||
msgstr "Võrgu sirvimine"
|
||||
|
||||
msgid "CPU"
|
||||
msgstr "Protsessor"
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr ""
|
||||
|
||||
msgid "Memory"
|
||||
msgstr "Mälu"
|
||||
#: 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 "Kujunduse nimi"
|
||||
|
||||
#: 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 "Kujunduse nimi, mis laaditakse asukohast ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:100
|
||||
msgid "Close"
|
||||
msgstr "Sulge"
|
||||
|
||||
#: extensions/window-list/extension.js:120
|
||||
msgid "Unminimize"
|
||||
msgstr "Taasta"
|
||||
|
||||
#: extensions/window-list/extension.js:120
|
||||
msgid "Minimize"
|
||||
msgstr "Minimeeri"
|
||||
|
||||
#: extensions/window-list/extension.js:127
|
||||
msgid "Unmaximize"
|
||||
msgstr "Taasta suurus"
|
||||
|
||||
#: extensions/window-list/extension.js:127
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimeeri"
|
||||
|
||||
#: extensions/window-list/extension.js:408
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimeeri kõik"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
msgid "Unminimize all"
|
||||
msgstr "Taasta kõik"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimeeri kõik"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Taasta kõigi suurus"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Close all"
|
||||
msgstr "Sulge kõik"
|
||||
|
||||
#: extensions/window-list/extension.js:655
|
||||
#: extensions/workspace-indicator/extension.js:21
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Tööala näitaja"
|
||||
|
||||
#: extensions/window-list/extension.js:836
|
||||
msgid "Window List"
|
||||
msgstr "Akende loend"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Millal aknaid grupeeritakse"
|
||||
|
||||
#: 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\"."
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Määrab, millal akende loendis sama rakenduse aknaid grupeeritakse. "
|
||||
"Võimalikud väärtused on \"never\" (mitte kunagi), \"auto\" (automaatselt) ja "
|
||||
"\"always\" (alati)."
|
||||
"Võimalikud väärtused on „never“ (mitte kunagi), „auto“ (automaatselt) ja "
|
||||
"„always“ (alati)."
|
||||
|
||||
#: 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:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Akende grupeerimine"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Aknaid ei grupeerita kunagi"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Aknaid grupeeritakse, kui ruumi on vähe"
|
||||
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Aknaid grupeeritakse alati"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show on all monitors"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Tööalade nimed"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Tööala %d"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME klassikaline kest"
|
||||
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "Akende haldus ja rakenduste käivitamine"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Modaalsed dialoogid on vanemakna küljes"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "See võti on tähtsam võtmest org.gnome.mutter GNOME Shelli käivitamisel."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Nuppude järjestus tiitliribal"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "See võti on tähtsam võtmest org.gnome.desktop.wm.preferences GNOME Shelli "
|
||||
#~ "käivitamisel."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Akna automaatpaigutus on lubatud, kui aken lohistatakse ekraani serva"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Tööalad on ainult peamisel ekraanil"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "Hiire all asuv aken saab fookuse alles hiire peatumisel"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Ainult pisipilt"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Ainult rakenduse ikoon"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Pisipilt ja rakenduse ikoon"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Aknaid esitletakse kui"
|
||||
|
||||
#~ msgid "Show only windows in the current workspace"
|
||||
#~ msgstr "Näidatakse ainult käesoleva tööala aknaid"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Tere, maailm!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Alternatiivne tervitustekst."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr "Kui see pole tühi, näidatakse seda teksti paneelile klõpsates."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Sõnum"
|
||||
|
||||
#~ 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 it's possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Näide hästi käituva Shelli laienduse koostamise kohta, see ise väga "
|
||||
#~ "kasulik ei ole.\n"
|
||||
#~ "See võimaldab muuta kõigest tervitusteksti."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "Protsessor"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Mälu"
|
||||
|
||||
253
po/gd.po
253
po/gd.po
@@ -5,9 +5,9 @@
|
||||
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: 2017-12-18 18:40+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2018-11-13 00:23+0000\n"
|
||||
"PO-Revision-Date: 2018-02-26 12:52+0100\n"
|
||||
"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
|
||||
"Language-Team: Fòram na Gàidhlig\n"
|
||||
@@ -29,126 +29,81 @@ msgstr "GNOME clasaigeach"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Clàraidh an seisean seo a-steach gu GNOME clasaigeach thu"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Ceangail còmhradh mòdach ris an uinneag-pàraint"
|
||||
|
||||
#: 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 ""
|
||||
"Tar-àithnidh an iuchair seo an iuchair ann an org.gnome.mutter nuair a thèid "
|
||||
"Slige GNOME a ruith."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Seòrsachadh nam putanan air a’ bhàr-tiotail"
|
||||
|
||||
#: 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 ""
|
||||
"Tar-àithnidh an iuchair seo an iuchair ann an org.gnome.desktop.wm."
|
||||
"preferences nuair a thèid Slige GNOME a ruith."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Cuir leacadh nan oirean an comas nuair a thèid uinneagan a leigeil às aig "
|
||||
"oir na sgrìn"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Rumannan-obrach air a’ phrìomh-sgrìn a-mhàin"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Cuir dàil air atharraichean an fòcais ann am modh luchaige gus an sguir an "
|
||||
"tomhaire air gluasad"
|
||||
#: extensions/alternate-tab/prefs.js:19
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Dealbhag a-mhàin"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Dealbhagan a-mhàin"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Ìomhaigheag na h-aplacaid a-mhàin"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Dealbhag is ìomhaigheag na h-aplacaid"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
#: extensions/alternate-tab/prefs.js:34
|
||||
msgid "Present windows as"
|
||||
msgstr "Seall uinneagan mar"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
#: extensions/alternate-tab/prefs.js:65
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Na seall ach na h-uinneagan san rum-obrach làithreach"
|
||||
msgstr "Na seall ach na h-uinneagan san rùm-obrach làithreach"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
#: extensions/apps-menu/extension.js:37
|
||||
msgid "Activities Overview"
|
||||
msgstr "Foir-shealladh nan gnìomhachdan"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:130
|
||||
msgid "Favorites"
|
||||
msgstr "Annsachdan"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:417
|
||||
msgid "Applications"
|
||||
msgstr "Aplacaidean"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "Ìomhaigheag na h-aplacaid is liosta nan rumannan-obrach"
|
||||
msgstr "Liosta nan aplacaidean is rumannan-obrach"
|
||||
|
||||
#: 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 ""
|
||||
"Liosta dhe shreangan le id aplacaid (ainm faidhle desktop) aig gach tè air a "
|
||||
"leantainn le còilean is àireamh an ruim-obrach"
|
||||
msgstr "Liosta dhe shreangan le id aplacaid (ainm faidhle desktop) aig gach tè ’ga leantainn le còilean is àireamh an ruim-obrach"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:56
|
||||
#: extensions/auto-move-windows/prefs.js:53
|
||||
msgid "Application"
|
||||
msgstr "Aplacaid"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:65
|
||||
#: extensions/auto-move-windows/prefs.js:123
|
||||
#: extensions/auto-move-windows/prefs.js:62
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Workspace"
|
||||
msgstr "Rum-obrach"
|
||||
msgstr "Rùm-obrach"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:81
|
||||
#: extensions/auto-move-windows/prefs.js:78
|
||||
msgid "Add Rule"
|
||||
msgstr "Cuir riaghailt ris"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:102
|
||||
#: extensions/auto-move-windows/prefs.js:98
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Cruthaich riaghailt maidsidh ùr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:107
|
||||
#: extensions/auto-move-windows/prefs.js:103
|
||||
msgid "Add"
|
||||
msgstr "Cuir ris"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:103
|
||||
#: extensions/places-menu/placeDisplay.js:225
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Cha deach leinn draibh “%s” a ghluasad a-mach:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
msgid "Removable devices"
|
||||
msgstr "Draibhean so-ghiùlain"
|
||||
msgstr "Uidheaman so-ghiùlain"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
msgid "Open Files"
|
||||
msgstr "Fosgail faidhlichean"
|
||||
|
||||
@@ -164,86 +119,68 @@ msgstr "Teacsa fàilteachaidh eile."
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Mur eil seo falamh, tha an teacsa ’na bhroinn a thèid a shealltainn le "
|
||||
"briogadh air a’ phanail."
|
||||
msgstr "Mur eil seo falamh, tha an teacsa ’na bhroinn a thèid a shealltainn le briogadh air a’ phanail."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
#: extensions/example/prefs.js:27
|
||||
msgid "Message"
|
||||
msgstr "Teachdaireachd"
|
||||
|
||||
#. 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 it's possible to customize the greeting message."
|
||||
#: extensions/example/prefs.js:40
|
||||
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 it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Tha am ball-eisimpleir airson sealltainn dhut mar a thogas tu leudachain le "
|
||||
"deagh-ghiùlan airson na Slige agus mar sin cha dèan e fhèin mòran.\n"
|
||||
"’S urrainn dhut an teachdaireachd fàilteachaidh a ghnàthachadh co-dhiù."
|
||||
msgstr "Tha am ball-eisimpleir airson sealltainn dhut mar a thogas tu leudachain le deagh-ghiùlan airson na Slige agus mar sin cha dèan e fhèin mòran.\n’S urrainn dhut an teachdaireachd fàilteachaidh a ghnàthachadh co-dhiù."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Cleachd cuid nas motha dhen sgrìn airson uinneagan"
|
||||
msgstr "Cleachd barrachd dhen sgrìn airson uinneagan"
|
||||
|
||||
#: 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 ""
|
||||
"Feuch barrachd rum air an sgrìn a chleachdadh nuair a thèid dealbhagan nan "
|
||||
"uinneagan a chur ann le gleusadh a-rèir co-mheas deilbh na sgrìn agus le "
|
||||
"barrachd co-dhaingneachaidh ach am bi am bogsa-iadhaidh nas lugha. Cha bhi "
|
||||
"an roghainn seo an sàs ach leis an ro-innleachd suidheachaidh nàdarra."
|
||||
msgstr "Feuch barrachd rùm air an sgrìn a chleachdadh nuair a thèid dealbhagan nan uinneagan a chur ann le gleusadh a-rèir co-mheas deilbh na sgrìn agus le barrachd co-dhaingneachaidh ach am bi am bogsa-iadhaidh nas lugha. Cha bhi an roghainn seo an sàs ach leis an ro-innleachd suidheachaidh nàdarra."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "Cuir caipseanan nan uinneagan air a’ bharr"
|
||||
msgstr "Cuir caipseanan nan uinneagan air a’ bhàrr"
|
||||
|
||||
#: 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 ""
|
||||
"Mas e true a th’ ann, thèid caipseanan nan uinneagan a chur ri barr nan "
|
||||
"dealbhagan, a’ tar-àithneadh bun-roghainn na slige a chuireas aig a’ bhonn "
|
||||
"iad. Ma dh’atharraicheas tu an roghainn seo, feumaidh tu an t-slige a "
|
||||
"thòiseachadh às ùr gus an dèid a cur an sàs."
|
||||
msgstr "Mas e true a th’ ann, thèid caipseanan nan uinneagan a chur ri bàrr nan dealbhagan, a’ tar-àithneadh bun-roghainn na slige a chuireas aig a’ bhonn iad. Ma dh’atharraicheas tu an roghainn seo, feumaidh tu an t-slige ath-thòiseachadh gus an dèid a cur an sàs."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:79
|
||||
#: extensions/places-menu/extension.js:82
|
||||
msgid "Places"
|
||||
msgstr "Ionadan"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#: extensions/places-menu/placeDisplay.js:67
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Cha b’ urrainn dhuinn an t-iom-dhraibh airson “%s” a mhunntachadh"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:80
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Cha b’ urrainn dhuinn “%s” a chur gu dol"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:141
|
||||
#: extensions/places-menu/placeDisplay.js:164
|
||||
msgid "Computer"
|
||||
msgstr "Coimpiutair"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:342
|
||||
msgid "Home"
|
||||
msgstr "Dachaigh"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:386
|
||||
msgid "Browse Network"
|
||||
msgstr "Brabhsaich an lìonra"
|
||||
|
||||
@@ -252,7 +189,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Cuartaich meudan nan glacaidhean-sgrìn"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Cuartaich meudan nan glacaidhean-sgrìn gu contrarra"
|
||||
|
||||
@@ -264,115 +200,143 @@ msgstr "Ainm an ùrlair"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Ainm an ùrlair a thèid a luchdadh o ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:106
|
||||
msgid "Close"
|
||||
msgstr "Dùin"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unminimize"
|
||||
msgstr "Neo-fhìor-lùghdaich"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Minimize"
|
||||
msgstr "Fìor-lùghdaich"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:132
|
||||
msgid "Unmaximize"
|
||||
msgstr "Neo-làn-mheudaich"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:133
|
||||
msgid "Maximize"
|
||||
msgstr "Làn-mheudaich"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:408
|
||||
msgid "Minimize all"
|
||||
msgstr "Fìor-lùghdaich na h-uile"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:414
|
||||
msgid "Unminimize all"
|
||||
msgstr "Neo-fhìor-lùghdaich na h-uile"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:420
|
||||
msgid "Maximize all"
|
||||
msgstr "Làn-mheudaich na h-uile"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Neo-làn-mheudaich na h-uile"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Close all"
|
||||
msgstr "Dùin na h-uile"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
#: extensions/window-list/extension.js:646
|
||||
#: extensions/workspace-indicator/extension.js:26
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Taisbeanair ruim-obrach"
|
||||
msgstr "Taisbeanair rùim-obrach"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:816
|
||||
msgid "Window List"
|
||||
msgstr "Liosta nan uinneagan"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "Cuin a thèid na h-uinneagan a bhuidhneachadh"
|
||||
msgstr "Cuin a thèid uinneagan a bhuidhneachadh"
|
||||
|
||||
#: 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”."
|
||||
msgstr ""
|
||||
"Mìnichidh seo cuin a thèid uinneagan aig an aon aplacaid a bhuidhneachadh "
|
||||
"air liosta nan uinneagan. ’S e “never”, “auto” agus “always” a tha sna "
|
||||
"roghainnean dligheach."
|
||||
msgstr "Taghaidh seo cuin a thèid na h-uinneagan aig aplacaid a bhuidhneachadh air liosta nan uinneagan. ’S e “never”, “auto” agus “always” a tha sna roghainnean dligheach."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Seall liosta nan uinneagan air a h-uile sgrìn"
|
||||
msgstr "Seall liosta nan uinneagan air a h-uile monatair"
|
||||
|
||||
#: 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 ""
|
||||
"Co-dhiù an dèid liosta nan uinneagan a shealltainn air gach sgrìn "
|
||||
"cheangailte no air a’ phrìomh-thè a-mhàin."
|
||||
msgstr "Co-dhiù an dèid liosta nan uinneagan a shealltainn air gach monatair ceangailte no air a’ phrìomh-fhear a-mhàin."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:28
|
||||
msgid "Window Grouping"
|
||||
msgstr "Buidhneachadh nan uinneagan"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:46
|
||||
msgid "Never group windows"
|
||||
msgstr "Na buidhnich na h-uinneagan idir"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Buidhnich na h-uinneagan nuair a bhios an rum gann"
|
||||
msgstr "Buidhnich na h-uinneagan nuair a bhios an rùm gann"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Always group windows"
|
||||
msgstr "Buidhnich na h-uinneagan an-còmhnaidh"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:71
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Seall air a h-uile sgrìn"
|
||||
msgstr "Seall air a h-uile monatair"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/workspace-indicator/prefs.js:134
|
||||
msgid "Workspace Names"
|
||||
msgstr "Ainmean nan rumannan-obrach"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
#: extensions/workspace-indicator/prefs.js:150
|
||||
msgid "Name"
|
||||
msgstr "Ainm"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:190
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Rum-obrach %d"
|
||||
msgstr "Rùm-obrach %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Ceangail còmhradh mòdach ris an uinneag-pàraint"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ "Tar-àithnidh an iuchair seo an iuchair ann an org.gnome.mutter nuair a "
|
||||
#~ "thèid Slige GNOME a ruith."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Seòrsachadh nam putanan air a’ bhàr-tiotail"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
|
||||
#~ "Tar-àithnidh an iuchair seo an iuchair ann an org.gnome.desktop.wm."
|
||||
#~ "preferences nuair a thèid Slige GNOME a ruith."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ "Cuir leacadh nan oirean an comas nuair a thèid uinneagan a leigeil às aig "
|
||||
#~ "oir na sgrìn"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Rumannan-obrach air a’ phrìomh-sgrìn a-mhàin"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ "Cuir dàil air atharraichean an fòcais ann am modh luchaige gus an sguir "
|
||||
#~ "an tomhaire air gluasad"
|
||||
|
||||
#~ msgid "Notifications"
|
||||
#~ msgstr "Brathan"
|
||||
@@ -427,6 +391,7 @@ msgstr "Rum-obrach %d"
|
||||
#~ "Clicking \n"
|
||||
#~ " native switches the Alternate Tab extension off. \n"
|
||||
#~ msgstr ""
|
||||
|
||||
#~ "Seo a' chiad turas a chì thu leudachan Alt Taba chaochlaidich. \n"
|
||||
#~ "Tagh an giùlan as fhearr leat:\n"
|
||||
#~ "\n"
|
||||
|
||||
30
po/sl.po
30
po/sl.po
@@ -2,7 +2,7 @@
|
||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
#
|
||||
# Matej Urbančič <mateju@svn.gnome.org>, + 2011–2017.
|
||||
# Matej Urbančič <mateju@svn.gnome.org>, + 2011–2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -10,7 +10,7 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-07-07 10:35+0200\n"
|
||||
"PO-Revision-Date: 2017-07-07 10:36+0200\n"
|
||||
"PO-Revision-Date: 2019-02-12 20:43+0100\n"
|
||||
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
|
||||
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
|
||||
"Language: sl_SI\n"
|
||||
@@ -20,7 +20,7 @@ msgstr ""
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
|
||||
"%100==4 ? 3 : 0);\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Generator: Poedit 2.0.1\n"
|
||||
"X-Generator: Poedit 2.1.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -32,7 +32,7 @@ msgstr "Seja omogoča prijavo v običajno namizje GNOME."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Priponi modalno pogovorno okno nadrejenemu oknu"
|
||||
msgstr "Pripni modalno pogovorno okno nadrejenemu oknu"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
@@ -41,8 +41,8 @@ msgstr "Priponi modalno pogovorno okno nadrejenemu oknu"
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Možnost prepiše ključ med nastavitvami org.gnome.mutter med zagonom lupine "
|
||||
"GNOME."
|
||||
"Možnost med zagonom lupine GNOME prepiše ključ med nastavitvami org.gnome."
|
||||
"mutter."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
@@ -53,8 +53,8 @@ msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Možnost prepiše ključ med nastavitvami org.gnome.desktop.wm med zagonom "
|
||||
"lupine GNOME."
|
||||
"Možnost med zagonom lupine GNOME prepiše ključ med nastavitvami org.gnome."
|
||||
"desktop.wm."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
@@ -111,8 +111,8 @@ msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Seznam nizov z določilom ID programa (ime programa), ki mu sledi "
|
||||
"dvopičje in nato številka delovne površine."
|
||||
"Seznam nizov z določilom ID programa (ime programa), ki mu sledi dvopičje in "
|
||||
"nato številka delovne površine."
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
@@ -174,8 +174,8 @@ msgid ""
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Primer je oblikovan kot predloga za izgradnjo kakovostnih razširitev "
|
||||
"za lupino, zato je delovanje deloma prilagojeno.\n"
|
||||
"Primer je oblikovan kot predloga za izgradnjo kakovostnih razširitev za "
|
||||
"lupino, zato je delovanje deloma prilagojeno.\n"
|
||||
"Kljub vsemu je mogoče prilagajati pozdravno sporočilo."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
@@ -202,9 +202,9 @@ msgid ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"Izbrana možnost določi postavitev nazivov oken na vrh posamezne sličice"
|
||||
"in s tem prepiše privzeti izpis pod sličico. Za uveljavitev sprememb je "
|
||||
"treba lupino ponovno zagnati."
|
||||
"Izbrana možnost določi postavitev nazivov oken na vrh posamezne sličice in s "
|
||||
"tem prepiše privzeti izpis pod sličico. Za uveljavitev sprememb je treba "
|
||||
"lupino ponovno zagnati."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
|
||||
337
po/tg.po
337
po/tg.po
@@ -1,356 +1,303 @@
|
||||
# Tajik translation for gnome-shell-extensions.
|
||||
# Copyright (C) 2013 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Victor Ibragimov <victor.ibragimov@gmail.com>, 2013, 2014, 2015
|
||||
# Victor Ibragimov <victor.ibragimov@gmail.com>, 2013, 2014, 2015, 2019
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2015-03-09 20:46+0000\n"
|
||||
"PO-Revision-Date: 2015-03-10 11:25+0500\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
|
||||
"POT-Creation-Date: 2019-03-02 10:57+0000\n"
|
||||
"PO-Revision-Date: 2019-03-06 19:50+0500\n"
|
||||
"Last-Translator: Victor Ibragimov <victor.ibragimov@gmail.com>\n"
|
||||
"Language-Team: Tajik <tg@li.org>\n"
|
||||
"Language: tg\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.6.5\n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:1
|
||||
#: ../data/gnome-classic.session.desktop.in.in.h:1
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME-и классикӣ"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:2
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Ин ҷаласа шуморо ба GNOME-и классикӣ ворид мекунад"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Замима кардани равзанаи гуфтугӯи модалӣ ба равзанаи асосӣ"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Ҳангоми иҷрокунии GNOME Shell ин калид калидеро дар org.gnome.mutter "
|
||||
"ҷойгузин мекунад."
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Мураттабсозии тугмаҳо дар навори унвон"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
|
||||
#| msgid ""
|
||||
#| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
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.in.h:5
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Фаъол кардани лавҳаҳои канорӣ ҳангоми интиқолдиҳии равзанаҳо ба канорҳои "
|
||||
"экран"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Фазоҳои корӣ танҳо дар монитори асосӣ"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
|
||||
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:39
|
||||
#: extensions/apps-menu/extension.js:29
|
||||
msgid "Activities Overview"
|
||||
msgstr "Хулосаи фаъолият"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:110
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
msgid "Favorites"
|
||||
msgstr "Баргузидаҳо"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:279
|
||||
#: extensions/apps-menu/extension.js:407
|
||||
msgid "Applications"
|
||||
msgstr "Барномаҳо"
|
||||
|
||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
|
||||
#: 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.in.h:2
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
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 "Рӯйхати сатрҳое, ки рақами мушаххаси барномаҳоро дар бар мегиранд (номҳои файлҳои мизи корӣ) ва бо ду нуқта ва рақами фазо ҷудо мешаванд"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:60
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Барнома"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:69
|
||||
#: ../extensions/auto-move-windows/prefs.js:127
|
||||
#: extensions/auto-move-windows/prefs.js:71 extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Фазои корӣ"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:85
|
||||
#| msgid "Add rule"
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Илова кардани қоида"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:106
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Эҷод кардани қоидаи мувофиқати нав"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:111
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Илова кардан"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:100 extensions/places-menu/placeDisplay.js:217
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive '%s' failed:"
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Баровардани диски '%s' қатъ шудааст:"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:116
|
||||
msgid "Removable devices"
|
||||
msgstr "Дастгоҳҳои ҷудошаванда"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:151
|
||||
msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
msgid "Open Files"
|
||||
msgstr "Кушодани файл"
|
||||
|
||||
#: ../extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Салом, ҷаҳон!"
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Матни табрики иловагӣ."
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
|
||||
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:"
|
||||
msgid "Message"
|
||||
msgstr "Паём"
|
||||
|
||||
#: ../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 it's possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Ин мисол намоиш медиҳад, ки чӣ тавр пасвандҳои танзимшуда барои Восит бояд "
|
||||
"таҳия карда шаванд, зеро ки худи онҳо фунскияҳои кам доранд.\n"
|
||||
"Бо вуҷуди ин, фармоишдиҳии паёми табрик имконпазир аст."
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
|
||||
#: 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.in.h:2
|
||||
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."
|
||||
#: 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.in.h:3
|
||||
#: 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.in.h:4
|
||||
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."
|
||||
#: 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 ""
|
||||
"Агар қимати \"true\" бошад, зернависҳои равзанаро ба болои тасвири "
|
||||
"пешнамоишии мувофиқ, бо ҷойгузинкунии навбати восити пешфарз ба поён, ҷойгир "
|
||||
"мекунад. Барои татбиқ кардани таъсири ин танзимот шумо бояд воситро бозоғозӣ "
|
||||
"кунед."
|
||||
"Агар қимати \"true\" бошад, зернависҳои равзанаро ба болои тасвири пешнамоишии мувофиқ, бо ҷойгузинкунии навбати восити пешфарз ба поён, ҷойгир мекунад. Барои татбиқ кардани таъсири ин танзимот шумо бояд воситро бозоғозӣ кунед."
|
||||
|
||||
#: ../extensions/places-menu/extension.js:78
|
||||
#: ../extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:79 extensions/places-menu/extension.js:83
|
||||
msgid "Places"
|
||||
msgstr "Ҷойҳо"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:57
|
||||
#: extensions/places-menu/placeDisplay.js:59
|
||||
#, javascript-format
|
||||
msgid "Failed to launch \"%s\""
|
||||
msgstr "Оғоз бахшидани \"%s\" қатъ шудааст"
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Васлкунии ҳаҷми диск барои “%s” иҷро нашуд"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:99
|
||||
#: ../extensions/places-menu/placeDisplay.js:122
|
||||
#: extensions/places-menu/placeDisplay.js:72
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Оғози “%s” қатъ шуд"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:133 extensions/places-menu/placeDisplay.js:156
|
||||
msgid "Computer"
|
||||
msgstr "Компютер"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:200
|
||||
#: extensions/places-menu/placeDisplay.js:343
|
||||
msgid "Home"
|
||||
msgstr "Асосӣ"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:287
|
||||
#: extensions/places-menu/placeDisplay.js:387
|
||||
msgid "Browse Network"
|
||||
msgstr "Тамошо кардани шабака"
|
||||
|
||||
#: ../extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in.h:1
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||
msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Андозаҳои скриншоти ҳалқа"
|
||||
|
||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
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.in.h:2
|
||||
#: 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:109
|
||||
#: extensions/window-list/extension.js:100
|
||||
msgid "Close"
|
||||
msgstr "Пӯшидан"
|
||||
|
||||
#: ../extensions/window-list/extension.js:119
|
||||
#: extensions/window-list/extension.js:120
|
||||
msgid "Unminimize"
|
||||
msgstr "Бекор кардани ҳадди ақал"
|
||||
|
||||
#: ../extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:120
|
||||
msgid "Minimize"
|
||||
msgstr "Ҳадди ақал сохтан"
|
||||
|
||||
#: ../extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:127
|
||||
msgid "Unmaximize"
|
||||
msgstr "Бекор кардани ҳадди аксар"
|
||||
|
||||
#: ../extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:127
|
||||
msgid "Maximize"
|
||||
msgstr "Ҳадди аксар сохтан"
|
||||
|
||||
#: ../extensions/window-list/extension.js:399
|
||||
#: extensions/window-list/extension.js:408
|
||||
msgid "Minimize all"
|
||||
msgstr "Ҳамаро бо ҳадди ақал сохтан"
|
||||
|
||||
#: ../extensions/window-list/extension.js:407
|
||||
#: extensions/window-list/extension.js:414
|
||||
msgid "Unminimize all"
|
||||
msgstr "Бекор кардани ҳадди ақал барои ҳама"
|
||||
|
||||
#: ../extensions/window-list/extension.js:415
|
||||
#: extensions/window-list/extension.js:420
|
||||
msgid "Maximize all"
|
||||
msgstr "Ҳамаро бо ҳадди аксар сохтан"
|
||||
|
||||
#: ../extensions/window-list/extension.js:424
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Бекор кардани ҳадди аксар барои ҳама"
|
||||
|
||||
#: ../extensions/window-list/extension.js:433
|
||||
#: extensions/window-list/extension.js:438
|
||||
msgid "Close all"
|
||||
msgstr "Ҳамаро пӯшонидан"
|
||||
|
||||
#: ../extensions/window-list/extension.js:650
|
||||
#: ../extensions/workspace-indicator/extension.js:30
|
||||
#: extensions/window-list/extension.js:655 extensions/workspace-indicator/extension.js:21
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Нишондиҳандаи фазои кор"
|
||||
|
||||
#: ../extensions/window-list/extension.js:807
|
||||
#: extensions/window-list/extension.js:836
|
||||
msgid "Window List"
|
||||
msgstr "Рӯйхати равзанаҳо"
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
|
||||
#: 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.in.h:2
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are \"never\", \"auto\" and \"always\"."
|
||||
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\"."
|
||||
msgid "Decides when to group windows from the same application on the window list. Possible values are “never”, “auto” and “always”."
|
||||
msgstr "Қарор медиҳад, ки дар кадом ҳолат равзанаҳо аз худи барномаҳо дар рӯйхати равзанаҳо гурӯҳбандӣ мешаванд. Қиматҳои имконпазир: \"ҳеҷ гоҳ\", \"ба таври худкор\" ва \"ҳамеша\"."
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:3
|
||||
#: 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.in.h:4
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
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
|
||||
#: extensions/window-list/prefs.js:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Гурӯҳбандии равзанаҳо"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Ҳеҷ гоҳ равзанаҳоро гурӯҳбандӣ накардан"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Гурӯҳбандии равзанаҳо барои фазои маҳдудшуда"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Ҳамеша равзанаҳоро гурӯҳбандӣ кардан"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Намоиш додан дар ҳамаи мониторҳо"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:141
|
||||
#| msgid "Workspace names:"
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Номҳои фазоҳои корӣ"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:157
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Ном"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Фазои кории %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Замима кардани равзанаи гуфтугӯи модалӣ ба равзанаи асосӣ"
|
||||
|
||||
#~ msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr "Ҳангоми иҷрокунии GNOME Shell ин калид калидеро дар org.gnome.mutter ҷойгузин мекунад."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Мураттабсозии тугмаҳо дар навори унвон"
|
||||
|
||||
#~| msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgid "This key overrides the key in org.gnome.desktop.wm.preferences when running GNOME Shell."
|
||||
#~ msgstr "Ин тугма тугмаро дар хусусиятҳои org.gnome.desktop.wm.preferences ҳангоми иҷрокунии восити GNOME лағв мекунад."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Фаъол кардани лавҳаҳои канорӣ ҳангоми интиқолдиҳии равзанаҳо ба канорҳои экран"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Фазоҳои корӣ танҳо дар монитори асосӣ"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "Ҳангоми истифодаи муш таъхири фокус тағйир меёбад, то он вақте ки курсор намеистад"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Танҳо тасвирҳои пешнамоишӣ"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Танҳо нишонаи барнома"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Тасвирҳои пешнамоишӣ ва нишонаҳои барномаҳо"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Намоиш додани равзанаҳо ҳамчун"
|
||||
|
||||
#~ msgid "Show only windows in the current workspace"
|
||||
#~ msgstr "Намоиш додани равзанаҳо танҳо дар фазои кории ҷорӣ"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Салом, ҷаҳон!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Матни табрики иловагӣ."
|
||||
|
||||
#~ msgid "If not empty, it contains the text that will be shown when clicking on the panel."
|
||||
#~ msgstr "Агар холӣ набошад, матнро дар бар мегирад, ки ҳангоми зеркунӣ ба панел намоиш дода мешавад."
|
||||
|
||||
#~| msgid "Message:"
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Паём"
|
||||
|
||||
#~ 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 it's possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Ин мисол намоиш медиҳад, ки чӣ тавр пасвандҳои танзимшуда барои Восит бояд таҳия карда шаванд, зеро ки худи онҳо фунскияҳои кам доранд.\n"
|
||||
#~ "Бо вуҷуди ин, фармоишдиҳии паёми табрик имконпазир аст."
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "Восити GNOME-и классикӣ"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user