Compare commits

...

15 Commits

Author SHA1 Message Date
Florian Müllner 01d3d8fd6d Bump version to 43.rc
Update NEWS.
2022-09-04 15:25:43 +02:00
Florian Müllner 47c2834ffa Update sass submodule 2022-09-04 15:24:50 +02:00
Florian Müllner 9f88e98d1b extensions: Stop monkey-patching signal methods
gnome-shell added an EventEmitter class that can be used as base
for any non-GObject class that needs to emit signals.

Use that instead of the old monkey-patching.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/240>
2022-08-20 19:03:36 +02:00
Florian Müllner 4b7055d0da places-menu: Mark PlacesManager as exported
For some reason eslint failed to complain about this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/240>
2022-08-20 19:03:36 +02:00
Florian Müllner 563d7770d3 lint: Sync with gnome-shell
gnome-shell started transitioning to gjs' object spacing rule,
i.e. `{foo: 42}` instead of `{ foo: 42 }`.

We have a much smaller code base than the shell and aren't using
a secondary "allowed-but-deprecated" configuration that allows a
gradual transition, so just pull the switch and update to the new
style.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/240>
2022-08-20 19:00:32 +02:00
Florian Müllner d62b58b1d9 Bump version to 43.beta
Update NEWS.
2022-08-10 20:03:20 +02:00
Florian Müllner 4f78bb96a7 Update sass submodule 2022-08-10 20:03:20 +02:00
Florian Müllner c94678e2be classic: Adjust to quick settings
The aggregate menu has been replaced with quick settings. Adjust
the session mode definition accordingly.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/238>
2022-08-10 16:21:13 +02:00
Nart Tlisha 3c515d42f2 Update Abkhazian translation 2022-07-26 10:45:41 +00:00
Florian Müllner bb5869f8df ci: Instruct gitlab to checkout submodules
... instead of doing it in the script.

This will become important when we switch to a CI image with an
updated meson version that no longer checks out submodules as
part of the dist command.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/237>
2022-07-11 00:33:47 +02:00
Florian Müllner faaa66eb3f ci: Don't define image globally
This has been deprecated in favor of defining the default image
in the default section.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/237>
2022-07-11 00:33:47 +02:00
Florian Müllner 14c60eb954 Bump version to 43.alpha
Update NEWS.
2022-07-10 14:36:37 +02:00
Florian Müllner 0234cd74f7 Update sass submodule 2022-07-10 14:36:37 +02:00
Florian Müllner f637e81c8c native-window-placement: Minor style fix
JSDoc prefer "object" over "Object", so update the doc comment
accordingly.
2022-07-10 14:20:25 +02:00
Marco Ciampa ea82830a9f Update it.po, corrected the file-manager name File. 2022-07-06 12:51:16 +00:00
27 changed files with 185 additions and 148 deletions
+5 -6
View File
@@ -2,8 +2,6 @@ include:
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml' - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml" - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
stages: stages:
- pre_review - pre_review
- prepare - prepare
@@ -12,6 +10,7 @@ stages:
- deploy - deploy
default: default:
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
# Cancel jobs if newer commits are pushed to the branch # Cancel jobs if newer commits are pushed to the branch
interruptible: true interruptible: true
# Auto-retry jobs in case of infra failures # Auto-retry jobs in case of infra failures
@@ -133,8 +132,8 @@ fedora-build:
stage: build stage: build
needs: needs:
- build-fedora-container - build-fedora-container
before_script: variables:
- git submodule update --init GIT_SUBMODULE_STRATEGY: normal
script: script:
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true - meson setup build --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C build - meson compile -C build
@@ -151,8 +150,8 @@ fedora-dist:
stage: deploy stage: deploy
needs: needs:
- fedora-build - fedora-build
before_script: variables:
- git submodule update --init GIT_SUBMODULE_STRATEGY: normal
script: script:
- meson dist -C build - meson dist -C build
rules: rules:
+26
View File
@@ -1,3 +1,29 @@
43.rc
=====
* Misc. bug fixes and cleanups [Florian; !240]
Contributors:
Florian Müllner
43.beta
=======
* Misc. bug fixes and cleanups [Florian; !237, !238]
Contributors:
Florian Müllner
Translators:
Nart Tlisha [ab]
43.alpha
========
Contributors:
Florian Müllner
Translators:
Marco Ciampa [it]
42.3 42.3
==== ====
* screenshot-window-sizer: Fix reported sizes on wayland [Florian; !232] * screenshot-window-sizer: Fix reported sizes on wayland [Florian; !232]
+1 -1
View File
@@ -6,6 +6,6 @@
"enabledExtensions": [@CLASSIC_EXTENSIONS@], "enabledExtensions": [@CLASSIC_EXTENSIONS@],
"panel": { "left": ["appMenu"], "panel": { "left": ["appMenu"],
"center": [], "center": [],
"right": ["a11y", "keyboard", "dateMenu", "aggregateMenu"] "right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
} }
} }
+1 -1
View File
@@ -69,12 +69,12 @@ theme_sources = files(
'gnome-shell-sass/widgets/_looking-glass.scss', 'gnome-shell-sass/widgets/_looking-glass.scss',
'gnome-shell-sass/widgets/_message-list.scss', 'gnome-shell-sass/widgets/_message-list.scss',
'gnome-shell-sass/widgets/_misc.scss', 'gnome-shell-sass/widgets/_misc.scss',
'gnome-shell-sass/widgets/_network-dialog.scss',
'gnome-shell-sass/widgets/_notifications.scss', 'gnome-shell-sass/widgets/_notifications.scss',
'gnome-shell-sass/widgets/_osd.scss', 'gnome-shell-sass/widgets/_osd.scss',
'gnome-shell-sass/widgets/_overview.scss', 'gnome-shell-sass/widgets/_overview.scss',
'gnome-shell-sass/widgets/_panel.scss', 'gnome-shell-sass/widgets/_panel.scss',
'gnome-shell-sass/widgets/_popovers.scss', 'gnome-shell-sass/widgets/_popovers.scss',
'gnome-shell-sass/widgets/_quick-settings.scss',
'gnome-shell-sass/widgets/_screen-shield.scss', 'gnome-shell-sass/widgets/_screen-shield.scss',
'gnome-shell-sass/widgets/_scrollbars.scss', 'gnome-shell-sass/widgets/_scrollbars.scss',
'gnome-shell-sass/widgets/_search-entry.scss', 'gnome-shell-sass/widgets/_search-entry.scss',
+11 -10
View File
@@ -4,7 +4,7 @@
const { const {
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St, Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
} = imports.gi; } = imports.gi;
const Signals = imports.signals; const {EventEmitter} = imports.misc.signals;
const DND = imports.ui.dnd; const DND = imports.ui.dnd;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -117,7 +117,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
else else
name = _('Favorites'); name = _('Favorites');
this.add_child(new St.Label({ text: name })); this.add_child(new St.Label({text: name}));
this.connect('motion-event', this._onMotionEvent.bind(this)); this.connect('motion-event', this._onMotionEvent.bind(this));
this.connect('notify::active', this._onActiveChanged.bind(this)); this.connect('notify::active', this._onActiveChanged.bind(this));
} }
@@ -239,8 +239,10 @@ class ApplicationsMenu extends PopupMenu.PopupMenu {
} }
} }
class DesktopTarget { class DesktopTarget extends EventEmitter {
constructor() { constructor() {
super();
this._desktop = null; this._desktop = null;
this._desktopDestroyedId = 0; this._desktopDestroyedId = 0;
@@ -357,7 +359,6 @@ class DesktopTarget {
return true; return true;
} }
} }
Signals.addSignalMethods(DesktopTarget.prototype);
class ApplicationsButton extends PanelMenu.Button { class ApplicationsButton extends PanelMenu.Button {
static { static {
@@ -408,7 +409,7 @@ class ApplicationsButton extends PanelMenu.Button {
}); });
}); });
this._tree = new GMenu.Tree({ menu_basename: 'applications.menu' }); this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
this._treeChangedId = this._tree.connect('changed', this._treeChangedId = this._tree.connect('changed',
this._onTreeChanged.bind(this)); this._onTreeChanged.bind(this));
@@ -509,7 +510,7 @@ class ApplicationsButton extends PanelMenu.Button {
} }
let app = appSys.lookup_app(id); let app = appSys.lookup_app(id);
if (!app) if (!app)
app = new Shell.App({ app_info: entry.get_app_info() }); app = new Shell.App({app_info: entry.get_app_info()});
if (app.get_app_info().should_show()) if (app.get_app_info().should_show())
this.applicationsByCategory[categoryId].push(app); this.applicationsByCategory[categoryId].push(app);
} else if (nextType === GMenu.TreeItemType.SEPARATOR) { } else if (nextType === GMenu.TreeItemType.SEPARATOR) {
@@ -555,8 +556,8 @@ class ApplicationsButton extends PanelMenu.Button {
_createLayout() { _createLayout() {
let section = new PopupMenu.PopupMenuSection(); let section = new PopupMenu.PopupMenuSection();
this.menu.addMenuItem(section); this.menu.addMenuItem(section);
this.mainBox = new St.BoxLayout({ vertical: false }); this.mainBox = new St.BoxLayout({vertical: false});
this.leftBox = new St.BoxLayout({ vertical: true }); this.leftBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox = new St.ScrollView({ this.applicationsScrollBox = new St.ScrollView({
style_class: 'apps-menu vfade', style_class: 'apps-menu vfade',
x_expand: true, x_expand: true,
@@ -578,9 +579,9 @@ class ApplicationsButton extends PanelMenu.Button {
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false)); vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
this.leftBox.add_child(this.categoriesScrollBox); this.leftBox.add_child(this.categoriesScrollBox);
this.applicationsBox = new St.BoxLayout({ vertical: true }); this.applicationsBox = new St.BoxLayout({vertical: true});
this.applicationsScrollBox.add_actor(this.applicationsBox); this.applicationsScrollBox.add_actor(this.applicationsBox);
this.categoriesBox = new St.BoxLayout({ vertical: true }); this.categoriesBox = new St.BoxLayout({vertical: true});
this.categoriesScrollBox.add_actor(this.categoriesBox); this.categoriesScrollBox.add_actor(this.categoriesBox);
this.mainBox.add(this.leftBox); this.mainBox.add(this.leftBox);
+1 -1
View File
@@ -2,7 +2,7 @@
// Start apps on custom workspaces // Start apps on custom workspaces
/* exported init enable disable */ /* exported init enable disable */
const { Shell } = imports.gi; const {Shell} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
+7 -7
View File
@@ -2,7 +2,7 @@
// Start apps on custom workspaces // Start apps on custom workspaces
/* exported init buildPrefsWidget */ /* exported init buildPrefsWidget */
const { Adw, Gio, GLib, GObject, Gtk } = imports.gi; const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -75,7 +75,7 @@ class RulesList extends GObject.Object {
append(appInfo) { append(appInfo) {
const pos = this.#rules.length; const pos = this.#rules.length;
this.#rules.push(new Rule({ appInfo })); this.#rules.push(new Rule({appInfo}));
this.#saveRules(); this.#saveRules();
this.items_changed(pos, 0, 1); this.items_changed(pos, 0, 1);
@@ -97,7 +97,7 @@ class RulesList extends GObject.Object {
if (pos < 0) if (pos < 0)
return; return;
this.#rules[pos].set({ workspace }); this.#rules[pos].set({workspace});
this.#saveRules(); this.#saveRules();
} }
@@ -116,7 +116,7 @@ class RulesList extends GObject.Object {
const [id, workspace] = stringRule.split(':'); const [id, workspace] = stringRule.split(':');
const appInfo = Gio.DesktopAppInfo.new(id); const appInfo = Gio.DesktopAppInfo.new(id);
if (appInfo) if (appInfo)
this.#rules.push(new Rule({ appInfo, workspace })); this.#rules.push(new Rule({appInfo, workspace}));
else else
log(`Invalid ID ${id}`); log(`Invalid ID ${id}`);
} }
@@ -154,8 +154,8 @@ class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
this._rules = new RulesList(); this._rules = new RulesList();
const store = new Gio.ListStore({ item_type: Gio.ListModel }); const store = new Gio.ListStore({item_type: Gio.ListModel});
const listModel = new Gtk.FlattenListModel({ model: store }); const listModel = new Gtk.FlattenListModel({model: store});
store.append(this._rules); store.append(this._rules);
store.append(new NewItemModel()); store.append(new NewItemModel());
@@ -248,7 +248,7 @@ class RuleRow extends Adw.ActionRow {
} }
constructor(rule) { constructor(rule) {
const { appInfo } = rule; const {appInfo} = rule;
const id = appInfo.get_id(); const id = appInfo.get_id();
super({ super({
+1 -1
View File
@@ -1,6 +1,6 @@
/* exported init enable disable */ /* exported init enable disable */
// Drive menu extension // Drive menu extension
const { Clutter, Gio, GObject, Shell, St } = imports.gi; const {Clutter, Gio, GObject, Shell, St} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
@@ -1,10 +1,10 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported enable disable */ /* exported enable disable */
const { Clutter } = imports.gi; const {Clutter} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
const { WindowPreview } = imports.ui.windowPreview; const {WindowPreview} = imports.ui.windowPreview;
const Workspace = imports.ui.workspace; const Workspace = imports.ui.workspace;
// testing settings for natural window placement strategy: // testing settings for natural window placement strategy:
@@ -285,8 +285,8 @@ function enable() {
} }
/** /**
* @param {Object} object - object that was modified * @param {object} object - object that was modified
* @param {Object} injection - the map of previous injections * @param {object} injection - the map of previous injections
* @param {string} name - the @injection key that should be removed * @param {string} name - the @injection key that should be removed
*/ */
function removeInjection(object, injection, name) { function removeInjection(object, injection, name) {
+1 -1
View File
@@ -1,7 +1,7 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
/* exported init enable disable */ /* exported init enable disable */
const { Clutter, GObject, St } = imports.gi; const {Clutter, GObject, St} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
+16 -13
View File
@@ -1,7 +1,8 @@
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
/* exported PlacesManager */
const { Gio, GLib, Shell } = imports.gi; const {Gio, GLib, Shell} = imports.gi;
const Signals = imports.signals; const {EventEmitter} = imports.misc.signals;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
@@ -22,8 +23,10 @@ const Hostname1Iface = '<node> \
</node>'; </node>';
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface); const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
class PlaceInfo { class PlaceInfo extends EventEmitter {
constructor(...params) { constructor(...params) {
super();
this._init(...params); this._init(...params);
} }
@@ -31,7 +34,7 @@ class PlaceInfo {
this.kind = kind; this.kind = kind;
this.file = file; this.file = file;
this.name = name || this._getFileName(); this.name = name || this._getFileName();
this.icon = icon ? new Gio.ThemedIcon({ name: icon }) : this.getIcon(); this.icon = icon ? new Gio.ThemedIcon({name: icon}) : this.getIcon();
} }
destroy() { destroy() {
@@ -94,16 +97,16 @@ class PlaceInfo {
// icon from the query info above // icon from the query info above
switch (this.kind) { switch (this.kind) {
case 'network': case 'network':
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' }); return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
case 'devices': case 'devices':
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' }); return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
case 'special': case 'special':
case 'bookmarks': case 'bookmarks':
default: default:
if (!this.file.is_native()) if (!this.file.is_native())
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' }); return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
else else
return new Gio.ThemedIcon({ name: 'folder-symbolic' }); return new Gio.ThemedIcon({name: 'folder-symbolic'});
} }
} }
@@ -118,7 +121,6 @@ class PlaceInfo {
} }
} }
} }
Signals.addSignalMethods(PlaceInfo.prototype);
class RootInfo extends PlaceInfo { class RootInfo extends PlaceInfo {
_init() { _init() {
@@ -138,7 +140,7 @@ class RootInfo extends PlaceInfo {
} }
getIcon() { getIcon() {
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' }); return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
} }
_propertiesChanged(proxy) { _propertiesChanged(proxy) {
@@ -246,8 +248,10 @@ const DEFAULT_DIRECTORIES = [
GLib.UserDirectory.DIRECTORY_VIDEOS, GLib.UserDirectory.DIRECTORY_VIDEOS,
]; ];
var PlacesManager = class { var PlacesManager = class extends EventEmitter {
constructor() { constructor() {
super();
this._places = { this._places = {
special: [], special: [],
devices: [], devices: [],
@@ -255,7 +259,7 @@ var PlacesManager = class {
network: [], network: [],
}; };
this._settings = new Gio.Settings({ schema_id: BACKGROUND_SCHEMA }); this._settings = new Gio.Settings({schema_id: BACKGROUND_SCHEMA});
this._showDesktopIconsChangedId = this._settings.connect( this._showDesktopIconsChangedId = this._settings.connect(
'changed::show-desktop-icons', this._updateSpecials.bind(this)); 'changed::show-desktop-icons', this._updateSpecials.bind(this));
this._updateSpecials(); this._updateSpecials();
@@ -543,4 +547,3 @@ var PlacesManager = class {
return this._places[kind]; return this._places[kind];
} }
}; };
Signals.addSignalMethods(PlacesManager.prototype);
@@ -19,7 +19,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/ */
const { Clutter, Meta, Shell, St } = imports.gi; const {Clutter, Meta, Shell, St} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
@@ -39,7 +39,7 @@ function hideMessage() {
*/ */
function flashMessage(message) { function flashMessage(message) {
if (!text) { if (!text) {
text = new St.Label({ style_class: 'screenshot-sizer-message' }); text = new St.Label({style_class: 'screenshot-sizer-message'});
Main.uiGroup.add_actor(text); Main.uiGroup.add_actor(text);
} }
@@ -132,7 +132,7 @@ function cycleScreenshotSizes(display, window, binding) {
* @param {Meta.Window} window - the window whose size changed * @param {Meta.Window} window - the window whose size changed
*/ */
function _notifySizeChange(window) { function _notifySizeChange(window) {
const { scaleFactor } = St.ThemeContext.get_for_stage(global.stage); const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage);
let newOuterRect = window.get_frame_rect(); let newOuterRect = window.get_frame_rect();
let message = '%d×%d'.format( let message = '%d×%d'.format(
newOuterRect.width / scaleFactor, newOuterRect.width / scaleFactor,
+1 -1
View File
@@ -2,7 +2,7 @@
// Load shell theme from ~/.local/share/themes/name/gnome-shell // Load shell theme from ~/.local/share/themes/name/gnome-shell
/* exported init */ /* exported init */
const { Gio } = imports.gi; const {Gio} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Main = imports.ui.main; const Main = imports.ui.main;
+2 -2
View File
@@ -4,7 +4,7 @@
// we use async/await here to not block the mainloop, not to parallelize // we use async/await here to not block the mainloop, not to parallelize
/* eslint-disable no-await-in-loop */ /* eslint-disable no-await-in-loop */
const { Adw, Gio, GLib, GObject, Gtk } = imports.gi; const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -21,7 +21,7 @@ class UserThemePrefsWidget extends Adw.PreferencesGroup {
} }
constructor() { constructor() {
super({ title: 'Themes' }); super({title: 'Themes'});
this._actionGroup = new Gio.SimpleActionGroup(); this._actionGroup = new Gio.SimpleActionGroup();
this.insert_action_group('theme', this._actionGroup); this.insert_action_group('theme', this._actionGroup);
+1 -1
View File
@@ -1,5 +1,5 @@
/* exported getThemeDirs getModeThemeDirs */ /* exported getThemeDirs getModeThemeDirs */
const { GLib } = imports.gi; const {GLib} = imports.gi;
const fn = (...args) => GLib.build_filenamev(args); const fn = (...args) => GLib.build_filenamev(args);
+12 -12
View File
@@ -1,5 +1,5 @@
/* exported init */ /* exported init */
const { Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St } = imports.gi; const {Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St} = imports.gi;
const DND = imports.ui.dnd; const DND = imports.ui.dnd;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -8,8 +8,8 @@ const Overview = imports.ui.overview;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
const Me = ExtensionUtils.getCurrentExtension(); const Me = ExtensionUtils.getCurrentExtension();
const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker; const {WindowPicker, WindowPickerToggle} = Me.imports.windowPicker;
const { WorkspaceIndicator } = Me.imports.workspaceIndicator; const {WorkspaceIndicator} = Me.imports.workspaceIndicator;
const _ = ExtensionUtils.gettext; const _ = ExtensionUtils.gettext;
@@ -120,9 +120,9 @@ class WindowTitle extends St.BoxLayout {
this._metaWindow = metaWindow; this._metaWindow = metaWindow;
this._icon = new St.Bin({ style_class: 'window-button-icon' }); this._icon = new St.Bin({style_class: 'window-button-icon'});
this.add(this._icon); this.add(this._icon);
this.label_actor = new St.Label({ y_align: Clutter.ActorAlign.CENTER }); this.label_actor = new St.Label({y_align: Clutter.ActorAlign.CENTER});
this.label_actor.clutter_text.single_line_mode = true; this.label_actor.clutter_text.single_line_mode = true;
this.add(this.label_actor); this.add(this.label_actor);
@@ -250,7 +250,7 @@ class BaseButton extends St.Button {
if (this._longPressTimeoutId) if (this._longPressTimeoutId)
return; return;
const { longPressDuration } = Clutter.Settings.get_default(); const {longPressDuration} = Clutter.Settings.get_default();
this._longPressTimeoutId = this._longPressTimeoutId =
GLib.timeout_add(GLib.PRIORITY_DEFAULT, longPressDuration, () => { GLib.timeout_add(GLib.PRIORITY_DEFAULT, longPressDuration, () => {
delete this._longPressTimeoutId; delete this._longPressTimeoutId;
@@ -543,7 +543,7 @@ class AppButton extends BaseButton {
this.app = app; this.app = app;
this._updateVisibility(); this._updateVisibility();
let stack = new St.Widget({ layout_manager: new Clutter.BinLayout() }); let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
this.set_child(stack); this.set_child(stack);
this._singleWindowTitle = new St.Bin({ this._singleWindowTitle = new St.Bin({
@@ -742,7 +742,7 @@ class WindowList extends St.Widget {
this._perMonitor = perMonitor; this._perMonitor = perMonitor;
this._monitor = monitor; this._monitor = monitor;
let box = new St.BoxLayout({ x_expand: true, y_expand: true }); let box = new St.BoxLayout({x_expand: true, y_expand: true});
this.add_actor(box); this.add_actor(box);
let toggle = new WindowPickerToggle(); let toggle = new WindowPickerToggle();
@@ -751,7 +751,7 @@ class WindowList extends St.Widget {
toggle.connect('notify::checked', toggle.connect('notify::checked',
this._updateWindowListVisibility.bind(this)); this._updateWindowListVisibility.bind(this));
let layout = new Clutter.BoxLayout({ homogeneous: true }); let layout = new Clutter.BoxLayout({homogeneous: true});
this._windowList = new St.Widget({ this._windowList = new St.Widget({
style_class: 'window-list', style_class: 'window-list',
reactive: true, reactive: true,
@@ -769,13 +769,13 @@ class WindowList extends St.Widget {
}); });
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this)); this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
let indicatorsBox = new St.BoxLayout({ x_align: Clutter.ActorAlign.END }); let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
box.add(indicatorsBox); box.add(indicatorsBox);
this._workspaceIndicator = new WorkspaceIndicator(); this._workspaceIndicator = new WorkspaceIndicator();
indicatorsBox.add_child(this._workspaceIndicator.container); indicatorsBox.add_child(this._workspaceIndicator.container);
this._mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' }); this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect( this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect(
'changed::workspaces-only-on-primary', 'changed::workspaces-only-on-primary',
this._updateWorkspaceIndicatorVisibility.bind(this)); this._updateWorkspaceIndicatorVisibility.bind(this));
@@ -918,7 +918,7 @@ class WindowList extends St.Widget {
let children = this._windowList.get_children(); let children = this._windowList.get_children();
let [, childWidth] = children[0].get_preferred_width(-1); let [, childWidth] = children[0].get_preferred_width(-1);
let { spacing } = this._windowList.layout_manager; let {spacing} = this._windowList.layout_manager;
let workspace = global.workspace_manager.get_active_workspace(); let workspace = global.workspace_manager.get_active_workspace();
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace); let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
+5 -5
View File
@@ -1,7 +1,7 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */ /* exported init buildPrefsWidget */
const { Adw, Gio, GLib, GObject, Gtk } = imports.gi; const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -37,12 +37,12 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
this.add(groupingGroup); this.add(groupingGroup);
const modes = [ const modes = [
{ mode: 'never', title: _('Never group windows') }, {mode: 'never', title: _('Never group windows')},
{ mode: 'auto', title: _('Group windows when space is limited') }, {mode: 'auto', title: _('Group windows when space is limited')},
{ mode: 'always', title: _('Always group windows') }, {mode: 'always', title: _('Always group windows')},
]; ];
for (const { mode, title } of modes) { for (const {mode, title} of modes) {
const check = new Gtk.CheckButton({ const check = new Gtk.CheckButton({
action_name: 'window-list.grouping-mode', action_name: 'window-list.grouping-mode',
action_target: new GLib.Variant('s', mode), action_target: new GLib.Variant('s', mode),
+6 -6
View File
@@ -1,12 +1,12 @@
/* exported WindowPicker, WindowPickerToggle */ /* exported WindowPicker, WindowPickerToggle */
const { Clutter, GObject, Shell, St } = imports.gi; const {Clutter, GObject, Shell, St} = imports.gi;
const Layout = imports.ui.layout; const Layout = imports.ui.layout;
const Main = imports.ui.main; const Main = imports.ui.main;
const { WorkspacesDisplay } = imports.ui.workspacesView; const {WorkspacesDisplay} = imports.ui.workspacesView;
const Workspace = imports.ui.workspace; const Workspace = imports.ui.workspace;
const { VIGNETTE_BRIGHTNESS } = imports.ui.lightbox; const {VIGNETTE_BRIGHTNESS} = imports.ui.lightbox;
const { const {
SIDE_CONTROLS_ANIMATION_TIME, SIDE_CONTROLS_ANIMATION_TIME,
OverviewAdjustment, OverviewAdjustment,
@@ -90,7 +90,7 @@ class MyWorkspace extends Workspace.Workspace {
this._adjChangedId = this._adjChangedId =
this._overviewAdjustment.connect('notify::value', () => { this._overviewAdjustment.connect('notify::value', () => {
const { value: progress } = this._overviewAdjustment; const {value: progress} = this._overviewAdjustment;
const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress; const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress;
for (const bg of this._background?._backgroundGroup ?? []) { for (const bg of this._background?._backgroundGroup ?? []) {
bg.content.set({ bg.content.set({
@@ -151,7 +151,7 @@ class MyWorkspaceBackground extends Workspace.WorkspaceBackground {
var WindowPicker = class WindowPicker extends Clutter.Actor { var WindowPicker = class WindowPicker extends Clutter.Actor {
static [GObject.signals] = { static [GObject.signals] = {
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] }, 'open-state-changed': {param_types: [GObject.TYPE_BOOLEAN]},
}; };
static { static {
@@ -159,7 +159,7 @@ var WindowPicker = class WindowPicker extends Clutter.Actor {
} }
constructor() { constructor() {
super({ reactive: true }); super({reactive: true});
this._visible = false; this._visible = false;
this._modal = false; this._modal = false;
+5 -5
View File
@@ -1,5 +1,5 @@
/* exported WorkspaceIndicator */ /* exported WorkspaceIndicator */
const { Clutter, Gio, GObject, Meta, St } = imports.gi; const {Clutter, Gio, GObject, Meta, St} = imports.gi;
const DND = imports.ui.dnd; const DND = imports.ui.dnd;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -25,7 +25,7 @@ class WindowPreview extends St.Button {
}); });
this._delegate = this; this._delegate = this;
DND.makeDraggable(this, { restoreOnSuccess: true }); DND.makeDraggable(this, {restoreOnSuccess: true});
this._window = window; this._window = window;
@@ -274,7 +274,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
let workspaceManager = global.workspace_manager; let workspaceManager = global.workspace_manager;
this._currentWorkspace = workspaceManager.get_active_workspace_index(); this._currentWorkspace = workspaceManager.get_active_workspace_index();
this._statusLabel = new St.Label({ text: this._getStatusText() }); this._statusLabel = new St.Label({text: this._getStatusText()});
this._statusBin = new St.Bin({ this._statusBin = new St.Bin({
style_class: 'status-label-bin', style_class: 'status-label-bin',
@@ -309,7 +309,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
this._updateThumbnails(); this._updateThumbnails();
this._updateThumbnailVisibility(); this._updateThumbnailVisibility();
this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.preferences' }); this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
this._settingsChangedId = this._settings.connect( this._settingsChangedId = this._settings.connect(
'changed::workspace-names', this._updateMenuLabels.bind(this)); 'changed::workspace-names', this._updateMenuLabels.bind(this));
} }
@@ -327,7 +327,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
} }
_updateThumbnailVisibility() { _updateThumbnailVisibility() {
const { workspaceManager } = global; const {workspaceManager} = global;
const vertical = workspaceManager.layout_rows === -1; const vertical = workspaceManager.layout_rows === -1;
const useMenu = const useMenu =
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS; vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
+8 -8
View File
@@ -1,6 +1,6 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
/* exported init */ /* exported init */
const { Clutter, Graphene, GObject, St } = imports.gi; const {Clutter, Graphene, GObject, St} = imports.gi;
const Main = imports.ui.main; const Main = imports.ui.main;
const OverviewControls = imports.ui.overviewControls; const OverviewControls = imports.ui.overviewControls;
@@ -53,13 +53,13 @@ class MyWorkspace extends Workspace.Workspace {
} }
getWindowWithTooltip(id) { getWindowWithTooltip(id) {
const { layoutManager } = this._container; const {layoutManager} = this._container;
const slot = layoutManager._windowSlots[id - 1]; const slot = layoutManager._windowSlots[id - 1];
return slot ? slot[WINDOW_SLOT].metaWindow : null; return slot ? slot[WINDOW_SLOT].metaWindow : null;
} }
showWindowsTooltips() { showWindowsTooltips() {
const { layoutManager } = this._container; const {layoutManager} = this._container;
for (let i = 0; i < layoutManager._windowSlots.length; i++) { for (let i = 0; i < layoutManager._windowSlots.length; i++) {
if (layoutManager._windowSlots[i]) if (layoutManager._windowSlots[i])
layoutManager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`); layoutManager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
@@ -67,7 +67,7 @@ class MyWorkspace extends Workspace.Workspace {
} }
hideWindowsTooltips() { hideWindowsTooltips() {
const { layoutManager } = this._container; const {layoutManager} = this._container;
for (let i in layoutManager._windowSlots) { for (let i in layoutManager._windowSlots) {
if (layoutManager._windowSlots[i]) if (layoutManager._windowSlots[i])
layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip(); layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
@@ -93,13 +93,13 @@ class MyWorkspace extends Workspace.Workspace {
this._text.add_constraint(new Clutter.AlignConstraint({ this._text.add_constraint(new Clutter.AlignConstraint({
source: this.windowContainer, source: this.windowContainer,
align_axis: Clutter.AlignAxis.X_AXIS, align_axis: Clutter.AlignAxis.X_AXIS,
pivot_point: new Graphene.Point({ x: 0.5, y: -1 }), pivot_point: new Graphene.Point({x: 0.5, y: -1}),
factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0, factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0,
})); }));
this._text.add_constraint(new Clutter.AlignConstraint({ this._text.add_constraint(new Clutter.AlignConstraint({
source: this.windowContainer, source: this.windowContainer,
align_axis: Clutter.AlignAxis.Y_AXIS, align_axis: Clutter.AlignAxis.Y_AXIS,
pivot_point: new Graphene.Point({ x: -1, y: 0.5 }), pivot_point: new Graphene.Point({x: -1, y: 0.5}),
factor: 0, factor: 0,
})); }));
@@ -107,7 +107,7 @@ class MyWorkspace extends Workspace.Workspace {
}).call(clone); }).call(clone);
clone.showTooltip = function (text) { clone.showTooltip = function (text) {
this._text.set({ text }); this._text.set({text});
this._text.show(); this._text.show();
}; };
@@ -170,7 +170,7 @@ class MyWorkspacesView extends WorkspacesView.WorkspacesView {
} }
_onKeyPress(s, o) { _onKeyPress(s, o) {
const { ControlsState } = OverviewControls; const {ControlsState} = OverviewControls;
if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER) if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER)
return false; return false;
+4 -4
View File
@@ -1,7 +1,7 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init enable disable */ /* exported init enable disable */
const { Clutter, Gio, GObject, Meta, St } = imports.gi; const {Clutter, Gio, GObject, Meta, St} = imports.gi;
const DND = imports.ui.dnd; const DND = imports.ui.dnd;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -30,7 +30,7 @@ class WindowPreview extends St.Button {
}); });
this._delegate = this; this._delegate = this;
DND.makeDraggable(this, { restoreOnSuccess: true }); DND.makeDraggable(this, {restoreOnSuccess: true});
this._window = window; this._window = window;
@@ -310,7 +310,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
this._updateThumbnails(); this._updateThumbnails();
this._updateThumbnailVisibility(); this._updateThumbnailVisibility();
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA }); this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
this._settingsChangedId = this._settings.connect( this._settingsChangedId = this._settings.connect(
`changed::${WORKSPACE_KEY}`, `changed::${WORKSPACE_KEY}`,
this._updateMenuLabels.bind(this)); this._updateMenuLabels.bind(this));
@@ -331,7 +331,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
} }
_updateThumbnailVisibility() { _updateThumbnailVisibility() {
const { workspaceManager } = global; const {workspaceManager} = global;
const vertical = workspaceManager.layout_rows === -1; const vertical = workspaceManager.layout_rows === -1;
const useMenu = const useMenu =
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS; vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
+5 -5
View File
@@ -1,7 +1,7 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*- // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
/* exported init buildPrefsWidget */ /* exported init buildPrefsWidget */
const { Adw, Gio, GLib, GObject, Gtk, Pango } = imports.gi; const {Adw, Gio, GLib, GObject, Gtk, Pango} = imports.gi;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
@@ -41,7 +41,7 @@ class WorkspacesList extends GObject.Object {
GObject.registerClass(this); GObject.registerClass(this);
} }
#settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA }); #settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
#names = this.#settings.get_strv(WORKSPACE_KEY); #names = this.#settings.get_strv(WORKSPACE_KEY);
#items = Gtk.StringList.new(this.#names); #items = Gtk.StringList.new(this.#names);
#changedId; #changedId;
@@ -131,8 +131,8 @@ class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
this._workspaces = new WorkspacesList(); this._workspaces = new WorkspacesList();
const store = new Gio.ListStore({ item_type: Gio.ListModel }); const store = new Gio.ListStore({item_type: Gio.ListModel});
const listModel = new Gtk.FlattenListModel({ model: store }); const listModel = new Gtk.FlattenListModel({model: store});
store.append(this._workspaces); store.append(this._workspaces);
store.append(new NewItemModel()); store.append(new NewItemModel());
@@ -157,7 +157,7 @@ class WorkspaceRow extends Adw.PreferencesRow {
} }
constructor(name) { constructor(name) {
super({ name }); super({name});
const box = new Gtk.Box({ const box = new Gtk.Box({
spacing: 12, spacing: 12,
+3 -2
View File
@@ -3,9 +3,10 @@ rules:
- error - error
- properties: never - properties: never
allow: [^vfunc_, ^on_] allow: [^vfunc_, ^on_]
object-curly-spacing: consistent-return: error
eqeqeq:
- error - error
- always - smart
prefer-arrow-callback: error prefer-arrow-callback: error
globals: globals:
global: readonly global: readonly
+1 -1
View File
@@ -1,5 +1,5 @@
project('gnome-shell-extensions', project('gnome-shell-extensions',
version: '42.3', version: '43.rc',
meson_version: '>= 0.53.0', meson_version: '>= 0.53.0',
license: 'GPL2+' license: 'GPL2+'
) )
+53 -46
View File
@@ -6,9 +6,8 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions main\n" "Project-Id-Version: gnome-shell-extensions main\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
"issues\n" "POT-Creation-Date: 2022-07-10 12:54+0000\n"
"POT-Creation-Date: 2022-02-12 02:08+0000\n"
"PO-Revision-Date: 2022-02-12 02:08+0000\n" "PO-Revision-Date: 2022-02-12 02:08+0000\n"
"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>, 2022\n" "Last-Translator: Нанба Наала <naala-nanba@rambler.ru>, 2022\n"
"Language-Team: Abkhazian <ab@li.org>\n" "Language-Team: Abkhazian <ab@li.org>\n"
@@ -34,11 +33,11 @@ msgstr "Аклассикатә GNOME Wayland аҟны"
msgid "GNOME Classic on Xorg" msgid "GNOME Classic on Xorg"
msgstr "Аклассикатә GNOME Xorg аҟны" msgstr "Аклассикатә GNOME Xorg аҟны"
#: extensions/apps-menu/extension.js:112 #: extensions/apps-menu/extension.js:118
msgid "Favorites" msgid "Favorites"
msgstr "Иалкаау" msgstr "Иалкаау"
#: extensions/apps-menu/extension.js:370 #: extensions/apps-menu/extension.js:379
msgid "Applications" msgid "Applications"
msgstr "Аԥшьқәа" msgstr "Аԥшьқәа"
@@ -50,29 +49,30 @@ msgstr "Аԥшьи аусуратә ҵакырақәа рыхьӡынҵеи"
msgid "" msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
msgstr "Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )" msgstr ""
"змоу, зашьҭахь ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу " "Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )змоу, зашьҭахь "
"ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу "
#: extensions/auto-move-windows/prefs.js:19 #: extensions/auto-move-windows/prefs.js:152
msgid "Workspace Rules" msgid "Workspace Rules"
msgstr "Аусуратә ҵакыра аԥҟаррақәа" msgstr "Аусуратә ҵакыра аԥҟаррақәа"
#: extensions/auto-move-windows/prefs.js:245 #: extensions/auto-move-windows/prefs.js:306
msgid "Add Rule" msgid "Add Rule"
msgstr "Аԥҟара ацҵара" msgstr "Аԥҟара ацҵара"
#. TRANSLATORS: %s is the filesystem name #. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:123 #: extensions/drive-menu/extension.js:126
#: extensions/places-menu/placeDisplay.js:210 #: extensions/places-menu/placeDisplay.js:210
#, javascript-format #, javascript-format
msgid "Ejecting drive “%s” failed:" msgid "Ejecting drive “%s” failed:"
msgstr "Адиск «%s» аҭыгара залымшахеит:" msgstr "Адиск «%s» аҭыгара залымшахеит:"
#: extensions/drive-menu/extension.js:139 #: extensions/drive-menu/extension.js:145
msgid "Removable devices" msgid "Removable devices"
msgstr "Иаҿыҵуа аиҿартәырақәа" msgstr "Иаҿыҵуа аиҿартәырақәа"
#: extensions/drive-menu/extension.js:161 #: extensions/drive-menu/extension.js:167
msgid "Open Files" msgid "Open Files"
msgstr "Афаил аартра" msgstr "Афаил аартра"
@@ -85,9 +85,11 @@ msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen " "Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. " "aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy." "This setting applies only with the natural placement strategy."
msgstr "Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразы" msgstr ""
"аекран аганқәа реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа архәыҷразы" "Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразыаекран аганқәа "
"ари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра алгоритм ахархәараан" "реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа "
"архәыҷразыари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра "
"алгоритм ахархәараан"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
msgid "Place window captions on top" msgid "Place window captions on top"
@@ -98,12 +100,13 @@ msgid ""
"If true, place window captions on top the respective thumbnail, overriding " "If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires " "shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит" msgstr ""
"(ишыҟоу еиԥш ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан," "Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит(ишыҟоу еиԥш "
"уи аус аура иалагарцазы, иаҭахуп Shell аиҭарура." "ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан,уи аус аура "
"иалагарцазы, иаҭахуп Shell аиҭарура."
#: extensions/places-menu/extension.js:88 #: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:91 #: extensions/places-menu/extension.js:97
msgid "Places" msgid "Places"
msgstr "Аҭыԥқәа" msgstr "Аҭыԥқәа"
@@ -166,27 +169,27 @@ msgstr "Аиҭашьақәыргылара"
msgid "Maximize" msgid "Maximize"
msgstr "Аиҵыхра" msgstr "Аиҵыхра"
#: extensions/window-list/extension.js:434 #: extensions/window-list/extension.js:483
msgid "Minimize all" msgid "Minimize all"
msgstr "Зегьы реиҟәырҳәра" msgstr "Зегьы реиҟәырҳәра"
#: extensions/window-list/extension.js:440 #: extensions/window-list/extension.js:489
msgid "Unminimize all" msgid "Unminimize all"
msgstr "Зегьы рырхынҳәра" msgstr "Зегьы рырхынҳәра"
#: extensions/window-list/extension.js:446 #: extensions/window-list/extension.js:495
msgid "Maximize all" msgid "Maximize all"
msgstr "Зегьы реиҵыхра" msgstr "Зегьы реиҵыхра"
#: extensions/window-list/extension.js:454 #: extensions/window-list/extension.js:503
msgid "Unmaximize all" msgid "Unmaximize all"
msgstr "Зегьы реиҭашьақәыргылара" msgstr "Зегьы реиҭашьақәыргылара"
#: extensions/window-list/extension.js:462 #: extensions/window-list/extension.js:511
msgid "Close all" msgid "Close all"
msgstr "Зегьы рыркра" msgstr "Зегьы рыркра"
#: extensions/window-list/extension.js:741 #: extensions/window-list/extension.js:795
msgid "Window List" msgid "Window List"
msgstr "Аԥенџьырқәа рыхьӡынҵа" msgstr "Аԥенџьырқәа рыхьӡынҵа"
@@ -198,18 +201,21 @@ msgstr "Аԥенџьырқәа аидыргәыԥлара анаҭаху"
msgid "" msgid ""
"Decides when to group windows from the same application on the window list. " "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 "Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, аԥенџьырқәа рыхьӡынҵаҟны" msgstr ""
" Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — автоматла; «always» — есқьынгьы" "Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, "
"аԥенџьырқәа рыхьӡынҵаҟны Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — "
"автоматла; «always» — есқьынгьы"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:76 #: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces" msgid "Show windows from all workspaces"
msgstr "Аҵакырақәа зегьы рҟынтә аԥенџьырқәа раарԥшра" msgstr "Аҵакырақәа зегьы рҟынтә аԥенџьырқәа раарԥшра"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
msgid "Whether to show windows from all workspaces or only the current one." msgid "Whether to show windows from all workspaces or only the current one."
msgstr msgstr ""
"Аԥенџьырқәа рыхьӡынҵа аусуратә ҵакырақәа зегь рҟынтә акәу,мамзар уажәтәи аҟынтә акәу ишаарԥшлатәу" "Аԥенџьырқәа рыхьӡынҵа аусуратә ҵакырақәа зегь рҟынтә акәу,мамзар уажәтәи "
"аҟынтә акәу ишаарԥшлатәу"
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
msgid "Show the window list on all monitors" msgid "Show the window list on all monitors"
@@ -219,43 +225,44 @@ msgstr "Аԥенџьырқәа рыхьӡынҵа амониторқәа зег
msgid "" msgid ""
"Whether to show the window list on all connected monitors or only on the " "Whether to show the window list on all connected monitors or only on the "
"primary one." "primary one."
msgstr msgstr ""
"Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , мамзар ихадоу аҟны акәу." "Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , "
"мамзар ихадоу аҟны акәу."
#: extensions/window-list/prefs.js:32 #: extensions/window-list/prefs.js:35
msgid "Window Grouping" msgid "Window Grouping"
msgstr "Аԥенџьырқәа реидыргәыԥлара" msgstr "Аԥенџьырқәа реидыргәыԥлара"
#: extensions/window-list/prefs.js:37 #: extensions/window-list/prefs.js:40
msgid "Never group windows" msgid "Never group windows"
msgstr "Ахаангьы аԥенџьырқәа реидмыргәыԥлара" msgstr "Ахаангьы аԥенџьырқәа реидмыргәыԥлара"
#: extensions/window-list/prefs.js:38 #: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited" msgid "Group windows when space is limited"
msgstr "Аҭыԥ маҷхазар, аԥенџьырқәа еидшәыргәыԥла" msgstr "Аҭыԥ маҷхазар, аԥенџьырқәа еидшәыргәыԥла"
#: extensions/window-list/prefs.js:39 #: extensions/window-list/prefs.js:42
msgid "Always group windows" msgid "Always group windows"
msgstr "Еснагь аԥенџьырқәа реидыргәыԥлара" msgstr "Еснагь аԥенџьырқәа реидыргәыԥлара"
#: extensions/window-list/prefs.js:63 #: extensions/window-list/prefs.js:66
msgid "Show on all monitors" msgid "Show on all monitors"
msgstr "Амониторқәа зегьы рҟны рырбара" msgstr "Амониторқәа зегьы рҟны рырбара"
#: extensions/window-list/workspaceIndicator.js:249 #: extensions/window-list/workspaceIndicator.js:261
#: extensions/workspace-indicator/extension.js:254 #: extensions/workspace-indicator/extension.js:266
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Аусуратә ҵакыра аиндикатор" msgstr "Аусуратә ҵакыра аиндикатор"
#: extensions/workspace-indicator/prefs.js:18 #: extensions/workspace-indicator/prefs.js:62
msgid "Workspace Names"
msgstr "Аусуратә ҵакырақәа рыхьӡқәа"
#: extensions/workspace-indicator/prefs.js:39
#, javascript-format #, javascript-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Аусуратә ҵакыра %d" msgstr "Аусуратә ҵакыра %d"
#: extensions/workspace-indicator/prefs.js:184 #: extensions/workspace-indicator/prefs.js:129
msgid "Workspace Names"
msgstr "Аусуратә ҵакырақәа рыхьӡқәа"
#: extensions/workspace-indicator/prefs.js:255
msgid "Add Workspace" msgid "Add Workspace"
msgstr "Аусуратә ҵакыра ацҵара" msgstr "Аусуратә ҵакыра ацҵара"
+1 -1
View File
@@ -80,7 +80,7 @@ msgstr "Dispositivi rimovibili"
#: extensions/drive-menu/extension.js:171 #: extensions/drive-menu/extension.js:171
msgid "Open Files" msgid "Open Files"
msgstr "Apri file" msgstr "Apri File"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
msgid "Use more screen for windows" msgid "Use more screen for windows"