diff --git a/NEWS b/NEWS index 3146e0cc..38242b89 100644 --- a/NEWS +++ b/NEWS @@ -1,10 +1,30 @@ -48.2 -==== -* windowsNavigator: Fix handling keyboard shortcuts [Daniel; !395] -* build: Allow disabling the X11 session [Neal; !396, !400] +49.alpha.1 +========== +* workspaces-indicator, window-list: Better expose workspace names + [Florian; !405] +* window-list: Animate transition to/from overview [Florian; !412] +* Misc. bug fixes and cleanups [Florian; !409, !411, !413] Contributors: - Daniel Buch Hansen, Neal Gompa + Florian Müllner + +Translators: + Martin [sl], Emin Tufan Çetin [tr], Yuri Chornoivan [uk], Luming Zh [zh_CN], + Yago Raña [gl], Ekaterine Papava [ka], Vasil Pupkin [be], + Álvaro Burns [pt_BR], Sergej A. [ru] + +49.alpha.0 +========== +* windowsNavigator: Fix handling keyboard shortcuts [Daniel; !395] +* build: Allow disabling the X11 session [Neal; !396, !400] +* Disable X11 session by default [Jordan; !399] +* Misc. bug fixes and cleanups [Florian; !398, !406] + +Contributors: + Daniel Buch Hansen, Neal Gompa, Florian Müllner, Jordan Petridis + +Translators: + Emilio Sepúlveda [ia] 48.1 ==== diff --git a/meson/check-version.py b/build-aux/check-version.py similarity index 100% rename from meson/check-version.py rename to build-aux/check-version.py diff --git a/meson/session-post-install.py b/build-aux/session-post-install.py similarity index 100% rename from meson/session-post-install.py rename to build-aux/session-post-install.py diff --git a/data/meson.build b/data/meson.build index 4c8696be..ea846e94 100644 --- a/data/meson.build +++ b/data/meson.build @@ -23,7 +23,7 @@ foreach name : session_desktops session_instdir = wlsessiondir else # FIXME: The same target can not be copied into two directories. - # There is a workaround in meson/session-post-install.py until proper + # There is a workaround in build-aux/session-post-install.py until proper # solution arises: # https://github.com/mesonbuild/meson/issues/2416 session_instdir = wlsessiondir diff --git a/extensions/apps-menu/extension.js b/extensions/apps-menu/extension.js index c6084418..7258fe33 100644 --- a/extensions/apps-menu/extension.js +++ b/extensions/apps-menu/extension.js @@ -488,7 +488,7 @@ class ApplicationsButton extends PanelMenu.Button { let id; try { id = entry.get_desktop_file_id(); // catch non-UTF8 filenames - } catch (e) { + } catch { continue; } let app = appSys.lookup_app(id); diff --git a/extensions/screenshot-window-sizer/extension.js b/extensions/screenshot-window-sizer/extension.js index f1ea3d57..b3a3d116 100644 --- a/extensions/screenshot-window-sizer/extension.js +++ b/extensions/screenshot-window-sizer/extension.js @@ -70,8 +70,8 @@ export default class ScreenshotWindowSizerExtension extends Extension { const backwards = binding.is_reversed(); // Unmaximize first - if (window.get_maximized() !== 0) - window.unmaximize(Meta.MaximizeFlags.BOTH); + if (window.is_maximized()) + window.unmaximize(); let workArea = window.get_work_area_current_monitor(); let outerRect = window.get_frame_rect(); diff --git a/extensions/window-list/extension.js b/extensions/window-list/extension.js index a768d735..b2eba4c9 100644 --- a/extensions/window-list/extension.js +++ b/extensions/window-list/extension.js @@ -20,6 +20,9 @@ import * as DND from 'resource:///org/gnome/shell/ui/dnd.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js'; import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js'; import {DashItemContainer} from 'resource:///org/gnome/shell/ui/dash.js'; +import { + ANIMATION_TIME as SLIDE_ANIMATION_TIME, +} from 'resource:///org/gnome/shell/ui/overview.js'; import {WorkspaceIndicator} from './workspaceIndicator.js'; @@ -85,10 +88,10 @@ class WindowContextMenu extends PopupMenu.PopupMenu { this._maximizeItem = new PopupMenu.PopupMenuItem(''); this._maximizeItem.connect('activate', () => { - if (this._metaWindow.get_maximized() === Meta.MaximizeFlags.BOTH) - this._metaWindow.unmaximize(Meta.MaximizeFlags.BOTH); + if (this._metaWindow.is_maximized()) + this._metaWindow.unmaximize(); else - this._metaWindow.maximize(Meta.MaximizeFlags.BOTH); + this._metaWindow.maximize(); }); this.addMenuItem(this._maximizeItem); @@ -123,9 +126,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu { } _updateMaximizeItem() { - let maximized = this._metaWindow.maximized_vertically && - this._metaWindow.maximized_horizontally; - this._maximizeItem.label.text = maximized + this._maximizeItem.label.text = this._metaWindow.is_maximized() ? _('Unmaximize') : _('Maximize'); } } @@ -432,12 +433,10 @@ class BaseButton extends DashItemContainer { return this._button.has_style_class_name('focused'); } - // eslint-disable-next-line camelcase get ignore_workspace() { return this._ignoreWorkspace; } - // eslint-disable-next-line camelcase set ignore_workspace(ignore) { if (this._ignoreWorkspace === ignore) return; @@ -733,7 +732,7 @@ class AppContextMenu extends PopupMenu.PopupMenu { this._maximizeItem = new PopupMenu.PopupMenuItem(_('Maximize all')); this._maximizeItem.connect('activate', () => { this._appButton.getWindowList().forEach(w => { - w.maximize(Meta.MaximizeFlags.BOTH); + w.maximize(); }); }); this.addMenuItem(this._maximizeItem); @@ -741,7 +740,7 @@ class AppContextMenu extends PopupMenu.PopupMenu { this._unmaximizeItem = new PopupMenu.PopupMenuItem(_('Unmaximize all')); this._unmaximizeItem.connect('activate', () => { this._appButton.getWindowList().forEach(w => { - w.unmaximize(Meta.MaximizeFlags.BOTH); + w.unmaximize(); }); }); this.addMenuItem(this._unmaximizeItem); @@ -760,10 +759,10 @@ class AppContextMenu extends PopupMenu.PopupMenu { this._minimizeItem.visible = windows.some(w => !w.minimized); this._unminimizeItem.visible = windows.some(w => w.minimized); this._maximizeItem.visible = windows.some(w => { - return w.get_maximized() !== Meta.MaximizeFlags.BOTH; + return !w.is_maximized(); }); this._unmaximizeItem.visible = windows.some(w => { - return w.get_maximized() === Meta.MaximizeFlags.BOTH; + return w.is_maximized(); }); super.open(animate); @@ -983,14 +982,25 @@ class WindowList extends St.Widget { () => this._onWorkspaceMenuSet(), this); this._onWorkspaceMenuSet(); - const chromeOptions = { + const inOverview = Main.overview.visible || + (Main.layoutManager._startingUp && Main.sessionMode.hasOverview); + + const overviewChromeOptions = { affectsStruts: true, + }; + const chromeOptions = { + ...overviewChromeOptions, trackFullscreen: true, }; - Main.layoutManager.addChrome(this, chromeOptions); + Main.layoutManager.addChrome(this, inOverview + ? overviewChromeOptions + : chromeOptions); + Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox); Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic'); + this.visible = !inOverview; + this.width = this._monitor.width; this.connect('notify::height', this._updatePosition.bind(this)); this._updatePosition(); @@ -1024,20 +1034,20 @@ class WindowList extends St.Widget { Main.overview.connectObject( 'showing', () => { - Main.layoutManager.untrackChrome(this); - this.hide(); + this._retrackChrome(overviewChromeOptions); + this._slideOut(); this._updateKeyboardAnchor(); }, + 'hiding', () => { + if (!this._monitor.inFullscreen) + this._slideIn(); + }, 'hidden', () => { - Main.layoutManager.trackChrome(this, chromeOptions); - this.visible = !this._monitor.inFullscreen; + this._retrackChrome(chromeOptions); this._updateKeyboardAnchor(); }, this); global.display.connectObject('in-fullscreen-changed', () => { - // Work-around for initial change from unknown to !fullscreen - if (Main.overview.visible) - this.hide(); this._updateKeyboardAnchor(); }, this); @@ -1075,6 +1085,13 @@ class WindowList extends St.Widget { this._groupingModeChanged(); } + get_transformed_position() { + // HACK: Remove translation we use for animations + // to keep struts stable + const [x, y] = super.get_transformed_position(); + return [x, y - this.translation_y]; + } + _onScrollEvent(actor, event) { let direction = event.get_scroll_direction(); let diff = 0; @@ -1103,6 +1120,29 @@ class WindowList extends St.Widget { this._monitor.y + this._monitor.height - this.height); } + _retrackChrome(options) { + Main.layoutManager.untrackChrome(this); + Main.layoutManager.trackChrome(this, options); + } + + _slideIn() { + this.show(); + this.ease({ + translation_y: 0, + duration: SLIDE_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + } + + _slideOut() { + this.ease({ + translation_y: this.height, + duration: SLIDE_ANIMATION_TIME, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => this.hide(), + }); + } + _updateWorkspaceIndicatorVisibility() { let workspaceManager = global.workspace_manager; let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') || @@ -1463,12 +1503,6 @@ class BottomWorkspaceIndicator extends WorkspaceIndicator { GObject.registerClass(this); } - constructor(params) { - super(params); - - this.remove_style_class_name('panel-button'); - } - setMenu(menu) { super.setMenu(menu); diff --git a/extensions/window-list/stylesheet-dark.css b/extensions/window-list/stylesheet-dark.css index af332686..388bbc9b 100644 --- a/extensions/window-list/stylesheet-dark.css +++ b/extensions/window-list/stylesheet-dark.css @@ -6,6 +6,11 @@ */ @import url("stylesheet-workspace-switcher-dark.css"); +.window-list-workspace-indicator.previews { + -natural-hpadding: 0 !important; + -minimum-hpadding: 0 !important; +} + .window-list { spacing: 2px; font-size: 10pt; diff --git a/extensions/workspace-indicator/stylesheet-dark.css b/extensions/workspace-indicator/stylesheet-dark.css index e70352f8..0453cb0f 100644 --- a/extensions/workspace-indicator/stylesheet-dark.css +++ b/extensions/workspace-indicator/stylesheet-dark.css @@ -5,27 +5,45 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +.workspace-indicator.previews:active { + background-color: none !important; + box-shadow: none !important; +} + +.workspace-indicator.name-label { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.17) !important; +} +.workspace-indicator.name-label:hover, +.workspace-indicator.name-label:focus { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.28) !important; +} +.workspace-indicator.name-label:active { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.32) !important; +} +.workspace-indicator.name-label:active:hover { + box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.36) !important; +} + .workspace-indicator .status-label { + width: 8em; padding: 0 8px; } +.workspace-indicator .status-label:ltr { padding-right: 4px; } +.workspace-indicator .status-label:rtl { padding-left: 4px; } + +.workspace-indicator .system-status-icon { + padding: 0 !important; + margin: 0 !important; +} .workspace-indicator .workspaces-view.hfade { -st-hfade-offset: 20px; } -.workspace-indicator-menu .workspaces-view { - max-width: 480px; -} - .workspace-indicator .workspaces-box { spacing: 3px; } -.workspace-indicator-menu .workspaces-box { - padding: 5px; - spacing: 6px; -} - .workspace-indicator .workspace-box { padding-top: 5px; padding-bottom: 5px; @@ -40,11 +58,6 @@ padding-right: 5px; } -.workspace-indicator-menu .workspace-box { - spacing: 6px; -} - -.workspace-indicator-menu .workspace, .workspace-indicator .workspace { border: 1px solid transparent; border-radius: 4px; @@ -55,12 +68,6 @@ width: 52px; } -.workspace-indicator-menu .workspace { - height: 80px; - width: 160px; -} - -.workspace-indicator-menu .workspace.active, .workspace-indicator .workspace.active { border-color: #fff; } @@ -74,3 +81,50 @@ .workspace-indicator-window-preview.active { background-color: #d4d4d4; } + +.workspace-indicator-menu { + min-width: 17em; +} + +.workspace-indicator-menu .editable-menu-item.popup-menu-item { + padding: 3px 12px; +} + +.workspace-indicator-menu .editable-menu-item .icon-button { + padding: 6px; +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat { + background-color: transparent; +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:hover { + background-color: st-transparentize(white, 90%); +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:active { + background-color: st-transparentize(white, 85%); +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked { + color: -st-accent-fg-color; + background-color: -st-accent-color; +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:hover { + background-color: st-lighten(-st-accent-color, 10%); +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:active { + background-color: st-lighten(-st-accent-color, 15%); +} + +.workspace-indicator-menu .editable-menu-item StLabel { + padding: 0 11px; + width: 6.5em; +} + +.workspace-indicator-menu .editable-menu-item StEntry { + padding: 9px 9px; + width: 6.5em; +} diff --git a/extensions/workspace-indicator/stylesheet-light.css b/extensions/workspace-indicator/stylesheet-light.css index 049b6a38..491add2a 100644 --- a/extensions/workspace-indicator/stylesheet-light.css +++ b/extensions/workspace-indicator/stylesheet-light.css @@ -7,6 +7,20 @@ @import url("stylesheet-dark.css"); +.workspace-indicator.name-label { + box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.17) !important; +} +.workspace-indicator.name-label:hover, +.workspace-indicator.name-label:focus { + box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.28) !important; +} +.workspace-indicator.name-label:active { + box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.32) !important; +} +.workspace-indicator.name-label:active:hover { + box-shadow: inset 0 0 0 100px rgba(34, 34, 38, 0.36) !important; +} + .workspace-indicator .workspace { background-color: #ccc; } @@ -23,3 +37,19 @@ .workspace-indicator-window-preview.active { background-color: #f6f5f4; } + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:hover { + background-color: st-transparentize(black, 90%); +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:active { + background-color: st-transparentize(black, 85%); +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:hover { + background-color: st-darken(-st-accent-color, 10%); +} + +.workspace-indicator-menu .editable-menu-item .icon-button.flat:checked:active { + background-color: st-darken(-st-accent-color, 15%); +} diff --git a/extensions/workspace-indicator/workspaceIndicator.js b/extensions/workspace-indicator/workspaceIndicator.js index 0e92fd74..80c46e39 100644 --- a/extensions/workspace-indicator/workspaceIndicator.js +++ b/extensions/workspace-indicator/workspaceIndicator.js @@ -8,9 +8,10 @@ import Clutter from 'gi://Clutter'; import Gio from 'gi://Gio'; import GObject from 'gi://GObject'; import Meta from 'gi://Meta'; +import Shell from 'gi://Shell'; import St from 'gi://St'; -import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js'; +import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js'; import * as DND from 'resource:///org/gnome/shell/ui/dnd.js'; import * as Main from 'resource:///org/gnome/shell/ui/main.js'; @@ -116,10 +117,6 @@ class WorkspaceThumbnail extends St.Button { 'active', null, null, GObject.ParamFlags.READWRITE, false), - 'show-label': GObject.ParamSpec.boolean( - 'show-label', null, null, - GObject.ParamFlags.READWRITE, - false), }; static { @@ -148,31 +145,15 @@ class WorkspaceThumbnail extends St.Button { }); box.add_child(this._preview); - this._label = new St.Label({ - x_align: Clutter.ActorAlign.CENTER, - text: Meta.prefs_get_workspace_name(index), - }); - box.add_child(this._label); - this._tooltip = new St.Label({ style_class: 'dash-label', visible: false, }); Main.uiGroup.add_child(this._tooltip); - this.bind_property('show-label', - this._label, 'visible', - GObject.BindingFlags.SYNC_CREATE); - this.connect('destroy', this._onDestroy.bind(this)); this.connect('notify::hover', this._syncTooltip.bind(this)); - const desktopSettings = - new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'}); - desktopSettings.connectObject('changed::workspace-names', () => { - this._label.text = Meta.prefs_get_workspace_name(index); - }, this); - this._index = index; this._delegate = this; // needed for DND @@ -270,9 +251,6 @@ class WorkspaceThumbnail extends St.Button { } _syncTooltip() { - if (this.showLabel) - return; - if (this.hover) { this._tooltip.set({ text: Meta.prefs_get_workspace_name(this._index), @@ -309,13 +287,6 @@ class WorkspaceThumbnail extends St.Button { } class WorkspacePreviews extends Clutter.Actor { - static [GObject.properties] = { - 'show-labels': GObject.ParamSpec.boolean( - 'show-labels', null, null, - GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY, - false), - }; - static { GObject.registerClass(this); } @@ -367,13 +338,8 @@ class WorkspacePreviews extends Clutter.Actor { this._thumbnailsBox.destroy_all_children(); - for (let i = 0; i < nWorkspaces; i++) { - const thumb = new WorkspaceThumbnail(i); - this.bind_property('show-labels', - thumb, 'show-label', - GObject.BindingFlags.SYNC_CREATE); - this._thumbnailsBox.add_child(thumb); - } + for (let i = 0; i < nWorkspaces; i++) + this._thumbnailsBox.add_child(new WorkspaceThumbnail(i)); if (this.mapped) this._updateScrollPosition(); @@ -421,6 +387,202 @@ class WorkspacePreviews extends Clutter.Actor { } } +class EditableMenuItem extends PopupMenu.PopupBaseMenuItem { + static [GObject.signals] = { + 'edited': {}, + }; + + static { + GObject.registerClass(this); + } + + constructor() { + super({ + style_class: 'editable-menu-item', + }); + this.get_accessible()?.set_description( + _('Press %s to edit').format('e')); + + const stack = new Shell.Stack({ + x_expand: true, + x_align: Clutter.ActorAlign.START, + }); + this.add_child(stack); + + this.label = new St.Label({ + y_align: Clutter.ActorAlign.CENTER, + }); + stack.add_child(this.label); + this.label_actor = this.label; + + this._entry = new St.Entry({ + opacity: 0, + reactive: false, + }); + stack.add_child(this._entry); + + this.label.bind_property('text', + this._entry, 'text', + GObject.BindingFlags.DEFAULT); + + this._entry.clutter_text.connect('activate', + () => this._stopEditing()); + + this._editButton = new St.Button({ + style_class: 'icon-button flat', + icon_name: 'document-edit-symbolic', + button_mask: St.ButtonMask.ONE, + toggle_mode: true, + x_align: Clutter.ActorAlign.END, + y_align: Clutter.ActorAlign.CENTER, + }); + this.add_child(this._editButton); + + this._editButton.connect('notify::checked', () => { + if (this._editButton.checked) { + this._editButton.icon_name = 'ornament-check-symbolic'; + this._startEditing(); + } else { + this._editButton.icon_name = 'document-edit-symbolic'; + this._stopEditing(); + } + }); + this.connect('key-release-event', (o, event) => { + if (event.get_key_symbol() === Clutter.KEY_e) + this._editButton.checked = true; + }); + + global.stage.connectObject('notify::key-focus', () => { + const {keyFocus} = global.stage; + if (!keyFocus || !this.contains(keyFocus)) + this._stopEditing(); + }, this); + } + + _switchActor(from, to) { + to.reactive = true; + to.ease({ + opacity: 255, + duration: 300, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + }); + + from.ease({ + opacity: 0, + duration: 300, + mode: Clutter.AnimationMode.EASE_OUT_QUAD, + onComplete: () => { + from.reactive = false; + }, + }); + } + + _startEditing() { + this._switchActor(this.label, this._entry); + + this._entry.clutter_text.set_selection(0, -1); + this._entry.clutter_text.grab_key_focus(); + } + + _stopEditing() { + if (this.label.text !== this._entry.text) { + this.label.text = this._entry.text; + this.emit('edited'); + } + + if (this._editButton.checked) + this._editButton.checked = false; + + this._switchActor(this._entry, this.label); + this.navigate_focus(this, St.DirectionType.TAB_FORWARD, false); + } +} + +class WorkspacesMenu extends PopupMenu.PopupMenu { + constructor(sourceActor) { + super(sourceActor, 0.5, St.Side.TOP); + + this.actor.add_style_class_name(`${baseStyleClassName}-menu`); + + this._workspacesSection = new PopupMenu.PopupMenuSection(); + this.addMenuItem(this._workspacesSection); + + this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); + + this.addAction(_('Settings'), () => { + const extension = Extension.lookupByURL(import.meta.url); + extension.openPreferences(); + }); + + this._desktopSettings = + new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'}); + this._desktopSettings.connectObject('changed::workspace-names', () => { + this._updateWorkspaceLabels(); + this.emit('active-name-changed'); + }, this); + + const {workspaceManager} = global; + workspaceManager.connectObject( + 'notify::n-workspaces', () => this._updateWorkspaceItems(), + 'workspace-switched', () => this._updateActiveIndicator(), + this.actor); + this._updateWorkspaceItems(); + } + + get activeName() { + const {workspaceManager} = global; + const active = workspaceManager.get_active_workspace_index(); + return Meta.prefs_get_workspace_name(active); + } + + _updateWorkspaceItems() { + const {workspaceManager} = global; + const {nWorkspaces} = workspaceManager; + + const section = this._workspacesSection.actor; + while (section.get_n_children() < nWorkspaces) { + const item = new EditableMenuItem(); + item.connect('activate', (o, event) => { + const index = [...section].indexOf(item); + const workspace = workspaceManager.get_workspace_by_index(index); + workspace?.activate(event.get_time()); + }); + item.connect('edited', () => { + const nLabels = section.get_n_children(); + const oldNames = this._desktopSettings.get_strv('workspace-names'); + const newNames = [...section].map(c => c.label.text); + this._desktopSettings.set_strv('workspace-names', + [...newNames, ...oldNames.slice(nLabels)]); + }); + this._workspacesSection.addMenuItem(item); + } + + [...section].splice(nWorkspaces).forEach(item => item.destroy()); + + this._updateWorkspaceLabels(); + this._updateActiveIndicator(); + } + + _updateWorkspaceLabels() { + const items = [...this._workspacesSection.actor]; + items.forEach( + (item, i) => (item.label.text = Meta.prefs_get_workspace_name(i))); + } + + _updateActiveIndicator() { + const {workspaceManager} = global; + const active = workspaceManager.get_active_workspace_index(); + + const items = [...this._workspacesSection.actor]; + items.forEach((item, i) => { + item.setOrnament(i === active + ? PopupMenu.Ornament.CHECK + : PopupMenu.Ornament.NONE); + }); + this.emit('active-name-changed'); + } +} + export class WorkspaceIndicator extends PanelMenu.Button { static { GObject.registerClass(this); @@ -439,6 +601,8 @@ export class WorkspaceIndicator extends PanelMenu.Button { baseStyleClassName = baseStyleClass; this.add_style_class_name(baseStyleClassName); + this.setMenu(new WorkspacesMenu(this)); + let container = new St.Widget({ layout_manager: new Clutter.BinLayout(), x_expand: true, @@ -446,24 +610,34 @@ export class WorkspaceIndicator extends PanelMenu.Button { }); this.add_child(container); - let workspaceManager = global.workspace_manager; + this._statusBox = new St.BoxLayout(); + container.add_child(this._statusBox); - this._currentWorkspace = workspaceManager.get_active_workspace_index(); this._statusLabel = new St.Label({ style_class: 'status-label', + x_expand: true, y_align: Clutter.ActorAlign.CENTER, - text: this._getStatusText(), + text: this.menu.activeName, }); - container.add_child(this._statusLabel); + this._statusBox.add_child(this._statusLabel); + this._statusBox.add_child(new St.Icon({ + icon_name: 'pan-down-symbolic', + style_class: 'system-status-icon', + })); + + this.menu.connect('active-name-changed', + () => this._statusLabel.set_text(this.menu.activeName)); this._thumbnails = new WorkspacePreviews(); container.add_child(this._thumbnails); - this._workspacesItems = []; + this._thumbnails.connect('button-press-event', (a, event) => { + if (event.get_button() !== Clutter.BUTTON_SECONDARY) + return Clutter.EVENT_PROPAGATE; - workspaceManager.connectObject( - 'workspace-switched', this._onWorkspaceSwitched.bind(this), GObject.ConnectFlags.AFTER, - this); + this.menu.toggle(); + return Clutter.EVENT_STOP; + }); this.connect('scroll-event', (a, event) => Main.wm.handleWorkspaceScroll(event)); @@ -491,15 +665,19 @@ export class WorkspaceIndicator extends PanelMenu.Button { } _updateThumbnailVisibility() { - const useMenu = !this._settings.get_boolean('embed-previews'); - this.reactive = useMenu; + const usePreviews = this._settings.get_boolean('embed-previews'); + this.reactive = !usePreviews; - this._statusLabel.visible = useMenu; - this._thumbnails.visible = !useMenu; + this._thumbnails.visible = usePreviews; + this._statusBox.visible = !usePreviews; - this.setMenu(useMenu - ? this._createPreviewMenu() - : null); + if (usePreviews) { + this.add_style_class_name('previews'); + this.remove_style_class_name('name-label'); + } else { + this.remove_style_class_name('previews'); + this.add_style_class_name('name-label'); + } this._updateTopBarRedirect(); } @@ -514,24 +692,4 @@ export class WorkspaceIndicator extends PanelMenu.Button { ? Clutter.OffscreenRedirect.ALWAYS : Clutter.OffscreenRedirect.AUTOMATIC_FOR_OPACITY); } - - _onWorkspaceSwitched() { - this._currentWorkspace = global.workspace_manager.get_active_workspace_index(); - this._statusLabel.set_text(this._getStatusText()); - } - - _getStatusText() { - const {nWorkspaces} = global.workspace_manager; - const current = this._currentWorkspace + 1; - return `${current} / ${nWorkspaces}`; - } - - _createPreviewMenu() { - const menu = new PopupMenu.PopupMenu(this, 0.5, St.Side.TOP); - - const previews = new WorkspacePreviews({show_labels: true}); - menu.box.add_child(previews); - menu.actor.add_style_class_name(`${baseStyleClassName}-menu`); - return menu; - } } diff --git a/extensions/workspace-indicator/workspacePrefs.js b/extensions/workspace-indicator/workspacePrefs.js index 339a1a5a..2a6de82c 100644 --- a/extensions/workspace-indicator/workspacePrefs.js +++ b/extensions/workspace-indicator/workspacePrefs.js @@ -5,213 +5,116 @@ import Adw from 'gi://Adw'; import Gio from 'gi://Gio'; -import GLib from 'gi://GLib'; import GObject from 'gi://GObject'; import Gtk from 'gi://Gtk'; import {gettext as _} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js'; -const N_ = e => e; - -const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences'; -const WORKSPACE_KEY = 'workspace-names'; - class GeneralGroup extends Adw.PreferencesGroup { static { GObject.registerClass(this); } constructor(settings) { - super(); - - const row = new Adw.SwitchRow({ - title: _('Show Previews'), + super({ + title: _('Indicator'), }); - this.add(row); + + const previewCheck = new Gtk.CheckButton(); + const previewRow = new Adw.ActionRow({ + title: _('Previews'), + activatable_widget: previewCheck, + }); + previewRow.add_prefix(previewCheck); + this.add(previewRow); + + const nameCheck = new Gtk.CheckButton({ + group: previewCheck, + }); + const nameRow = new Adw.ActionRow({ + title: _('Workspace Name'), + activatable_widget: nameCheck, + }); + nameRow.add_prefix(nameCheck); + this.add(nameRow); + + if (settings.get_boolean('embed-previews')) + previewCheck.active = true; + else + nameCheck.active = true; settings.bind('embed-previews', - row, 'active', + previewCheck, 'active', Gio.SettingsBindFlags.DEFAULT); } } -class NewItem extends GObject.Object {} -GObject.registerClass(NewItem); - -class NewItemModel extends GObject.Object { - static [GObject.interfaces] = [Gio.ListModel]; +class BehaviorGroup extends Adw.PreferencesGroup { static { GObject.registerClass(this); } - #item = new NewItem(); - - vfunc_get_item_type() { - return NewItem; - } - - vfunc_get_n_items() { - return 1; - } - - vfunc_get_item(_pos) { - return this.#item; - } -} - -class WorkspacesList extends GObject.Object { - static [GObject.interfaces] = [Gio.ListModel]; - static { - GObject.registerClass(this); - } - - #settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA}); - #names = this.#settings.get_strv(WORKSPACE_KEY); - #items = Gtk.StringList.new(this.#names); - #changedId; - - constructor() { - super(); - - this.#changedId = - this.#settings.connect(`changed::${WORKSPACE_KEY}`, () => { - const removed = this.#names.length; - this.#names = this.#settings.get_strv(WORKSPACE_KEY); - this.#items.splice(0, removed, this.#names); - this.items_changed(0, removed, this.#names.length); - }); - } - - append() { - const name = _('Workspace %d').format(this.#names.length + 1); - - this.#names.push(name); - this.#settings.block_signal_handler(this.#changedId); - this.#settings.set_strv(WORKSPACE_KEY, this.#names); - this.#settings.unblock_signal_handler(this.#changedId); - - const pos = this.#items.get_n_items(); - this.#items.append(name); - this.items_changed(pos, 0, 1); - } - - remove(name) { - const pos = this.#names.indexOf(name); - if (pos < 0) - return; - - this.#names.splice(pos, 1); - - this.#settings.block_signal_handler(this.#changedId); - this.#settings.set_strv(WORKSPACE_KEY, this.#names); - this.#settings.unblock_signal_handler(this.#changedId); - - this.#items.remove(pos); - this.items_changed(pos, 1, 0); - } - - rename(oldName, newName) { - const pos = this.#names.indexOf(oldName); - if (pos < 0) - return; - - this.#names.splice(pos, 1, newName); - this.#items.splice(pos, 1, [newName]); - - this.#settings.block_signal_handler(this.#changedId); - this.#settings.set_strv(WORKSPACE_KEY, this.#names); - this.#settings.unblock_signal_handler(this.#changedId); - } - - vfunc_get_item_type() { - return Gtk.StringObject; - } - - vfunc_get_n_items() { - return this.#items.get_n_items(); - } - - vfunc_get_item(pos) { - return this.#items.get_item(pos); - } -} - -class WorkspacesGroup extends Adw.PreferencesGroup { - static { - GObject.registerClass(this); - - this.install_action('workspaces.add', null, - self => self._workspaces.append()); - this.install_action('workspaces.remove', 's', - (self, name, param) => self._workspaces.remove(param.unpack())); - this.install_action('workspaces.rename', '(ss)', - (self, name, param) => self._workspaces.rename(...param.deepUnpack())); - } - constructor() { super({ - title: _('Workspace Names'), + title: _('Behavior'), }); - this._workspaces = new WorkspacesList(); - - const store = new Gio.ListStore({item_type: Gio.ListModel}); - const listModel = new Gtk.FlattenListModel({model: store}); - store.append(this._workspaces); - store.append(new NewItemModel()); - - this._list = new Gtk.ListBox({ - selection_mode: Gtk.SelectionMode.NONE, - css_classes: ['boxed-list'], + const dynamicCheck = new Gtk.CheckButton(); + const dynamicRow = new Adw.ActionRow({ + title: _('Dynamic'), + subtitle: _('Automatically removes empty workspaces.'), + activatable_widget: dynamicCheck, }); - this.add(this._list); + dynamicRow.add_prefix(dynamicCheck); + this.add(dynamicRow); - const newRowProps = { - title: _('Add Workspace'), - action_name: 'workspaces.add', - start_icon_name: 'list-add-symbolic', - }; - - this._list.bind_model(listModel, item => { - return item instanceof NewItem - ? new Adw.ButtonRow({...newRowProps}) - : new WorkspaceRow(item.string); + const fixedCheck = new Gtk.CheckButton({ + group: dynamicCheck, }); - } -} + const fixedRow = new Adw.ActionRow({ + title: _('Fixed Number'), + subtitle: _('Specify a number of permanent workspaces.'), + activatable_widget: fixedCheck, + }); + fixedRow.add_prefix(fixedCheck); + this.add(fixedRow); -class WorkspaceRow extends Adw.EntryRow { - static { - GObject.registerClass(this); - } + const adjustment = new Gtk.Adjustment({ + lower: 1, + step_increment: 1, + value: 4, + upper: 36, // hard limit in mutter + }); + const numRow = new Adw.SpinRow({ + title: _('Number of Workspaces'), + adjustment, + }); + this.add(numRow); - constructor(name) { - super({ - name, - text: name, + const mutterSettings = new Gio.Settings({ + schema_id: 'org.gnome.mutter', }); - const button = new Gtk.Button({ - tooltip_text: _('Remove'), - action_name: 'workspaces.remove', - icon_name: 'edit-delete-symbolic', - has_frame: false, - halign: Gtk.Align.CENTER, - valign: Gtk.Align.CENTER, - }); - this.add_suffix(button); + if (mutterSettings.get_boolean('dynamic-workspaces')) + dynamicCheck.active = true; + else + fixedCheck.active = true; - this.bind_property_full('name', - button, 'action-target', - GObject.BindingFlags.SYNC_CREATE, - (bind, target) => [true, new GLib.Variant('s', target)], - null); + mutterSettings.bind('dynamic-workspaces', + dynamicCheck, 'active', + Gio.SettingsBindFlags.DEFAULT); - this.connect('changed', () => { - this.activate_action('workspaces.rename', - new GLib.Variant('(ss)', [this.name, this.text])); - this.name = this.text; + const desktopSettings = new Gio.Settings({ + schema_id: 'org.gnome.desktop.wm.preferences', }); + + desktopSettings.bind('num-workspaces', + numRow, 'value', + Gio.SettingsBindFlags.DEFAULT); + + fixedCheck.bind_property('active', + numRow, 'sensitive', + GObject.BindingFlags.SYNC_CREATE); } } @@ -227,6 +130,6 @@ export class WorkspacesPage extends Adw.PreferencesPage { }); this.add(new GeneralGroup(settings)); - this.add(new WorkspacesGroup()); + this.add(new BehaviorGroup()); } } diff --git a/lint/eslintrc-gjs.yml b/lint/eslintrc-gjs.yml index b1d73946..bb9ba38e 100644 --- a/lint/eslintrc-gjs.yml +++ b/lint/eslintrc-gjs.yml @@ -30,6 +30,7 @@ rules: - error - arrays: always-multiline objects: always-multiline + imports: always-multiline functions: never comma-spacing: - error diff --git a/meson.build b/meson.build index 3f5eadef..1a6c0e7b 100644 --- a/meson.build +++ b/meson.build @@ -4,7 +4,7 @@ project( 'gnome-shell-extensions', - version: '48.2', + version: '49.alpha.1', meson_version: '>= 1.1.0', license: 'GPL-2.0-or-later', ) @@ -90,7 +90,7 @@ if classic_mode_enabled subdir('data') if have_x11 meson.add_install_script( - 'meson/session-post-install.py', + 'build-aux/session-post-install.py', join_paths(get_option('prefix'), datadir), ) endif @@ -101,7 +101,7 @@ subdir('po') gnome.post_install(glib_compile_schemas: true) -meson.add_dist_script('meson/check-version.py', meson.project_version(), 'NEWS') +meson.add_dist_script('build-aux/check-version.py', meson.project_version(), 'NEWS') summary_options = { 'extensions': enabled_extensions, diff --git a/meson.options b/meson.options index 1e3efb2e..61eb21c6 100644 --- a/meson.options +++ b/meson.options @@ -23,6 +23,6 @@ option('classic_mode', option('x11', type: 'boolean', - value: true, + value: false, description: 'Enable X11 session support.' ) diff --git a/po/be.po b/po/be.po index a10a7ae9..b72e0eab 100644 --- a/po/be.po +++ b/po/be.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-10-16 14:41+0000\n" -"PO-Revision-Date: 2024-10-22 16:27+0300\n" +"POT-Creation-Date: 2025-06-18 23:32+0000\n" +"PO-Revision-Date: 2025-06-21 15:51+0300\n" "Last-Translator: Yuras Shumovich \n" "Language-Team: Belarusian \n" "Language: be\n" @@ -37,11 +37,11 @@ msgstr "Класічны GNOME на Wayland" msgid "GNOME Classic on Xorg" msgstr "Класічны GNOME на Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Абраныя" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Праграмы" @@ -57,17 +57,17 @@ msgstr "" "Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *." "desktop), затым двукроп'е і нумар працоўнай прасторы" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" msgstr "Правілы для працоўнай прасторы" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" msgstr "Дадаць правіла" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:187 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Не ўдалося выняць дыск «%s»:" @@ -109,38 +109,38 @@ msgstr "" "перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць " "абалонку." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Месцы" -#: extensions/places-menu/placeDisplay.js:53 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Не ўдалося запусціць «%s»" -#: extensions/places-menu/placeDisplay.js:68 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Не ўдалося прымацаваць том для «%s»." -#: extensions/places-menu/placeDisplay.js:316 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Хатняя папка" -#: extensions/places-menu/placeDisplay.js:322 +#: extensions/places-menu/placeDisplay.js:321 msgid "Recent" msgstr "Нядаўнія" -#: extensions/places-menu/placeDisplay.js:328 +#: extensions/places-menu/placeDisplay.js:327 msgid "Starred" msgstr "Абраныя" -#: extensions/places-menu/placeDisplay.js:348 +#: extensions/places-menu/placeDisplay.js:347 msgid "Network" msgstr "Сетка" -#: extensions/places-menu/placeDisplay.js:355 +#: extensions/places-menu/placeDisplay.js:354 msgid "Trash" msgstr "Сметніца" @@ -232,47 +232,47 @@ msgstr "Назва тэмы" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:92 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Закрыць" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Скасаваць згортванне" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Згарнуць" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Скасаваць разгортванне" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Разгарнуць" -#: extensions/window-list/extension.js:641 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Згарнуць усе" -#: extensions/window-list/extension.js:647 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Скасаваць згортванне для ўсіх" -#: extensions/window-list/extension.js:653 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Разгарнуць усе" -#: extensions/window-list/extension.js:661 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Скасаваць разгортванне для ўсіх" -#: extensions/window-list/extension.js:669 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Закрыць усе" -#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Спіс вокнаў" @@ -289,7 +289,7 @@ msgstr "" "значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:75 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" msgstr "Паказваць вокны з усіх працоўных прастор" @@ -312,23 +312,23 @@ msgstr "" msgid "Show workspace previews in window list" msgstr "Паказваць папярэдні прагляд працоўных прастор у спісе акон" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Групаванне вокнаў" -#: extensions/window-list/prefs.js:47 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Ніколі не групаваць вокны" -#: extensions/window-list/prefs.js:48 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Групаваць вокны калі не хапае месца" -#: extensions/window-list/prefs.js:49 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Заўсёды групаваць вокны" -#: extensions/window-list/prefs.js:69 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "Паказваць на ўсіх маніторах" @@ -336,35 +336,69 @@ msgstr "Паказваць на ўсіх маніторах" msgid "Show workspace previews in top bar" msgstr "Паказваць папярэдні прагляд працоўных прастор у верхняй панэлі" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Націсніце %s, каб змяніць" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Налады" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "Індыкатар працоўнай прасторы" -#: extensions/workspace-indicator/workspacePrefs.js:29 -msgid "Show Previews" -msgstr "Паказваць папярэдні прагляд" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Індыкатар" -#: extensions/workspace-indicator/workspacePrefs.js:87 -#, javascript-format -msgid "Workspace %d" -msgstr "Працоўная прастора %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Перадпрагляд" -#: extensions/workspace-indicator/workspacePrefs.js:154 -msgid "Workspace Names" -msgstr "Назвы працоўных прастор" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Назва працоўнай прасторы" -#: extensions/workspace-indicator/workspacePrefs.js:171 -msgid "Add Workspace" -msgstr "Дадаць працоўную прастору" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Паводзіны" -#: extensions/workspace-indicator/workspacePrefs.js:196 -msgid "Remove" -msgstr "Выдаліць" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Дынамічная" -#: extensions/workspace-indicator/workspacePrefs.js:226 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Пустыя працоўныя прасторы выдаляюцца аўтаматычна." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Фіксаваная колькасць'" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Вызначыце колькасць пастаянных працоўных прастор." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Колькасць працоўных прастор" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Працоўныя прасторы" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "Працоўная прастора %d" + +#~ msgid "Add Workspace" +#~ msgstr "Дадаць працоўную прастору" + +#~ msgid "Remove" +#~ msgstr "Выдаліць" + #~ msgid "Computer" #~ msgstr "Камп'ютар" diff --git a/po/gl.po b/po/gl.po index c122714c..42dccb54 100644 --- a/po/gl.po +++ b/po/gl.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-04-29 15:27+0000\n" -"PO-Revision-Date: 2024-09-02 20:15+0200\n" +"POT-Creation-Date: 2025-04-11 01:52+0000\n" +"PO-Revision-Date: 2025-04-15 21:11+0200\n" "Last-Translator: Fran Dieguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -44,11 +44,11 @@ msgstr "GNOME clásico en Wayland" msgid "GNOME Classic on Xorg" msgstr "GNOME clásico en Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Favoritos" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Aplicacións" @@ -64,17 +64,17 @@ msgstr "" "Unha lista de cadeas, cada unha das cales contén un id de aplicación (nome " "de ficheiro desktop), seguido por unha coma e o número do espazo de traballo" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" msgstr "Regras da área de traballo" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" msgstr "Engadir regra" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:218 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Fallo ao extraer a unidade «%s»:" @@ -97,10 +97,9 @@ msgid "" "aspect ratio, and consolidating them further to reduce the bounding box. " "This setting applies only with the natural placement strategy." msgstr "" -"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose " -"á taxa de aspecto da pantalla e consolidalas para reducir a caixa " -"envolvente. Esta configuración aplícase só para a estratexia de disposición " -"natural." +"Tente usar mais pantalla para dispor as miniaturas das xanelas adaptándose á " +"taxa de aspecto da pantalla e consolidalas para reducir a caixa envolvente. " +"Esta configuración aplícase só para a estratexia de disposición natural." #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:17 msgid "Place window captions on top" @@ -116,33 +115,40 @@ msgstr "" "respectiva, omitindo a disposición inferior por omisión do shell. Se cambia " "esta configuración deberá reiniciar o shell para que se apliquen os cambios." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Lugares" -#: extensions/places-menu/placeDisplay.js:60 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Produciuse un fallo ao iniciar «%s»" -#: extensions/places-menu/placeDisplay.js:75 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Produciuse un fallo ao montar o volume para «%s»" -#: extensions/places-menu/placeDisplay.js:135 -#: extensions/places-menu/placeDisplay.js:158 -msgid "Computer" -msgstr "Computador" - -#: extensions/places-menu/placeDisplay.js:333 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Cartafol persoal" -#: extensions/places-menu/placeDisplay.js:378 -msgid "Browse Network" -msgstr "Explorar a rede" +#: extensions/places-menu/placeDisplay.js:321 +msgid "Recent" +msgstr "Recente" + +#: extensions/places-menu/placeDisplay.js:327 +msgid "Starred" +msgstr "" + +#: extensions/places-menu/placeDisplay.js:347 +msgid "Network" +msgstr "Rede" + +#: extensions/places-menu/placeDisplay.js:354 +msgid "Trash" +msgstr "Lixo" #: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:14 msgid "Cycle Screenshot Sizes" @@ -232,47 +238,47 @@ msgstr "Nome do tema" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "O nome do tema, a cargar desde ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:72 +#: extensions/window-list/extension.js:95 msgid "Close" msgstr "Pechar" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:122 msgid "Unminimize" msgstr "Restabelecer" -#: extensions/window-list/extension.js:99 +#: extensions/window-list/extension.js:122 msgid "Minimize" msgstr "Minimizar" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:129 msgid "Unmaximize" msgstr "Restaurar" -#: extensions/window-list/extension.js:106 +#: extensions/window-list/extension.js:129 msgid "Maximize" msgstr "Maximizar" -#: extensions/window-list/extension.js:471 +#: extensions/window-list/extension.js:721 msgid "Minimize all" msgstr "Minimizar todo" -#: extensions/window-list/extension.js:477 +#: extensions/window-list/extension.js:727 msgid "Unminimize all" msgstr "Restaurar todo" -#: extensions/window-list/extension.js:483 +#: extensions/window-list/extension.js:733 msgid "Maximize all" msgstr "Maximizar todo" -#: extensions/window-list/extension.js:491 +#: extensions/window-list/extension.js:741 msgid "Unmaximize all" msgstr "Restaurar todo" -#: extensions/window-list/extension.js:499 +#: extensions/window-list/extension.js:749 msgid "Close all" msgstr "Pechar todo" -#: extensions/window-list/extension.js:778 +#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Lista de xanelas" @@ -290,15 +296,14 @@ msgstr "" "(sempre)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:79 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" msgstr "Mostrar as xanelas de todos os espazos de traballo" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27 msgid "Whether to show windows from all workspaces or only the current one." msgstr "" -"Indica se mostrar as xanelas de todos os espazos de traballo ou só no " -"actual." +"Indica se mostrar as xanelas de todos os espazos de traballo ou só no actual." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:33 msgid "Show the window list on all monitors" @@ -316,47 +321,26 @@ msgstr "" msgid "Show workspace previews in window list" msgstr "Mostras as vistas previas do espazo de traballo na lista de xanelas" -#: extensions/window-list/prefs.js:35 +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Agrupación de xanelas" -#: extensions/window-list/prefs.js:40 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Non agrupar nunca as xanelas" -#: extensions/window-list/prefs.js:41 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Agrupar as xanelas cando o espazo é limitado" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Agrupar sempre as xanelas" -#: extensions/window-list/prefs.js:66 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "Mostrar en todos os monitores" -#: extensions/window-list/prefs.js:92 -msgid "Show workspace previews" -msgstr "Mostrar a vista previa dos espazo de traballo" - -#: extensions/workspace-indicator/prefs.js:30 -msgid "Show Previews In Top Bar" -msgstr "Mostrar as vistas previas na barra superior" - -#: extensions/workspace-indicator/prefs.js:88 -#, javascript-format -msgid "Workspace %d" -msgstr "Espazos de traballo %d" - -#: extensions/workspace-indicator/prefs.js:155 -msgid "Workspace Names" -msgstr "Nomes dos espazos de traballo" - -#: extensions/workspace-indicator/prefs.js:281 -msgid "Add Workspace" -msgstr "Engadir área de traballo" - #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 msgid "Show workspace previews in top bar" msgstr "Mostrar as vistas previas do espazo de traballo na barra superior" @@ -365,6 +349,37 @@ msgstr "Mostrar as vistas previas do espazo de traballo na barra superior" msgid "Workspace Indicator" msgstr "Indicador de espazo de traballo" +#: extensions/workspace-indicator/workspacePrefs.js:28 +msgid "Show Previews" +msgstr "Mostrar vistas previas" + +#: extensions/workspace-indicator/workspacePrefs.js:86 +#, javascript-format +msgid "Workspace %d" +msgstr "Espazos de traballo %d" + +#: extensions/workspace-indicator/workspacePrefs.js:153 +msgid "Workspace Names" +msgstr "Nomes dos espazos de traballo" + +#: extensions/workspace-indicator/workspacePrefs.js:170 +msgid "Add Workspace" +msgstr "Engadir área de traballo" + +#: extensions/workspace-indicator/workspacePrefs.js:195 +msgid "Remove" +msgstr "Eliminar" + +#: extensions/workspace-indicator/workspacePrefs.js:225 +msgid "Workspaces" +msgstr "Espazos de traballo" + +#~ msgid "Computer" +#~ msgstr "Computador" + +#~ msgid "Show workspace previews" +#~ msgstr "Mostrar a vista previa dos espazo de traballo" + #~ msgid "Applications" #~ msgstr "Aplicacións" diff --git a/po/ia.po b/po/ia.po index f60c6486..e2550c7d 100644 --- a/po/ia.po +++ b/po/ia.po @@ -9,10 +9,10 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2025-02-13 00:15+0000\n" -"PO-Revision-Date: 2025-02-14 10:36-0300\n" +"POT-Creation-Date: 2025-05-15 14:23+0000\n" +"PO-Revision-Date: 2025-05-26 20:20-0400\n" "Last-Translator: Emilio Sepúlveda \n" -"Language-Team: Interlingua\n" +"Language-Team: Interlingua \n" "Language: ia\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,7 +23,7 @@ msgstr "" "X-DL-Domain: po\n" "X-DL-State: Translating\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Gtranslator 47.1\n" +"X-Generator: Gtranslator 48.0\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -42,11 +42,11 @@ msgstr "GNOME Classic sur Wayland" msgid "GNOME Classic on Xorg" msgstr "GNOME Classic sur Xorg" -#: extensions/apps-menu/extension.js:125 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Favoritos" -#: extensions/apps-menu/extension.js:399 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Applicationes" @@ -172,7 +172,7 @@ msgstr "Statos del intercambio" #: extensions/system-monitor/extension.js:336 msgid "Upload stats" -msgstr "Statisticas de carga" +msgstr "Statisticas de incarga" #: extensions/system-monitor/extension.js:350 msgid "Download stats" @@ -200,7 +200,7 @@ msgstr "Intercambio" #: extensions/system-monitor/extension.js:420 msgid "Upload" -msgstr "Carga" +msgstr "Incarga" #: extensions/system-monitor/extension.js:422 msgid "Download" @@ -224,7 +224,7 @@ msgstr "Monstrar usage del intercambio" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:24 msgid "Show upload" -msgstr "Monstrar carga" +msgstr "Monstrar incarga" #: extensions/system-monitor/schemas/org.gnome.shell.extensions.system-monitor.gschema.xml:28 msgid "Show download" @@ -236,7 +236,7 @@ msgstr "Nomine de thema" #: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:12 msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" -msgstr "Le nomine del thema a cargar desde ~/.themes/nomine/gnome-shell" +msgstr "Le nomine del thema a cargar ab ~/.themes/nomine/gnome-shell" #: extensions/window-list/extension.js:95 msgid "Close" @@ -250,35 +250,35 @@ msgstr "Disminimisar" msgid "Minimize" msgstr "Minimisar" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:127 msgid "Unmaximize" msgstr "Dismaximisar" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:127 msgid "Maximize" msgstr "Maximisar" -#: extensions/window-list/extension.js:721 +#: extensions/window-list/extension.js:719 msgid "Minimize all" msgstr "Minimisar toto" -#: extensions/window-list/extension.js:727 +#: extensions/window-list/extension.js:725 msgid "Unminimize all" msgstr "Disminimisar toto" -#: extensions/window-list/extension.js:733 +#: extensions/window-list/extension.js:731 msgid "Maximize all" msgstr "Maximisar toto" -#: extensions/window-list/extension.js:741 +#: extensions/window-list/extension.js:739 msgid "Unmaximize all" msgstr "Dismaximisar toto" -#: extensions/window-list/extension.js:749 +#: extensions/window-list/extension.js:747 msgid "Close all" msgstr "Clauder toto" -#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:990 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Lista de fenestras" diff --git a/po/ka.po b/po/ka.po index 583404f3..7c9f7bba 100644 --- a/po/ka.po +++ b/po/ka.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2025-02-13 00:15+0000\n" -"PO-Revision-Date: 2025-02-23 06:57+0100\n" +"POT-Creation-Date: 2025-06-18 23:32+0000\n" +"PO-Revision-Date: 2025-06-21 06:43+0200\n" "Last-Translator: Ekaterine Papava \n" "Language-Team: \n" "Language: ka\n" @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.5\n" +"X-Generator: Poedit 3.6\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -36,11 +36,11 @@ msgstr "GNOME CLassic Wayland-ზე" msgid "GNOME Classic on Xorg" msgstr "GNOME Classic Xorg" -#: extensions/apps-menu/extension.js:125 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "რჩეულები" -#: extensions/apps-menu/extension.js:399 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "აპები" @@ -231,47 +231,47 @@ msgstr "თემის სახელი" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "თემის სახელი, ~/.themes/name/gnome-shell-დან ჩასატვირთად" -#: extensions/window-list/extension.js:95 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "დახურვა" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "ამოკეცვა" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "ჩაკეცვა" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "საწყის ზომაზე დაბრუნება" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "მთელ ეკრანზე გაშლა" -#: extensions/window-list/extension.js:721 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "ყველას ჩაკეცვა" -#: extensions/window-list/extension.js:727 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "ყველას ამოკეცვა" -#: extensions/window-list/extension.js:733 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "ყველას მთელ ეკრანზე გაშლა" -#: extensions/window-list/extension.js:741 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "ყველას საწყის ზომაზე დაბრუნება" -#: extensions/window-list/extension.js:749 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "ყველას დახურვა" -#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "ფანჯრების სია" @@ -334,35 +334,69 @@ msgstr "ყველა ეკრანზე ჩვენება" msgid "Show workspace previews in top bar" msgstr "სამუშაო სივრცის მინიატურების ჩვენება ზედა პანელზე" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "ჩასწორებისთვის დააჭირეთ ღილაკს %s" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "მორგება" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "სამუშაო სივრცის ინდიკატორი" -#: extensions/workspace-indicator/workspacePrefs.js:28 -msgid "Show Previews" -msgstr "მინიატურების ჩვენება" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "მაჩვენებელი" -#: extensions/workspace-indicator/workspacePrefs.js:86 -#, javascript-format -msgid "Workspace %d" -msgstr "სამუშაო სივრცე %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "მინიატურები" -#: extensions/workspace-indicator/workspacePrefs.js:153 -msgid "Workspace Names" -msgstr "სამუშაო სივრცის სახელები" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "სამუშაო სივრცის სახელი" -#: extensions/workspace-indicator/workspacePrefs.js:170 -msgid "Add Workspace" -msgstr "სამუშაო სივრცის დამატება" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "ქცევა" -#: extensions/workspace-indicator/workspacePrefs.js:195 -msgid "Remove" -msgstr "წაშლა" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "დინამიკური" -#: extensions/workspace-indicator/workspacePrefs.js:225 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "ცარიელი სამუშაო სივრცეების ავტომატური წაშლა." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "ფიქსირებული ნომერი" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "მიუთითეთ სამუშაო სივრცეების ფიქსირებული რაოდენობა." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "სამუშაო სივრცეების რაოდენობა" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "სამუშაო სივრცეები" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "სამუშაო სივრცე %d" + +#~ msgid "Add Workspace" +#~ msgstr "სამუშაო სივრცის დამატება" + +#~ msgid "Remove" +#~ msgstr "წაშლა" + #~ msgid "Computer" #~ msgstr "კომპიუტერი" diff --git a/po/pt_BR.po b/po/pt_BR.po index 3c756ccf..b2ed48f4 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -10,22 +10,23 @@ # Enrico Nicoletto , 2013, 2014. # Matheus Polkorny , 2024. # Rafael Fontenelle , 2013-2025. +# Álvaro Burns <>, 2025. # 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: 2025-01-13 16:23+0000\n" -"PO-Revision-Date: 2025-01-19 21:11-0300\n" -"Last-Translator: Rafael Fontenelle \n" -"Language-Team: Brazilian Portuguese \n" +"POT-Creation-Date: 2025-06-18 23:32+0000\n" +"PO-Revision-Date: 2025-06-24 11:27-0300\n" +"Last-Translator: Álvaro Burns <>\n" +"Language-Team: Brazilian Portuguese \n" "Language: pt_BR\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: Gtranslator 47.1\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Gtranslator 48.0\n" "X-Project-Style: gnome\n" #: data/gnome-classic.desktop.in:3 @@ -45,11 +46,11 @@ msgstr "GNOME Clássico no Wayland" msgid "GNOME Classic on Xorg" msgstr "GNOME Clássico no Xorg" -#: extensions/apps-menu/extension.js:125 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Favoritos" -#: extensions/apps-menu/extension.js:399 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Aplicativos" @@ -240,47 +241,47 @@ msgstr "Nome do tema" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "O nome do tema, para ser carregado de ~/.themes/nome/gnome-shell" -#: extensions/window-list/extension.js:95 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Fechar" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Desfazer janelas minimizadas" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Minimizar" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Desfazer janelas maximizadas" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Maximizar" -#: extensions/window-list/extension.js:721 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Minimizar todas" -#: extensions/window-list/extension.js:727 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Desfazer todas as janelas minimizadas" -#: extensions/window-list/extension.js:733 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Maximizar todas" -#: extensions/window-list/extension.js:741 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Desfazer todas as janelas maximizadas" -#: extensions/window-list/extension.js:749 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Fechar todas" -#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Lista de janelas" @@ -347,35 +348,69 @@ msgstr "Mostrar em todos os monitores" msgid "Show workspace previews in top bar" msgstr "Mostra prévias do espaço de trabalho na barra superior" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Clique em %s para editar" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Configurações" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "Indicador de espaços de trabalho" -#: extensions/workspace-indicator/workspacePrefs.js:28 -msgid "Show Previews" -msgstr "Mostrar prévias" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Indicador" -#: extensions/workspace-indicator/workspacePrefs.js:86 -#, javascript-format -msgid "Workspace %d" -msgstr "Espaço de trabalho %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Prévias" -#: extensions/workspace-indicator/workspacePrefs.js:153 -msgid "Workspace Names" -msgstr "Nomes de espaços de trabalho" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Nome do espaço de trabalho" -#: extensions/workspace-indicator/workspacePrefs.js:170 -msgid "Add Workspace" -msgstr "Adicionar espaço de trabalho" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Comportamento" -#: extensions/workspace-indicator/workspacePrefs.js:195 -msgid "Remove" -msgstr "Remove" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Dinâmica" -#: extensions/workspace-indicator/workspacePrefs.js:225 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Remover espaços de trabalho automaticamente." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Número fixo" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Especifique um número permanente de espaços de trabalho." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Número de espaços de trabalho" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Espaços de trabalho" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "Espaço de trabalho %d" + +#~ msgid "Add Workspace" +#~ msgstr "Adicionar espaço de trabalho" + +#~ msgid "Remove" +#~ msgstr "Remove" + #~ msgid "Computer" #~ msgstr "Computador" @@ -513,9 +548,6 @@ msgstr "Espaços de trabalho" #~ msgid "Display" #~ msgstr "Tela" -#~ msgid "Display Settings" -#~ msgstr "Configurações de tela" - #~ msgid "The application icon mode." #~ msgstr "O modo de ícone do aplicativo." @@ -706,9 +738,6 @@ msgstr "Espaços de trabalho" #~ "alternador de Alt-Tab, apenas desative a extensão de extensions.gnome.org " #~ "ou nas configurações avançadas do aplicativo." -#~ msgid "Alt Tab Behaviour" -#~ msgstr "Comportamento do Alt Tab" - #~ msgid "Cancel" #~ msgstr "Cancelar" diff --git a/po/ru.po b/po/ru.po index e328557a..32bb97d3 100644 --- a/po/ru.po +++ b/po/ru.po @@ -9,9 +9,9 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-10-16 14:41+0000\n" -"PO-Revision-Date: 2024-10-27 14:01+0300\n" -"Last-Translator: Artur So \n" +"POT-Creation-Date: 2025-06-18 23:32+0000\n" +"PO-Revision-Date: 2025-06-20 09:30+1000\n" +"Last-Translator: Ser82-png \n" "Language-Team: Русский \n" "Language: ru\n" "MIME-Version: 1.0\n" @@ -19,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 3.5\n" +"X-Generator: Poedit 3.0.1\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -38,11 +38,11 @@ msgstr "Классический GNOME на Wayland" msgid "GNOME Classic on Xorg" msgstr "Классический GNOME на Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Избранное" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Приложения" @@ -55,20 +55,20 @@ msgid "" "A list of strings, each containing an application id (desktop file name), " "followed by a colon and the workspace number" msgstr "" -"Список строк, содержащих идентификатор приложения (имя desktop-файла), за " -"которым следует двоеточие и номер рабочего стола" +"Список строк, содержащих идентификатор приложения (название desktop-файла), " +"за которым следует двоеточие и номер рабочего стола" -#: extensions/auto-move-windows/prefs.js:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" msgstr "Правила для рабочих столов" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" msgstr "Добавить правило" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:187 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Не удалось извлечь диск «%s»:" @@ -110,38 +110,38 @@ msgstr "" "умолчанию заголовки располагаются снизу). При изменении этого параметра, " "чтобы оно вступило в силу, необходимо перезапустить Shell." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Места" -#: extensions/places-menu/placeDisplay.js:53 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Не удалось запустить «%s»" -#: extensions/places-menu/placeDisplay.js:68 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Не удалось смонтировать том для «%s»" -#: extensions/places-menu/placeDisplay.js:316 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Домашняя папка" -#: extensions/places-menu/placeDisplay.js:322 +#: extensions/places-menu/placeDisplay.js:321 msgid "Recent" msgstr "Недавние" -#: extensions/places-menu/placeDisplay.js:328 +#: extensions/places-menu/placeDisplay.js:327 msgid "Starred" msgstr "Избранные" -#: extensions/places-menu/placeDisplay.js:348 +#: extensions/places-menu/placeDisplay.js:347 msgid "Network" msgstr "Сеть" -#: extensions/places-menu/placeDisplay.js:355 +#: extensions/places-menu/placeDisplay.js:354 msgid "Trash" msgstr "Корзина" @@ -233,49 +233,49 @@ msgstr "Название темы" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "Название темы, загружаемой из ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:92 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Закрыть" # ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Вернуть" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Свернуть" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Восстановить" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Развернуть" -#: extensions/window-list/extension.js:641 +#: extensions/window-list/extension.js:720 msgid "Minimize all" msgstr "Свернуть все" # ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize) -#: extensions/window-list/extension.js:647 +#: extensions/window-list/extension.js:726 msgid "Unminimize all" msgstr "Вернуть все" -#: extensions/window-list/extension.js:653 +#: extensions/window-list/extension.js:732 msgid "Maximize all" msgstr "Развернуть все" -#: extensions/window-list/extension.js:661 +#: extensions/window-list/extension.js:740 msgid "Unmaximize all" msgstr "Восстановить все" -#: extensions/window-list/extension.js:669 +#: extensions/window-list/extension.js:748 msgid "Close all" msgstr "Закрыть все" -#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24 +#: extensions/window-list/extension.js:1000 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Список окон" @@ -293,7 +293,7 @@ msgstr "" "«always» — всегда." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:75 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" msgstr "Показывать окна со всех рабочих столов" @@ -316,61 +316,95 @@ msgstr "" #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41 msgid "Show workspace previews in window list" -msgstr "Показывать предпросмотры рабочих столов в списке окон" +msgstr "Показывать предварительный просмотр рабочих столов в списке окон" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Группировка окон" -#: extensions/window-list/prefs.js:47 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Никогда не группировать окна" -#: extensions/window-list/prefs.js:48 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Группировать окна, если место ограничено" -#: extensions/window-list/prefs.js:49 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Всегда группировать окна" -#: extensions/window-list/prefs.js:69 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "Показывать на всех мониторах" #: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12 msgid "Show workspace previews in top bar" -msgstr "Показывать предпросмотры рабочих столов в верхней панели" +msgstr "Показывать предварительный просмотр рабочих столов в верхней панели" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Нажмите %s для редактирования" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Настройки" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "Индикатор рабочих столов" -#: extensions/workspace-indicator/workspacePrefs.js:29 -msgid "Show Previews" -msgstr "Показывать предпросмотры" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Индикатор" -#: extensions/workspace-indicator/workspacePrefs.js:87 -#, javascript-format -msgid "Workspace %d" -msgstr "Рабочий стол %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Предварительный просмотр" -#: extensions/workspace-indicator/workspacePrefs.js:154 -msgid "Workspace Names" -msgstr "Названия рабочих столов" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Название рабочего стола" -#: extensions/workspace-indicator/workspacePrefs.js:171 -msgid "Add Workspace" -msgstr "Добавить рабочий стол" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Поведение" -#: extensions/workspace-indicator/workspacePrefs.js:196 -msgid "Remove" -msgstr "Удалить" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Динамичный" -#: extensions/workspace-indicator/workspacePrefs.js:226 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Автоматически удалять пустые рабочие столы." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Фиксированное количество" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Укажите количество постоянных рабочих столов." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Количество рабочих столов" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Рабочие столы" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "Рабочий стол %d" + +#~ msgid "Add Workspace" +#~ msgstr "Добавить рабочий стол" + +#~ msgid "Remove" +#~ msgstr "Удалить" + #~ msgid "Computer" #~ msgstr "Компьютер" diff --git a/po/sl.po b/po/sl.po index 7ea8265f..5a5e357b 100644 --- a/po/sl.po +++ b/po/sl.po @@ -9,8 +9,8 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2024-10-16 14:41+0000\n" -"PO-Revision-Date: 2024-10-16 23:41+0200\n" +"POT-Creation-Date: 2025-06-17 15:04+0000\n" +"PO-Revision-Date: 2025-06-17 17:09+0200\n" "Last-Translator: Martin Srebotnjak \n" "Language-Team: Slovenian GNOME Translation Team \n" "Language: sl_SI\n" @@ -39,11 +39,11 @@ msgstr "Klasično namizje GNOME na sistemu Wayland" msgid "GNOME Classic on Xorg" msgstr "Klasično namizje GNOME na sistemu Xorg" -#: extensions/apps-menu/extension.js:126 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Priljubljeno" -#: extensions/apps-menu/extension.js:400 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Programi" @@ -59,17 +59,17 @@ msgstr "" "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:159 +#: extensions/auto-move-windows/prefs.js:156 msgid "Workspace Rules" msgstr "Pravila delovnih površin" -#: extensions/auto-move-windows/prefs.js:314 +#: extensions/auto-move-windows/prefs.js:311 msgid "Add Rule" msgstr "Dodaj pravilo" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:187 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "Izmetavanje pogona »%s« je spodletelo:" @@ -110,38 +110,38 @@ msgstr "" "tem prepiše privzeti izpis pod sličico. Za uveljavitev sprememb je treba " "lupino ponovno zagnati." -#: extensions/places-menu/extension.js:91 -#: extensions/places-menu/extension.js:94 +#: extensions/places-menu/extension.js:75 +#: extensions/places-menu/extension.js:78 msgid "Places" msgstr "Mesta" -#: extensions/places-menu/placeDisplay.js:53 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "Zaganjanje »%s« je spodletelo." -#: extensions/places-menu/placeDisplay.js:68 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "Priklapljanje nosilca za »%s« je spodletelo" -#: extensions/places-menu/placeDisplay.js:316 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Osebna mapa" -#: extensions/places-menu/placeDisplay.js:322 +#: extensions/places-menu/placeDisplay.js:321 msgid "Recent" msgstr "Nedavno" -#: extensions/places-menu/placeDisplay.js:328 +#: extensions/places-menu/placeDisplay.js:327 msgid "Starred" msgstr "Z zvezdico" -#: extensions/places-menu/placeDisplay.js:348 +#: extensions/places-menu/placeDisplay.js:347 msgid "Network" msgstr "Omrežje" -#: extensions/places-menu/placeDisplay.js:355 +#: extensions/places-menu/placeDisplay.js:354 msgid "Trash" msgstr "Koš" @@ -233,47 +233,47 @@ msgstr "Ime teme" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "Ime teme, ki bo naložena iz ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:92 +#: extensions/window-list/extension.js:95 msgid "Close" msgstr "Zapri" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:122 msgid "Unminimize" msgstr "Povečaj" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:122 msgid "Minimize" msgstr "Skrči" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:127 msgid "Unmaximize" msgstr "Pomanjšaj" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:127 msgid "Maximize" msgstr "Razpni" -#: extensions/window-list/extension.js:641 +#: extensions/window-list/extension.js:719 msgid "Minimize all" msgstr "Skrči vse" -#: extensions/window-list/extension.js:647 +#: extensions/window-list/extension.js:725 msgid "Unminimize all" msgstr "Pomanjšaj vse" -#: extensions/window-list/extension.js:653 +#: extensions/window-list/extension.js:731 msgid "Maximize all" msgstr "Razpni vse" -#: extensions/window-list/extension.js:661 +#: extensions/window-list/extension.js:739 msgid "Unmaximize all" msgstr "Pomanjšaj vse" -#: extensions/window-list/extension.js:669 +#: extensions/window-list/extension.js:747 msgid "Close all" msgstr "Zapri vse" -#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:24 +#: extensions/window-list/extension.js:999 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Seznam oken" @@ -290,7 +290,7 @@ msgstr "" "Veljavne vrednosti so »nikoli«, »samodejno« in »vedno«." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 -#: extensions/window-list/prefs.js:75 +#: extensions/window-list/prefs.js:74 msgid "Show windows from all workspaces" msgstr "Pokaži okna vseh delovnih površin" @@ -314,23 +314,23 @@ msgstr "" msgid "Show workspace previews in window list" msgstr "Pokaži predoglede delovne površine na seznamu oken" -#: extensions/window-list/prefs.js:42 +#: extensions/window-list/prefs.js:41 msgid "Window Grouping" msgstr "Združevanje oken" -#: extensions/window-list/prefs.js:47 +#: extensions/window-list/prefs.js:46 msgid "Never group windows" msgstr "Nikoli ne združuj oken" -#: extensions/window-list/prefs.js:48 +#: extensions/window-list/prefs.js:47 msgid "Group windows when space is limited" msgstr "Združi okna, ko je prostor omejen" -#: extensions/window-list/prefs.js:49 +#: extensions/window-list/prefs.js:48 msgid "Always group windows" msgstr "Okna vedno združuj" -#: extensions/window-list/prefs.js:69 +#: extensions/window-list/prefs.js:68 msgid "Show on all monitors" msgstr "Pokaži na vseh zaslonih" @@ -338,31 +338,55 @@ msgstr "Pokaži na vseh zaslonih" msgid "Show workspace previews in top bar" msgstr "Pokaži predoglede delovne površine v zgornji vrstici" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Pritisnite %s za urejanje" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Nastavitve" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "Kazalnik delovnih površin" -#: extensions/workspace-indicator/workspacePrefs.js:29 -msgid "Show Previews" -msgstr "Pokaži predoglede" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Pokazatelj" -#: extensions/workspace-indicator/workspacePrefs.js:87 -#, javascript-format -msgid "Workspace %d" -msgstr "Delovna površina %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Predogledi" -#: extensions/workspace-indicator/workspacePrefs.js:154 -msgid "Workspace Names" -msgstr "Imena delovnih površin" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Ime delovne površine" -#: extensions/workspace-indicator/workspacePrefs.js:171 -msgid "Add Workspace" -msgstr "Dodaj delovno površino" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Vedenje" -#: extensions/workspace-indicator/workspacePrefs.js:196 -msgid "Remove" -msgstr "Odstrani" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Dinamično" -#: extensions/workspace-indicator/workspacePrefs.js:226 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Samodejno odstrani prazne delovne površine" + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Fiksno število" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Določite število prikazanih delovnih površin" + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Število delovnih površin" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Delovne površine" diff --git a/po/tr.po b/po/tr.po index d4e1a4e4..e5f26f72 100644 --- a/po/tr.po +++ b/po/tr.po @@ -7,16 +7,16 @@ # Muhammet Kara , 2013-2015. # Furkan Tokaç , 2017. # Sabri Ünal , 2014, 2019, 2022-2024. -# Emin Tufan Çetin , 2017, 2019, 2020, 2022, 2024. +# Emin Tufan Çetin , 2017, 2019, 2020, 2022, 2024, 2025. # 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: 2024-11-25 08:47+0000\n" -"PO-Revision-Date: 2024-11-30 23:58+0300\n" -"Last-Translator: Sabri Ünal \n" +"POT-Creation-Date: 2025-06-17 15:04+0000\n" +"PO-Revision-Date: 2025-06-17 08:00+0300\n" +"Last-Translator: Emin Tufan Çetin \n" "Language-Team: Turkish \n" "Language: tr\n" "MIME-Version: 1.0\n" @@ -42,11 +42,11 @@ msgstr "Wayland üstünde GNOME Klasik" msgid "GNOME Classic on Xorg" msgstr "Xorg üstünde GNOME Klasik" -#: extensions/apps-menu/extension.js:125 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Gözdeler" -#: extensions/apps-menu/extension.js:399 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Uygulamalar" @@ -72,7 +72,7 @@ msgstr "Kural Ekle" #. TRANSLATORS: %s is the filesystem name #: extensions/drive-menu/extension.js:123 -#: extensions/places-menu/placeDisplay.js:187 +#: extensions/places-menu/placeDisplay.js:186 #, javascript-format msgid "Ejecting drive “%s” failed:" msgstr "“%s” sürücüsü çıkarılamadı:" @@ -120,33 +120,33 @@ msgstr "" msgid "Places" msgstr "Yerler" -#: extensions/places-menu/placeDisplay.js:53 +#: extensions/places-menu/placeDisplay.js:52 #, javascript-format msgid "Failed to launch “%s”" msgstr "“%s” başlatılamadı" -#: extensions/places-menu/placeDisplay.js:68 +#: extensions/places-menu/placeDisplay.js:67 #, javascript-format msgid "Failed to mount volume for “%s”" msgstr "“%s” için birim bağlanamadı" -#: extensions/places-menu/placeDisplay.js:316 +#: extensions/places-menu/placeDisplay.js:315 msgid "Home" msgstr "Ev" -#: extensions/places-menu/placeDisplay.js:322 +#: extensions/places-menu/placeDisplay.js:321 msgid "Recent" msgstr "Son" -#: extensions/places-menu/placeDisplay.js:328 +#: extensions/places-menu/placeDisplay.js:327 msgid "Starred" msgstr "Yıldızlı" -#: extensions/places-menu/placeDisplay.js:348 +#: extensions/places-menu/placeDisplay.js:347 msgid "Network" msgstr "Ağ" -#: extensions/places-menu/placeDisplay.js:355 +#: extensions/places-menu/placeDisplay.js:354 msgid "Trash" msgstr "Çöp" @@ -238,47 +238,47 @@ msgstr "Tema adı" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "~/.themes/name/gnome-shell konumundan edinilen tema adı" -#: extensions/window-list/extension.js:92 +#: extensions/window-list/extension.js:95 msgid "Close" msgstr "Kapat" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:122 msgid "Unminimize" msgstr "Önceki duruma getir" -#: extensions/window-list/extension.js:119 +#: extensions/window-list/extension.js:122 msgid "Minimize" msgstr "Simge durumuna küçült" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:127 msgid "Unmaximize" msgstr "Önceki duruma getir" -#: extensions/window-list/extension.js:126 +#: extensions/window-list/extension.js:127 msgid "Maximize" msgstr "En büyük duruma getir" -#: extensions/window-list/extension.js:641 +#: extensions/window-list/extension.js:719 msgid "Minimize all" msgstr "Tümünü simge durumuna küçült" -#: extensions/window-list/extension.js:647 +#: extensions/window-list/extension.js:725 msgid "Unminimize all" msgstr "Tümünü önceki duruma getir" -#: extensions/window-list/extension.js:653 +#: extensions/window-list/extension.js:731 msgid "Maximize all" msgstr "Tümünü en büyük duruma getir" -#: extensions/window-list/extension.js:661 +#: extensions/window-list/extension.js:739 msgid "Unmaximize all" msgstr "Tümünü önceki duruma getir" -#: extensions/window-list/extension.js:669 +#: extensions/window-list/extension.js:747 msgid "Close all" msgstr "Tümünü kapat" -#: extensions/window-list/extension.js:911 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:999 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Pencere Listesi" @@ -292,8 +292,8 @@ msgid "" "Possible values are “never”, “auto” and “always”." msgstr "" "Pencere listesinde aynı uygulamaların ne zaman kümeleneceğine karar verir. " -"Olası değerler: “never” (hiçbir zaman), “auto” (kendiliğinden) ve " -"“always” (her zaman)." +"Olası değerler: “never” (hiçbir zaman), “auto” (kendiliğinden) ve “always” " +"(her zaman)." #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26 #: extensions/window-list/prefs.js:74 @@ -346,31 +346,55 @@ msgstr "Tüm monitörlerde göster" msgid "Show workspace previews in top bar" msgstr "Çalışma alanı ön izlemelerini üst çubukta göster" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Düzenlemek için şuna bas: %s" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Ayarlar" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "Çalışma Alanı Belirteci" -#: extensions/workspace-indicator/workspacePrefs.js:28 -msgid "Show Previews" -msgstr "Ön İzlemeleri Göster" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "Belirteç" -#: extensions/workspace-indicator/workspacePrefs.js:86 -#, javascript-format -msgid "Workspace %d" -msgstr "Çalışma Alanı %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "Ön İzlemeler" -#: extensions/workspace-indicator/workspacePrefs.js:153 -msgid "Workspace Names" -msgstr "Çalışma Alanı Adları" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" +msgstr "Çalışma Alanı Adı" -#: extensions/workspace-indicator/workspacePrefs.js:170 -msgid "Add Workspace" -msgstr "Çalışma Alanı Ekle" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "Davranış" -#: extensions/workspace-indicator/workspacePrefs.js:195 -msgid "Remove" -msgstr "Kaldır" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Devimsel" -#: extensions/workspace-indicator/workspacePrefs.js:225 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Boş çalışma alanlarını kendiliğinden kaldırır." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Ayarlı Sayı" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Kalıcı çalışma alanı sayısı belirle." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "Çalışma Alanı Sayısı" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Çalışma Alanları" diff --git a/po/uk.po b/po/uk.po index b4dfb0f5..89599e9c 100644 --- a/po/uk.po +++ b/po/uk.po @@ -10,8 +10,8 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/i" "ssues\n" -"POT-Creation-Date: 2025-02-13 00:15+0000\n" -"PO-Revision-Date: 2025-02-23 22:16+0200\n" +"POT-Creation-Date: 2025-06-17 15:45+0000\n" +"PO-Revision-Date: 2025-06-17 19:14+0300\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "Language: uk\n" @@ -40,11 +40,11 @@ msgstr "Класичний GNOME на Wayland" msgid "GNOME Classic on Xorg" msgstr "Класичний GNOME на Xorg" -#: extensions/apps-menu/extension.js:125 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "Улюблене" -#: extensions/apps-menu/extension.js:399 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "Програми" @@ -140,7 +140,6 @@ msgid "Starred" msgstr "З зірочками" #: extensions/places-menu/placeDisplay.js:347 -#| msgid "Browse Network" msgid "Network" msgstr "Мережа" @@ -236,47 +235,47 @@ msgstr "Назва теми" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "Назва теми, що завантажується з ~/.themes/name/gnome-shell" -#: extensions/window-list/extension.js:95 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "Закрити" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "Відновити згорнуте" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "Згорнути" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "Відновити розгорнуте" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "Розгорнути" -#: extensions/window-list/extension.js:721 +#: extensions/window-list/extension.js:722 msgid "Minimize all" msgstr "Згорнути все" -#: extensions/window-list/extension.js:727 +#: extensions/window-list/extension.js:728 msgid "Unminimize all" msgstr "Відновити все згорнуте" -#: extensions/window-list/extension.js:733 +#: extensions/window-list/extension.js:734 msgid "Maximize all" msgstr "Розгорнути все" -#: extensions/window-list/extension.js:741 +#: extensions/window-list/extension.js:742 msgid "Unmaximize all" msgstr "Відновити все розгорнуте" -#: extensions/window-list/extension.js:749 +#: extensions/window-list/extension.js:750 msgid "Close all" msgstr "Закрити все" -#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:1002 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "Перелік вікон" @@ -341,37 +340,74 @@ msgstr "Показувати на всіх моніторах" msgid "Show workspace previews in top bar" msgstr "Показувати мініатюри робочого простору на верхній панелі" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "Натисніть %s для редагування" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "Параметри" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "Покажчик робочого простору" -#: extensions/workspace-indicator/workspacePrefs.js:28 -#| msgid "Show Previews In Top Bar" -msgid "Show Previews" -msgstr "Показувати мініатюри" +#: extensions/workspace-indicator/workspacePrefs.js:20 +#| msgid "Workspace Indicator" +msgid "Indicator" +msgstr "Індикатор" -#: extensions/workspace-indicator/workspacePrefs.js:86 -#, javascript-format -msgid "Workspace %d" -msgstr "Робочий простір %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +#| msgid "Show Previews" +msgid "Previews" +msgstr "Попередній перегляд" -#: extensions/workspace-indicator/workspacePrefs.js:153 -msgid "Workspace Names" -msgstr "Назви робочих просторів" +#: extensions/workspace-indicator/workspacePrefs.js:35 +#| msgid "Workspace Names" +msgid "Workspace Name" +msgstr "Назва робочої області" -#: extensions/workspace-indicator/workspacePrefs.js:170 -msgid "Add Workspace" -msgstr "Додати робочий простір" +#: extensions/workspace-indicator/workspacePrefs.js:59 +#| msgid "Alt Tab Behaviour" +msgid "Behavior" +msgstr "Поведінка" -#: extensions/workspace-indicator/workspacePrefs.js:195 -msgid "Remove" -msgstr "Вилучити" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "Динамічний" -#: extensions/workspace-indicator/workspacePrefs.js:225 -#| msgid "Workspace" +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "Автоматично вилучає порожні робочі простори." + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "Фіксована кількість" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "Вкажіть кількість сталих робочих просторів." + +#: extensions/workspace-indicator/workspacePrefs.js:89 +#| msgid "Workspaces" +msgid "Number of Workspaces" +msgstr "Кількість робочих просторів" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "Робочі простори" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "Робочий простір %d" + +#~ msgid "Add Workspace" +#~ msgstr "Додати робочий простір" + +#~ msgid "Remove" +#~ msgstr "Вилучити" + #~ msgid "Computer" #~ msgstr "Комп'ютер" @@ -539,9 +575,6 @@ msgstr "Робочі простори" #~ "просто\n" #~ "вимкнути розширення з extensions.gnome.org або в додаткових параметрах ." -#~ msgid "Alt Tab Behaviour" -#~ msgstr "Режим Alt Tab" - #~ msgid "Cancel" #~ msgstr "Скасувати" diff --git a/po/zh_CN.po b/po/zh_CN.po index 7c0f2b66..7b4139b9 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -14,8 +14,8 @@ msgstr "" "Project-Id-Version: gnome-shell-extensions master\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/" "issues\n" -"POT-Creation-Date: 2025-02-13 00:15+0000\n" -"PO-Revision-Date: 2025-03-02 14:19+0800\n" +"POT-Creation-Date: 2025-06-17 15:45+0000\n" +"PO-Revision-Date: 2025-06-18 08:42+0800\n" "Last-Translator: lumingzh \n" "Language-Team: Chinese (China) \n" "Language: zh_CN\n" @@ -23,7 +23,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Gtranslator 47.1\n" +"X-Generator: Gtranslator 48.0\n" #: data/gnome-classic.desktop.in:3 msgid "GNOME Classic" @@ -42,11 +42,11 @@ msgstr "GNOME Wayland 经典模式" msgid "GNOME Classic on Xorg" msgstr "GNOME Xorg 经典模式" -#: extensions/apps-menu/extension.js:125 +#: extensions/apps-menu/extension.js:118 msgid "Favorites" msgstr "收藏" -#: extensions/apps-menu/extension.js:399 +#: extensions/apps-menu/extension.js:392 msgid "Apps" msgstr "应用" @@ -233,47 +233,47 @@ msgstr "主题名称" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell" msgstr "从 ~/.themes/name/gnome-shell 加载的主题名称" -#: extensions/window-list/extension.js:95 +#: extensions/window-list/extension.js:98 msgid "Close" msgstr "关闭" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Unminimize" msgstr "取消最小化" -#: extensions/window-list/extension.js:122 +#: extensions/window-list/extension.js:125 msgid "Minimize" msgstr "最小化" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Unmaximize" msgstr "取消最大化" -#: extensions/window-list/extension.js:129 +#: extensions/window-list/extension.js:130 msgid "Maximize" msgstr "最大化" -#: extensions/window-list/extension.js:721 +#: extensions/window-list/extension.js:722 msgid "Minimize all" msgstr "全部最小化" -#: extensions/window-list/extension.js:727 +#: extensions/window-list/extension.js:728 msgid "Unminimize all" msgstr "全部取消最小化" -#: extensions/window-list/extension.js:733 +#: extensions/window-list/extension.js:734 msgid "Maximize all" msgstr "全部最大化" -#: extensions/window-list/extension.js:741 +#: extensions/window-list/extension.js:742 msgid "Unmaximize all" msgstr "全部取消最大化" -#: extensions/window-list/extension.js:749 +#: extensions/window-list/extension.js:750 msgid "Close all" msgstr "全部关闭" -#: extensions/window-list/extension.js:992 extensions/window-list/prefs.js:23 +#: extensions/window-list/extension.js:1002 extensions/window-list/prefs.js:23 msgid "Window List" msgstr "窗口列表" @@ -336,35 +336,69 @@ msgstr "在所有显示器上显示" msgid "Show workspace previews in top bar" msgstr "在顶栏显示工作区预览" -#: extensions/workspace-indicator/workspaceIndicator.js:430 +#: extensions/workspace-indicator/workspaceIndicator.js:404 +#, javascript-format +msgid "Press %s to edit" +msgstr "按 %s 以编辑" + +#: extensions/workspace-indicator/workspaceIndicator.js:512 +msgid "Settings" +msgstr "设置" + +#: extensions/workspace-indicator/workspaceIndicator.js:592 msgid "Workspace Indicator" msgstr "工作区指示器" -#: extensions/workspace-indicator/workspacePrefs.js:28 -msgid "Show Previews" -msgstr "显示预览" +#: extensions/workspace-indicator/workspacePrefs.js:20 +msgid "Indicator" +msgstr "指示器" -#: extensions/workspace-indicator/workspacePrefs.js:86 -#, javascript-format -msgid "Workspace %d" -msgstr "工作区 %d" +#: extensions/workspace-indicator/workspacePrefs.js:25 +msgid "Previews" +msgstr "预览" -#: extensions/workspace-indicator/workspacePrefs.js:153 -msgid "Workspace Names" +#: extensions/workspace-indicator/workspacePrefs.js:35 +msgid "Workspace Name" msgstr "工作区名称" -#: extensions/workspace-indicator/workspacePrefs.js:170 -msgid "Add Workspace" -msgstr "添加工作区" +#: extensions/workspace-indicator/workspacePrefs.js:59 +msgid "Behavior" +msgstr "行为" -#: extensions/workspace-indicator/workspacePrefs.js:195 -msgid "Remove" -msgstr "移除" +#: extensions/workspace-indicator/workspacePrefs.js:64 +msgid "Dynamic" +msgstr "动态" -#: extensions/workspace-indicator/workspacePrefs.js:225 +#: extensions/workspace-indicator/workspacePrefs.js:65 +msgid "Automatically removes empty workspaces." +msgstr "自动移除空的工作空间。" + +#: extensions/workspace-indicator/workspacePrefs.js:75 +msgid "Fixed Number" +msgstr "固定数量" + +#: extensions/workspace-indicator/workspacePrefs.js:76 +msgid "Specify a number of permanent workspaces." +msgstr "指定永久存在的工作空间的数量。" + +#: extensions/workspace-indicator/workspacePrefs.js:89 +msgid "Number of Workspaces" +msgstr "工作区数量" + +#: extensions/workspace-indicator/workspacePrefs.js:128 msgid "Workspaces" msgstr "工作区" +#, javascript-format +#~ msgid "Workspace %d" +#~ msgstr "工作区 %d" + +#~ msgid "Add Workspace" +#~ msgstr "添加工作区" + +#~ msgid "Remove" +#~ msgstr "移除" + #~ msgid "Computer" #~ msgstr "计算机" @@ -493,9 +527,6 @@ msgstr "工作区" #~ msgid "Display" #~ msgstr "显示" -#~ msgid "Display Settings" -#~ msgstr "显示设置" - #~ msgid "The application icon mode." #~ msgstr "应用程序图标模式。" @@ -642,9 +673,6 @@ msgstr "工作区" #~ msgid "Log Out..." #~ msgstr "注销..." -#~ msgid "Alt Tab Behaviour" -#~ msgstr "Alt Tab 行为" - #~ msgid "Cancel" #~ msgstr "取消"