From 0a066890cb4bf3136e2b23334fcc968952893981 Mon Sep 17 00:00:00 2001 From: MarkS Date: Fri, 31 Jul 2020 15:58:33 -0600 Subject: [PATCH 01/13] Display panel along percent of screen edge Set the length of the panel according to a specified percent value, so it can span only part of the screen edge. Position the panel at the start, middle, or end of the screen edge, as specified. Tests okay with multiple monitors. May also satisfy home-sweet-gnome/dash-to-panel#726 --- Settings.ui | 68 +++++++++++++++++++ panel.js | 29 +++++++- panelManager.js | 2 + panelPositions.js | 4 ++ prefs.js | 19 +++++- ...shell.extensions.dash-to-panel.gschema.xml | 15 ++++ 6 files changed, 133 insertions(+), 4 deletions(-) diff --git a/Settings.ui b/Settings.ui index 052397f..a92d065 100644 --- a/Settings.ui +++ b/Settings.ui @@ -2,6 +2,11 @@ + + 100 + 1 + 10 + 0.33 1 @@ -4801,6 +4806,69 @@ 2 + + + True + False + 12 + 12 + False + Length along screen edge, in percent + 0 + + + 0 + 3 + + + + + True + True + 12 + 12 + 5 + 100 + adjustment1 + True + 100 + + + 1 + 3 + + + + + True + False + 12 + 12 + False + Position along screen edge + 0 + + + 0 + 4 + + + + + True + False + center + + Start + Middle + End + + + + 1 + 4 + + diff --git a/panel.js b/panel.js index b089aab..9bcce26 100644 --- a/panel.js +++ b/panel.js @@ -798,6 +798,9 @@ var dtpPanel = Utils.defineClass({ let topPadding = panelBoxTheme.get_padding(St.Side.TOP); let tbPadding = topPadding + panelBoxTheme.get_padding(St.Side.BOTTOM); let position = this.getPosition(); + let length = Me.settings.get_int('panel-length') / 100; + let anchor = Me.settings.get_string('panel-anchor'); + let anchorPlaceOnMonitor = 0; let gsTopPanelOffset = 0; let x = 0, y = 0; let w = 0, h = 0; @@ -819,13 +822,13 @@ var dtpPanel = Utils.defineClass({ this.varCoord = { c1: 'y1', c2: 'y2' }; w = this.dtpSize; - h = this.monitor.height - tbPadding - gsTopPanelOffset; + h = this.monitor.height * length - tbPadding - gsTopPanelOffset; } else { this.sizeFunc = 'get_preferred_width'; this.fixedCoord = { c1: 'y1', c2: 'y2' }; this.varCoord = { c1: 'x1', c2: 'x2' }; - w = this.monitor.width - lrPadding; + w = this.monitor.width * length - lrPadding; h = this.dtpSize; } @@ -836,10 +839,30 @@ var dtpPanel = Utils.defineClass({ x = this.monitor.x + this.monitor.width - this.dtpSize - lrPadding; y = this.monitor.y + gsTopPanelOffset; } else { //BOTTOM - x = this.monitor.x; + x = this.monitor.x; y = this.monitor.y + this.monitor.height - this.dtpSize - tbPadding; } + if (this.checkIfVertical()) { + if (anchor === Pos.MIDDLE) { + anchorPlaceOnMonitor = (this.monitor.height - h) / 2; + } else if (anchor === Pos.END) { + anchorPlaceOnMonitor = this.monitor.height - h; + } else { // Pos.START + anchorPlaceOnMonitor = 0; + } + y = y + anchorPlaceOnMonitor; + } else { + if (anchor === Pos.MIDDLE) { + anchorPlaceOnMonitor = (this.monitor.width - w) / 2; + } else if (anchor === Pos.END) { + anchorPlaceOnMonitor = this.monitor.width - w; + } else { // Pos.START + anchorPlaceOnMonitor = 0; + } + x = x + anchorPlaceOnMonitor; + } + return { x: x, y: y, w: w, h: h, diff --git a/panelManager.js b/panelManager.js index 16f7869..e193a86 100755 --- a/panelManager.js +++ b/panelManager.js @@ -235,6 +235,8 @@ var dtpPanelManager = Utils.defineClass({ 'changed::multi-monitors', 'changed::isolate-monitors', 'changed::panel-positions', + 'changed::panel-length', + 'changed::panel-anchor', 'changed::stockgs-keep-top-panel' ], () => this._reset() diff --git a/panelPositions.js b/panelPositions.js index 3c2d1af..3197d27 100644 --- a/panelPositions.js +++ b/panelPositions.js @@ -35,6 +35,10 @@ var BOTTOM = 'BOTTOM'; var LEFT = 'LEFT'; var RIGHT = 'RIGHT'; +var START = 'START'; +var MIDDLE = 'MIDDLE'; +var END = 'END'; + var defaults = [ { element: SHOW_APPS_BTN, visible: true, position: STACKED_TL }, { element: ACTIVITIES_BTN, visible: false, position: STACKED_TL }, diff --git a/prefs.js b/prefs.js index 4eeb162..8f9b3d5 100644 --- a/prefs.js +++ b/prefs.js @@ -770,7 +770,24 @@ const Settings = new Lang.Class({ if (this.monitors.length === 1) { this._builder.get_object('multimon_multi_switch').set_sensitive(false); } - + + // Length and position along screen edge + + // Minimum length could be 0, but a higher value may help prevent confusion about where the panel went. + let panel_length_min=10 + let panel_length_max=100 + let panel_length_spinbutton = this._builder.get_object('panel_length_spinbutton'); + panel_length_spinbutton.set_range(panel_length_min, panel_length_max); + panel_length_spinbutton.set_value(this._settings.get_int('panel-length')); + this._builder.get_object('panel_length_spinbutton').connect('value-changed', Lang.bind (this, function(widget) { + this._settings.set_int('panel-length', widget.get_value()); + })); + + this._builder.get_object('panel_anchor_combo').set_active_id(this._settings.get_string('panel-anchor')); + this._builder.get_object('panel_anchor_combo').connect('changed', Lang.bind (this, function(widget) { + this._settings.set_string('panel-anchor', widget.get_active_id()); + })); + //dynamic opacity this._settings.bind('trans-use-custom-bg', this._builder.get_object('trans_bg_switch'), diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml index c832084..b6f7257 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -40,6 +40,11 @@ + + + + + @@ -87,6 +92,16 @@ Panel element positions Panel element positions (JSON). + + 100 + Percentage of screen edge for panel to span + Set the length of the panel, in percent. Horizontal or vertical, according to panel orientation. + + + 'MIDDLE' + Position along screen edge + Where to show the panel if it is not the full length of the screen edge. + 48 Panel size From bbd3a20fe506c383fa8c780d3638f85138e4ed62 Mon Sep 17 00:00:00 2001 From: MarkS Date: Mon, 3 Aug 2020 20:10:00 -0600 Subject: [PATCH 02/13] Move length and anchor to Styles tab * Moved length and anchor setting to Styles tab, as it is an all-monitor setting currently. * Changed length from spinbox to slider, and shortened label. * Turned off anchor combobox sensitivity if length is 100%. * Set anchor labels to the more intuitive "Left, Center, Right" and "Top, Middle, Bottom" if all monitor panels are horizontal or vertical. If monitors have panels in a mix of orientations, use "Start, Middle, End". The schema retains the generic START, MIDDLE, END. * Changed "Panel Size" label to "Panel thickness" to more precisely describe what is being set now that the panel can be changed in two dimensions. "Panel thickness" and "Panel length" can describe the sizing of the panel for either horizontal or vertical orientations. * Changed now-shortened Position label to "Anchor", to reduce confusion with other Position setting, regarding which edge of the screen. --- Settings.ui | 183 ++++++++++-------- prefs.js | 80 ++++++-- ...shell.extensions.dash-to-panel.gschema.xml | 2 +- 3 files changed, 171 insertions(+), 94 deletions(-) diff --git a/Settings.ui b/Settings.ui index a92d065..b3bb98d 100644 --- a/Settings.ui +++ b/Settings.ui @@ -2,7 +2,7 @@ - + 100 1 10 @@ -4806,69 +4806,6 @@ 2 - - - True - False - 12 - 12 - False - Length along screen edge, in percent - 0 - - - 0 - 3 - - - - - True - True - 12 - 12 - 5 - 100 - adjustment1 - True - 100 - - - 1 - 3 - - - - - True - False - 12 - 12 - False - Position along screen edge - 0 - - - 0 - 4 - - - - - True - False - center - - Start - Middle - End - - - - 1 - 4 - - @@ -4927,13 +4864,13 @@ vertical 24 - + True False 0 in - + True False none @@ -4950,20 +4887,8 @@ 12 6 6 + 12 32 - - - True - False - Panel Size -(default is 48) - 0 - - - 0 - 0 - - True @@ -4982,10 +4907,104 @@ 0 + + + True + False + Panel thickness +(default is 48) + 0 + + + 0 + 0 + + + + + True + False + Panel length (%) +(default is 100) + 0 + + + 0 + 1 + + + + + True + True + baseline + True + panel_length_adjustment + 0 + 0 + right + + + + 1 + 1 + + + + + True + False + center + + Start + Middle + End + + + + 1 + 2 + + + + + True + False + Anchor + 0 + + + 0 + 2 + + + + + + + + + + False + True + 0 + + + + + True + False + 0 + in + + + True + False + none 100 @@ -5094,7 +5113,7 @@ False True - 0 + 1 @@ -5373,7 +5392,7 @@ False True - 1 + 2 @@ -5817,7 +5836,7 @@ False True - 2 + 3 diff --git a/prefs.js b/prefs.js index 8f9b3d5..3d7a783 100644 --- a/prefs.js +++ b/prefs.js @@ -42,6 +42,8 @@ const DEFAULT_PANEL_SIZES = [ 128, 96, 64, 48, 32, 24, 16 ]; const DEFAULT_FONT_SIZES = [ 96, 64, 48, 32, 24, 16, 0 ]; const DEFAULT_MARGIN_SIZES = [ 32, 24, 16, 12, 8, 4, 0 ]; const DEFAULT_PADDING_SIZES = [ 32, 24, 16, 12, 8, 4, 0, -1 ]; +// Minimum length could be 0, but a higher value may help prevent confusion about where the panel went. +const LENGTH_MARKS = [ 100, 90, 80, 70, 60, 50, 40, 30, 20, 10 ]; const MAX_WINDOW_INDICATOR = 4; const SCHEMA_PATH = '/org/gnome/shell/extensions/dash-to-panel/'; @@ -218,6 +220,10 @@ const Settings = new Lang.Class({ topRadio.set_tooltip_text(!topAvailable ? _('Unavailable when gnome-shell top panel is present') : ''); }, + /** + * Returns an object, with monitor index string keys to values that are Pos.TOP, Pos.BOTTOM, Pos.LEFT, + * or Pos.RIGHT. + */ _getPanelPositions: function() { return Pos.getSettingsPositions(this._settings, 'panel-positions'); }, @@ -237,6 +243,7 @@ const Settings = new Lang.Class({ monitors.forEach(m => panelPositionsSettings[m] = preventTop && this.monitors[0] == m ? Pos.BOTTOM : position); this._settings.set_string('panel-positions', JSON.stringify(panelPositionsSettings)); + this._setAnchorLabels(); }, _setPositionRadios: function(position) { @@ -260,6 +267,37 @@ const Settings = new Lang.Class({ this._ignorePositionRadios = false; }, + /** + * Set panel anchor combo labels according to whether panel is vertical, horizontal, or a mix. + */ + _setAnchorLabels: function() { + const positions = this._getPanelPositions(); + const monitorIndices = Object.getOwnPropertyNames(positions); + const allVertical = monitorIndices.every(i => positions[i] === Pos.LEFT || positions[i] === Pos.RIGHT); + const allHorizontal = monitorIndices.every(i => positions[i] === Pos.TOP || positions[i] === Pos.BOTTOM); + + const anchor_combo = this._builder.get_object('panel_anchor_combo'); + const anchor = this._settings.get_string('panel-anchor'); + anchor_combo.remove_all(); + + if (allHorizontal) { + anchor_combo.append(Pos.START, _('Left')); + anchor_combo.append(Pos.MIDDLE, _('Center')); + anchor_combo.append(Pos.END, _('Right')); + } else if (allVertical) { + anchor_combo.append(Pos.START, _('Top')); + anchor_combo.append(Pos.MIDDLE, _('Middle')); + anchor_combo.append(Pos.END, _('Bottom')); + } else { + // Mix of horizontal and vertical panels on different monitors. + anchor_combo.append(Pos.START, _('Start')); + anchor_combo.append(Pos.MIDDLE, _('Middle')); + anchor_combo.append(Pos.END, _('End')); + } + + anchor_combo.set_active_id(anchor); + }, + _displayPanelPositionsForMonitor: function(monitorIndex) { let taskbarListBox = this._builder.get_object('taskbar_display_listbox'); @@ -771,23 +809,36 @@ const Settings = new Lang.Class({ this._builder.get_object('multimon_multi_switch').set_sensitive(false); } - // Length and position along screen edge + // Length and anchoring along screen edge - // Minimum length could be 0, but a higher value may help prevent confusion about where the panel went. - let panel_length_min=10 - let panel_length_max=100 - let panel_length_spinbutton = this._builder.get_object('panel_length_spinbutton'); - panel_length_spinbutton.set_range(panel_length_min, panel_length_max); - panel_length_spinbutton.set_value(this._settings.get_int('panel-length')); - this._builder.get_object('panel_length_spinbutton').connect('value-changed', Lang.bind (this, function(widget) { - this._settings.set_int('panel-length', widget.get_value()); + // Anchor is only relevant if panel length is less than 100%. + const setAnchorWidgetSensitivity = (panelLength) => { + const isPartialLength = panelLength < 100; + this._builder.get_object('panel_anchor_label').set_sensitive(isPartialLength); + this._builder.get_object('panel_anchor_combo').set_sensitive(isPartialLength); + } + + const panel_length_scale = this._builder.get_object('panel_length_scale'); + const length = this._settings.get_int('panel-length'); + panel_length_scale.set_value(length); + setAnchorWidgetSensitivity(length); + panel_length_scale.connect('value-changed', Lang.bind (this, function(widget) { + const value = widget.get_value(); + this._settings.set_int('panel-length', value); + setAnchorWidgetSensitivity(value); })); this._builder.get_object('panel_anchor_combo').set_active_id(this._settings.get_string('panel-anchor')); this._builder.get_object('panel_anchor_combo').connect('changed', Lang.bind (this, function(widget) { - this._settings.set_string('panel-anchor', widget.get_active_id()); + const value = widget.get_active_id(); + // Value can be null while anchor labels are being swapped out + if (value !== null) { + this._settings.set_string('panel-anchor', value); + } })); + this._setAnchorLabels(); + //dynamic opacity this._settings.bind('trans-use-custom-bg', this._builder.get_object('trans_bg_switch'), @@ -1825,7 +1876,8 @@ const Settings = new Lang.Class({ {objectName: 'appicon_padding_scale', valueName: 'appicon-padding', range: DEFAULT_MARGIN_SIZES }, {objectName: 'tray_padding_scale', valueName: 'tray-padding', range: DEFAULT_PADDING_SIZES }, {objectName: 'leftbox_padding_scale', valueName: 'leftbox-padding', range: DEFAULT_PADDING_SIZES }, - {objectName: 'statusicon_padding_scale', valueName: 'status-icon-padding', range: DEFAULT_PADDING_SIZES } + {objectName: 'statusicon_padding_scale', valueName: 'status-icon-padding', range: DEFAULT_PADDING_SIZES }, + {objectName: 'panel_length_scale', valueName: 'panel-length', range: LENGTH_MARKS } ]; for(var idx in sizeScales) { @@ -1833,6 +1885,7 @@ const Settings = new Lang.Class({ let range = sizeScales[idx].range; size_scale.set_range(range[range.length-1], range[0]); size_scale.set_value(this._settings.get_int(sizeScales[idx].valueName)); + // Add marks from range arrays, omitting the first and last values. range.slice(1, -1).forEach(function(val) { size_scale.add_mark(val, Gtk.PositionType.TOP, val.toString()); }); @@ -2033,6 +2086,11 @@ const Settings = new Lang.Class({ this._settings.set_string('window-preview-title-position', 'TOP'); }, + + panel_length_scale_format_value_cb: function(scale, value) { + return value+ '%'; + }, + panel_size_scale_format_value_cb: function(scale, value) { return value+ ' px'; }, diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml index b6f7257..7441df8 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -95,7 +95,7 @@ 100 Percentage of screen edge for panel to span - Set the length of the panel, in percent. Horizontal or vertical, according to panel orientation. + Length of the panel, in percent. 'MIDDLE' From a57058661a29cbacec034def56ae1c8433eed2a1 Mon Sep 17 00:00:00 2001 From: MarkS Date: Tue, 27 Oct 2020 16:04:19 -0600 Subject: [PATCH 03/13] Configure panel thickness, length, and anchor per-monitor Settings.ui: - Move thickness, length, and anchor from Style tab to Position tab. Group together with position in the same frame. schema: - Remove unpublished panel-length and panel-anchor settings, replacing them with panel-lengths and panel-anchors JSON objects (like panel-positions). - Remove unpublished anchor enum, since panel-anchors is being managed by the extension in JSON, not typed by the schema. - Deprecate panel-size in favour of new panel-sizes JSON, storing per-monitor panel sizes. - Mention that panel-position is deprecated. Introduce panelSettings.js: - Functions to fetch or set panel settings that are stored as JSON. Grown from now-removed getSettingsPositions() in panelPositions.js. prefs.js: - Group together the different UI widget label and value refreshing into method _updateWidgetSettingsForMonitor(). - Change multi-panel behaviour of _setAnchorLabels(). Previously, all panels shared the same anchor setting, and so setAnchorLabels considered all monitors. Now, panels are configured either independently, or sometimes all together; set labels according to orientation(s) of panel(s) being configured. - Omitting preventTop handling in refactored _setPanelPosition() method. Previously, it was written to set the first monitor's panel to Pos.BOTTOM if the user clicked the Top position radio button, if stockgs-keep-top-panel was also set. But the user can't activate the Top button anyway if stockgs is set (likely implemented later). panelManager.js: - Removing panelPositions, as it is not needed any more. --- Makefile | 2 +- Settings.ui | 542 +++++++++--------- appIcons.js | 11 +- panel.js | 15 +- panelManager.js | 11 +- panelPositions.js | 12 - panelSettings.js | 112 ++++ prefs.js | 180 +++--- ...shell.extensions.dash-to-panel.gschema.xml | 30 +- taskbar.js | 4 +- utils.js | 2 +- windowPreview.js | 2 +- 12 files changed, 527 insertions(+), 396 deletions(-) create mode 100644 panelSettings.js diff --git a/Makefile b/Makefile index 334f60f..b29aff1 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ UUID = dash-to-panel@jderose9.github.com BASE_MODULES = extension.js stylesheet.css metadata.json COPYING README.md -EXTRA_MODULES = appIcons.js convenience.js panel.js panelManager.js proximity.js intellihide.js progress.js panelPositions.js panelStyle.js overview.js taskbar.js transparency.js windowPreview.js prefs.js update.js utils.js Settings.ui +EXTRA_MODULES = appIcons.js convenience.js panel.js panelManager.js proximity.js intellihide.js progress.js panelPositions.js panelSettings.js panelStyle.js overview.js taskbar.js transparency.js windowPreview.js prefs.js update.js utils.js Settings.ui EXTRA_IMAGES = highlight_stacked_bg.svg highlight_stacked_bg_2.svg highlight_stacked_bg_3.svg TOLOCALIZE = prefs.js appIcons.js update.js diff --git a/Settings.ui b/Settings.ui index a2a1941..9f945c4 100644 --- a/Settings.ui +++ b/Settings.ui @@ -2765,44 +2765,45 @@ 12 32 - + + True + False + 8 + + True - False - 8 - - - True - True - end - center - - - False - True - 1 - - - - - True - True - end - 4 - 6 - preview_custom_icon_size_adjustment - True - 6 - - - 1 - 0 - 2 - - - - - 1 - + True + end + center + + + False + True + 1 + + + + + True + True + end + 4 + 6 + preview_custom_icon_size_adjustment + True + 6 + + + False + True + 2 + + + + + 1 + 0 + @@ -4147,9 +4148,8 @@ - 1 - 0 - 1 + 1 + 1 @@ -4826,124 +4826,240 @@ True False 12 + 4 + 4 True 0 1 + 2 - + True False - 18 - 6 - 32 + 6 + 0 + none - + True False - True - Panel screen position - 0 + none + + + 100 + True + True + + + True + False + 6 + 6 + 12 + 32 + + + True + True + baseline + True + panel_size_adjustment + 0 + 0 + right + + + + + 1 + 1 + + + + + True + False + Panel thickness +(default is 48) + 0 + + + 0 + 1 + + + + + True + False + Panel length (%) +(default is 100) + 0 + + + 0 + 2 + + + + + True + True + baseline + True + panel_length_adjustment + 0 + 0 + right + + + 1 + 2 + + + + + True + False + center + + Start + Middle + End + + + + 1 + 3 + + + + + True + False + Anchor + 0 + + + 0 + 3 + + + + + True + False + True + Panel screen position + 0 + + + 0 + 0 + + + + + True + False + 32 + + + Bottom + True + True + False + center + center + 0 + True + True + + + + False + True + 0 + + + + + Top + True + True + False + center + center + 0 + bottom + True + position_bottom_button + + + + False + True + 1 + + + + + Left + True + True + False + center + center + 0 + bottom + True + position_bottom_button + + + + False + True + 2 + + + + + Right + True + True + False + center + center + 0 + bottom + True + position_bottom_button + + + + False + True + 3 + + + + + 1 + 0 + + + + + + - - False - True - 0 - - - - True - False - 32 - - - Bottom - True - True - False - center - center - 0 - True - True - - - - False - True - 0 - - - - - Top - True - True - False - center - center - 0 - bottom - True - position_bottom_button - - - - False - True - 1 - - - - - Left - True - True - False - center - center - 0 - bottom - True - position_bottom_button - - - - False - True - 2 - - - - - Right - True - True - False - center - center - 0 - bottom - True - position_bottom_button - - - - False - True - 3 - - - - - False - True - 1 - + + @@ -4952,9 +5068,6 @@ 2 - - - False @@ -5009,137 +5122,6 @@ 24 vertical 24 - - - True - False - 0 - in - - - True - False - none - - - 100 - True - True - - - True - False - 12 - 12 - 6 - 6 - 12 - 32 - - - True - True - baseline - True - panel_size_adjustment - 0 - 0 - right - - - - - 1 - 0 - - - - - True - False - Panel thickness -(default is 48) - 0 - - - 0 - 0 - - - - - True - False - Panel length (%) -(default is 100) - 0 - - - 0 - 1 - - - - - True - True - baseline - True - panel_length_adjustment - 0 - 0 - right - - - - 1 - 1 - - - - - True - False - center - - Start - Middle - End - - - - 1 - 2 - - - - - True - False - Anchor - 0 - - - 0 - 2 - - - - - - - - - - - - - - False - True - 0 - - True @@ -5259,7 +5241,7 @@ False True - 1 + 0 @@ -5538,7 +5520,7 @@ False True - 2 + 1 @@ -5982,7 +5964,7 @@ False True - 3 + 2 diff --git a/appIcons.js b/appIcons.js index 1ccfbd6..05c2921 100644 --- a/appIcons.js +++ b/appIcons.js @@ -47,6 +47,7 @@ const Workspace = imports.ui.workspace; const Me = imports.misc.extensionUtils.getCurrentExtension(); const Utils = Me.imports.utils; const Panel = Me.imports.panel; +const PanelSettings = Me.imports.panelSettings; const Taskbar = Me.imports.taskbar; const Progress = Me.imports.progress; const _ = imports.gettext.domain(Utils.TRANSLATION_DOMAIN).gettext; @@ -573,9 +574,9 @@ var taskbarAppIcon = Utils.defineClass({ }, _setAppIconPadding: function() { - let padding = getIconPadding(); + let padding = getIconPadding(this.dtpPanel.monitor.index); let margin = Me.settings.get_int('appicon-margin'); - + this.actor.set_style('padding:' + (this.dtpPanel.checkIfVertical() ? margin + 'px 0' : '0 ' + margin + 'px;')); this._iconContainer.set_style('padding: ' + padding + 'px;'); }, @@ -1365,8 +1366,8 @@ function cssHexTocssRgba(cssHex, opacity) { return 'rgba(' + [r, g, b].join(',') + ',' + opacity + ')'; } -function getIconPadding() { - let panelSize = Me.settings.get_int('panel-size'); +function getIconPadding(monitorIndex) { + let panelSize = PanelSettings.getPanelSize(Me.settings, monitorIndex); let padding = Me.settings.get_int('appicon-padding'); let availSize = panelSize - Taskbar.MIN_ICON_SIZE - panelSize % 2; @@ -1684,7 +1685,7 @@ var ShowAppsIconWrapper = Utils.defineClass({ }, setShowAppsPadding: function() { - let padding = getIconPadding(); + let padding = getIconPadding(this.realShowAppsIcon._dtpPanel.monitor.index); let sidePadding = Me.settings.get_int('show-apps-icon-side-padding'); let isVertical = this.realShowAppsIcon._dtpPanel.checkIfVertical(); diff --git a/panel.js b/panel.js index 94ba6c6..7c00aa5 100644 --- a/panel.js +++ b/panel.js @@ -36,6 +36,7 @@ const AppIcons = Me.imports.appIcons; const Utils = Me.imports.utils; const Taskbar = Me.imports.taskbar; const Pos = Me.imports.panelPositions; +const PanelSettings = Me.imports.panelSettings; const PanelStyle = Me.imports.panelStyle; const Lang = imports.lang; const Main = imports.ui.main; @@ -535,8 +536,7 @@ var dtpPanel = Utils.defineClass({ }, getPosition: function() { - //for now, use the previous "global" position setting as default. The 'panel-position' should be deleted in the future - let position = this.panelManager.panelPositions[this.monitor.index] || Me.settings.get_string('panel-position'); + let position = PanelSettings.getPanelPosition(Me.settings, this.monitor.index); if (position == Pos.TOP) { return St.Side.TOP; @@ -652,12 +652,12 @@ var dtpPanel = Utils.defineClass({ _bindSettingsChanges: function() { let isVertical = this.checkIfVertical(); - + this._signalsHandler.add( [ Me.settings, [ - 'changed::panel-size', + 'changed::panel-sizes', 'changed::group-apps' ], () => this._resetGeometry() @@ -814,14 +814,15 @@ var dtpPanel = Utils.defineClass({ let topPadding = panelBoxTheme.get_padding(St.Side.TOP); let tbPadding = topPadding + panelBoxTheme.get_padding(St.Side.BOTTOM); let position = this.getPosition(); - let length = Me.settings.get_int('panel-length') / 100; - let anchor = Me.settings.get_string('panel-anchor'); + let length = PanelSettings.getPanelLength(Me.settings, this.monitor.index) / 100; + let anchor = PanelSettings.getPanelAnchor(Me.settings, this.monitor.index); let anchorPlaceOnMonitor = 0; let gsTopPanelOffset = 0; let x = 0, y = 0; let w = 0, h = 0; - this.dtpSize = Me.settings.get_int('panel-size') * scaleFactor; + const panelSize = PanelSettings.getPanelSize(Me.settings, this.monitor.index); + this.dtpSize = panelSize * scaleFactor; if (Me.settings.get_boolean('stockgs-keep-top-panel') && Main.layoutManager.primaryMonitor == this.monitor) { gsTopPanelOffset = Main.layoutManager.panelBox.height - topPadding; diff --git a/panelManager.js b/panelManager.js index 539f721..ba9efeb 100755 --- a/panelManager.js +++ b/panelManager.js @@ -30,7 +30,7 @@ const Me = imports.misc.extensionUtils.getCurrentExtension(); const Overview = Me.imports.overview; const Panel = Me.imports.panel; -const Pos = Me.imports.panelPositions; +const PanelSettings = Me.imports.panelSettings; const Proximity = Me.imports.proximity; const Taskbar = Me.imports.taskbar; const Utils = Me.imports.utils; @@ -72,8 +72,7 @@ var dtpPanelManager = Utils.defineClass({ enable: function(reset) { let dtpPrimaryIndex = Me.settings.get_int('primary-monitor'); - - this.panelPositions = Pos.getSettingsPositions(Me.settings, 'panel-positions'); + this.dtpPrimaryMonitor = Main.layoutManager.monitors[dtpPrimaryIndex] || Main.layoutManager.primaryMonitor; this.proximityManager = new Proximity.ProximityManager(); @@ -240,8 +239,8 @@ var dtpPanelManager = Utils.defineClass({ 'changed::multi-monitors', 'changed::isolate-monitors', 'changed::panel-positions', - 'changed::panel-length', - 'changed::panel-anchor', + 'changed::panel-lengths', + 'changed::panel-anchors', 'changed::stockgs-keep-top-panel' ], () => this._reset() @@ -437,7 +436,7 @@ var dtpPanelManager = Utils.defineClass({ }, _updatePanelElementPositions: function() { - this.panelsElementPositions = Pos.getSettingsPositions(Me.settings, 'panel-element-positions'); + this.panelsElementPositions = PanelSettings.getSettingsJson(Me.settings, 'panel-element-positions'); this.allPanels.forEach(p => p.updateElementPositions()); }, diff --git a/panelPositions.js b/panelPositions.js index 3197d27..52458bb 100644 --- a/panelPositions.js +++ b/panelPositions.js @@ -56,18 +56,6 @@ var optionDialogFunctions = {}; optionDialogFunctions[SHOW_APPS_BTN] = '_showShowAppsButtonOptions'; optionDialogFunctions[DESKTOP_BTN] = '_showDesktopButtonOptions'; -function getSettingsPositions(settings, setting) { - var positions = null; - - try { - positions = JSON.parse(settings.get_string(setting)); - } catch(e) { - log('Error parsing positions: ' + e.message); - } - - return positions; -} - function checkIfCentered(position) { return position == CENTERED || position == CENTERED_MONITOR; } \ No newline at end of file diff --git a/panelSettings.js b/panelSettings.js new file mode 100644 index 0000000..3eeac9b --- /dev/null +++ b/panelSettings.js @@ -0,0 +1,112 @@ +/* + * This file is part of the Dash-To-Panel extension for Gnome 3 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +const Me = imports.misc.extensionUtils.getCurrentExtension(); +const Pos = Me.imports.panelPositions; + +/** Return object representing a settings value that is stored as JSON. */ +function getSettingsJson(settings, setting) { + try { + return JSON.parse(settings.get_string(setting)); + } catch(e) { + log('Error parsing positions: ' + e.message); + } +} +/** Write value object as JSON to setting in settings. */ +function setSettingsJson(settings, setting, value) { + try { + const json = JSON.stringify(value); + settings.set_string(setting, json); + } catch(e) { + log('Error serializing setting: ' + e.message); + } +} + +/** Returns size of panel on a specific monitor, in pixels. */ +function getPanelSize(settings, monitorIndex) { + const sizes = getSettingsJson(settings, 'panel-sizes'); + // Pull in deprecated setting if panel-sizes does not have setting for monitor. + const fallbackSize = settings.get_int('panel-size'); + const theDefault = 48; + return sizes[monitorIndex] || fallbackSize || theDefault; +} + +function setPanelSize(settings, monitorIndex, value) { + if (!(Number.isInteger(value) && value <= 128 && value >= 16)) { + log(`Not setting invalid panel size: ${value}`); + return; + } + let sizes = getSettingsJson(settings, 'panel-sizes'); + sizes[monitorIndex] = value; + setSettingsJson(settings, 'panel-sizes', sizes); +} + +/** + * Returns length of panel on a specific monitor, as a whole number percent, + * from settings. e.g. 100 + */ +function getPanelLength(settings, monitorIndex) { + const lengths = getSettingsJson(settings, 'panel-lengths'); + const theDefault = 100; + return lengths[monitorIndex] || theDefault; +} + +function setPanelLength(settings, monitorIndex, value) { + if (!(Number.isInteger(value) && value <= 100 && value >= 0)) { + log(`Not setting invalid panel length: ${value}`); + return; + } + let lengths = getSettingsJson(settings, 'panel-lengths'); + lengths[monitorIndex] = value; + setSettingsJson(settings, 'panel-lengths', lengths); +} + +/** Returns position of panel on a specific monitor. */ +function getPanelPosition(settings, monitorIndex) { + const positions = getSettingsJson(settings, 'panel-positions'); + const fallbackPosition = settings.get_string('panel-position'); + const theDefault = Pos.BOTTOM; + return positions[monitorIndex] || fallbackPosition || theDefault; +} + +function setPanelPosition(settings, monitorIndex, value) { + if (!(value === Pos.TOP || value === Pos.BOTTOM || value === Pos.LEFT + || value === Pos.RIGHT)) { + log(`Not setting invalid panel position: ${value}`); + return; + } + const positions = getSettingsJson(settings, 'panel-positions'); + positions[monitorIndex] = value; + setSettingsJson(settings, 'panel-positions', positions); +} + +/** Returns anchor location of panel on a specific monitor. */ +function getPanelAnchor(settings, monitorIndex) { + const anchors = getSettingsJson(settings, 'panel-anchors'); + const theDefault = Pos.MIDDLE; + return anchors[monitorIndex] || theDefault; +} + +function setPanelAnchor(settings, monitorIndex, value) { + if (!(value === Pos.START || value === Pos.MIDDLE || value === Pos.END)) { + log(`Not setting invalid panel anchor: ${value}`); + return; + } + const anchors = getSettingsJson(settings, 'panel-anchors'); + anchors[monitorIndex] = value; + setSettingsJson(settings, 'panel-anchors', anchors); +} diff --git a/prefs.js b/prefs.js index 7c575ec..76b3149 100644 --- a/prefs.js +++ b/prefs.js @@ -35,6 +35,7 @@ const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']); const _ = Gettext.gettext; const N_ = function(e) { return e }; const Update = Me.imports.update; +const PanelSettings = Me.imports.panelSettings; const Pos = Me.imports.panelPositions; const SCALE_UPDATE_TIMEOUT = 500; @@ -220,35 +221,22 @@ const Settings = new Lang.Class({ topRadio.set_tooltip_text(!topAvailable ? _('Unavailable when gnome-shell top panel is present') : ''); }, - /** - * Returns an object, with monitor index string keys to values that are Pos.TOP, Pos.BOTTOM, Pos.LEFT, - * or Pos.RIGHT. - */ - _getPanelPositions: function() { - return Pos.getSettingsPositions(this._settings, 'panel-positions'); - }, - _getPanelPosition: function(monitorIndex) { - let panelPositionsSettings = this._getPanelPositions(); - - return panelPositionsSettings[monitorIndex] || this._settings.get_string('panel-position'); + return PanelSettings.getPanelPosition(this._settings, monitorIndex); }, _setPanelPosition: function(position) { - let panelPositionsSettings = this._getPanelPositions(); - let preventTop = this._settings.get_boolean('stockgs-keep-top-panel') && position == Pos.TOP; - let monitorSync = this._settings.get_boolean('panel-element-positions-monitors-sync'); - let monitors = monitorSync ? this.monitors : [this._currentMonitorIndex]; - - monitors.forEach(m => panelPositionsSettings[m] = preventTop && this.monitors[0] == m ? Pos.BOTTOM : position); - - this._settings.set_string('panel-positions', JSON.stringify(panelPositionsSettings)); - this._setAnchorLabels(); + const monitorSync = this._settings.get_boolean('panel-element-positions-monitors-sync'); + const monitorsToSetFor = monitorSync ? this.monitors : [this._currentMonitorIndex]; + monitorsToSetFor.forEach(monitorIndex => { + PanelSettings.setPanelPosition(this._settings, monitorIndex, position); + }); + this._setAnchorLabels(this._currentMonitorIndex); }, _setPositionRadios: function(position) { this._ignorePositionRadios = true; - + switch (position) { case Pos.BOTTOM: this._builder.get_object('position_bottom_button').set_active(true); @@ -268,16 +256,23 @@ const Settings = new Lang.Class({ }, /** - * Set panel anchor combo labels according to whether panel is vertical, horizontal, or a mix. + * Set panel anchor combo labels according to whether the monitor's panel is vertical + * or horizontal, or if all monitors' panels are being configured and they are a mix + * of vertical and horizontal. */ - _setAnchorLabels: function() { - const positions = this._getPanelPositions(); - const monitorIndices = Object.getOwnPropertyNames(positions); - const allVertical = monitorIndices.every(i => positions[i] === Pos.LEFT || positions[i] === Pos.RIGHT); - const allHorizontal = monitorIndices.every(i => positions[i] === Pos.TOP || positions[i] === Pos.BOTTOM); + _setAnchorLabels: function(currentMonitorIndex) { + const monitorSync = this._settings.get_boolean('panel-element-positions-monitors-sync'); + const monitorsToSetFor = monitorSync ? this.monitors : [currentMonitorIndex]; + const allVertical = monitorsToSetFor.every(i => { + const position = PanelSettings.getPanelPosition(this._settings, i); + return position === Pos.LEFT || position === Pos.RIGHT + }); + const allHorizontal = monitorsToSetFor.every(i => { + const position = PanelSettings.getPanelPosition(this._settings, i); + return position === Pos.TOP || position === Pos.BOTTOM; + }); const anchor_combo = this._builder.get_object('panel_anchor_combo'); - const anchor = this._settings.get_string('panel-anchor'); anchor_combo.remove_all(); if (allHorizontal) { @@ -289,24 +284,69 @@ const Settings = new Lang.Class({ anchor_combo.append(Pos.MIDDLE, _('Middle')); anchor_combo.append(Pos.END, _('Bottom')); } else { - // Mix of horizontal and vertical panels on different monitors. + // Setting for a mix of horizontal and vertical panels on different monitors. anchor_combo.append(Pos.START, _('Start')); anchor_combo.append(Pos.MIDDLE, _('Middle')); anchor_combo.append(Pos.END, _('End')); } - anchor_combo.set_active_id(anchor); + // Set combo box after re-populating its options. But only if it's for a single-panel + // configuration, or a multi-panel configuration where they all have the same anchor + // setting. So don't set the combo box if there is a multi-panel configuration with + // different anchor settings. + const someAnchor = PanelSettings.getPanelAnchor(this._settings, currentMonitorIndex); + if (monitorsToSetFor.every(i => + PanelSettings.getPanelAnchor(this._settings, i) === someAnchor)) { + const panel_anchor = PanelSettings.getPanelAnchor(this._settings, currentMonitorIndex); + this._builder.get_object('panel_anchor_combo').set_active_id(panel_anchor); + } + }, + + /** + * When a monitor is selected, update the widgets for panel position, size, anchoring, + * and contents so they accurately show the settings for the panel on that monitor. + */ + _updateWidgetSettingsForMonitor: function(monitorIndex) { + // Update display of panel screen position setting + this._maybeDisableTopPosition(); + const panelPosition = this._getPanelPosition(monitorIndex); + this._setPositionRadios(panelPosition); + + // Update display of thickness, length, and anchor settings + const panel_size_scale = this._builder.get_object('panel_size_scale'); + const size = PanelSettings.getPanelSize(this._settings, monitorIndex); + panel_size_scale.set_value(size); + + const panel_length_scale = this._builder.get_object('panel_length_scale'); + const length = PanelSettings.getPanelLength(this._settings, monitorIndex); + panel_length_scale.set_value(length); + this._setAnchorWidgetSensitivity(length); + + this._setAnchorLabels(monitorIndex); + + // Update display of panel content settings + this._displayPanelPositionsForMonitor(monitorIndex); + }, + + /** + * Anchor is only relevant if panel length is less than 100%. Enable or disable + * anchor widget sensitivity accordingly. + */ + _setAnchorWidgetSensitivity: function(panelLength) { + const isPartialLength = panelLength < 100; + this._builder.get_object('panel_anchor_label').set_sensitive(isPartialLength); + this._builder.get_object('panel_anchor_combo').set_sensitive(isPartialLength); }, _displayPanelPositionsForMonitor: function(monitorIndex) { let taskbarListBox = this._builder.get_object('taskbar_display_listbox'); - + taskbarListBox.get_children().forEach(c => c.destroy()); let labels = {}; let panelPosition = this._getPanelPosition(monitorIndex); let isVertical = panelPosition == Pos.LEFT || panelPosition == Pos.RIGHT; - let panelElementPositionsSettings = Pos.getSettingsPositions(this._settings, 'panel-element-positions'); + let panelElementPositionsSettings = PanelSettings.getSettingsJson(this._settings, 'panel-element-positions'); let panelElementPositions = panelElementPositionsSettings[monitorIndex] || Pos.defaults; let updateElementsSettings = () => { let newPanelElementPositions = []; @@ -320,14 +360,12 @@ const Settings = new Lang.Class({ position: c.positionCombo.get_active_id() }); }); - + monitors.forEach(m => panelElementPositionsSettings[m] = newPanelElementPositions); this._settings.set_string('panel-element-positions', JSON.stringify(panelElementPositionsSettings)); }; - this._maybeDisableTopPosition(); - this._setPositionRadios(panelPosition); - + labels[Pos.SHOW_APPS_BTN] = _('Show Applications button'); labels[Pos.ACTIVITIES_BTN] = _('Activities button'); labels[Pos.TASKBAR] = _('Taskbar'); @@ -515,13 +553,12 @@ const Settings = new Lang.Class({ _bindSettings: function() { // size options let panel_size_scale = this._builder.get_object('panel_size_scale'); - panel_size_scale.set_range(DEFAULT_PANEL_SIZES[DEFAULT_PANEL_SIZES.length-1], DEFAULT_PANEL_SIZES[0]); - panel_size_scale.set_value(this._settings.get_int('panel-size')); + panel_size_scale.set_range(DEFAULT_PANEL_SIZES[DEFAULT_PANEL_SIZES.length - 1], DEFAULT_PANEL_SIZES[0]); DEFAULT_PANEL_SIZES.slice(1, -1).forEach(function(val) { panel_size_scale.add_mark(val, Gtk.PositionType.TOP, val.toString()); }); - // Corrent for rtl languages + // Correct for rtl languages if (this._rtl) { // Flip value position: this is not done automatically panel_size_scale.set_value_pos(Gtk.PositionType.LEFT); @@ -786,7 +823,11 @@ const Settings = new Lang.Class({ 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.connect('changed::panel-element-positions-monitors-sync', () => this._maybeDisableTopPosition()); + this._settings.connect('changed::panel-element-positions-monitors-sync', () => { + this._maybeDisableTopPosition(); + // The anchor combo box may has different labels for single- or all-monitor configuration. + this._setAnchorLabels(this._currentMonitorIndex); + }); this._builder.get_object('multimon_primary_combo').connect('changed', Lang.bind (this, function(widget) { this._settings.set_int('primary-monitor', this.monitors[widget.get_active()]); @@ -794,12 +835,9 @@ const Settings = new Lang.Class({ this._builder.get_object('taskbar_position_monitor_combo').connect('changed', Lang.bind (this, function(widget) { this._currentMonitorIndex = this.monitors[widget.get_active()]; - this._displayPanelPositionsForMonitor(this._currentMonitorIndex); + this._updateWidgetSettingsForMonitor(this._currentMonitorIndex); })); - //panel positions - this._displayPanelPositionsForMonitor(this._currentMonitorIndex); - this._settings.bind('multi-monitors', this._builder.get_object('multimon_multi_switch'), 'active', @@ -809,35 +847,31 @@ const Settings = new Lang.Class({ this._builder.get_object('multimon_multi_switch').set_sensitive(false); } - // Length and anchoring along screen edge - - // Anchor is only relevant if panel length is less than 100%. - const setAnchorWidgetSensitivity = (panelLength) => { - const isPartialLength = panelLength < 100; - this._builder.get_object('panel_anchor_label').set_sensitive(isPartialLength); - this._builder.get_object('panel_anchor_combo').set_sensitive(isPartialLength); - } - const panel_length_scale = this._builder.get_object('panel_length_scale'); - const length = this._settings.get_int('panel-length'); - panel_length_scale.set_value(length); - setAnchorWidgetSensitivity(length); panel_length_scale.connect('value-changed', Lang.bind (this, function(widget) { const value = widget.get_value(); - this._settings.set_int('panel-length', value); - setAnchorWidgetSensitivity(value); + const monitorSync = this._settings.get_boolean('panel-element-positions-monitors-sync'); + const monitorsToSetFor = monitorSync ? this.monitors : [this._currentMonitorIndex]; + monitorsToSetFor.forEach(monitorIndex => { + PanelSettings.setPanelLength(this._settings, monitorIndex, value); + }); + + this._setAnchorWidgetSensitivity(value); })); - this._builder.get_object('panel_anchor_combo').set_active_id(this._settings.get_string('panel-anchor')); this._builder.get_object('panel_anchor_combo').connect('changed', Lang.bind (this, function(widget) { const value = widget.get_active_id(); // Value can be null while anchor labels are being swapped out if (value !== null) { - this._settings.set_string('panel-anchor', value); + const monitorSync = this._settings.get_boolean('panel-element-positions-monitors-sync'); + const monitorsToSetFor = monitorSync ? this.monitors : [this._currentMonitorIndex]; + monitorsToSetFor.forEach(monitorIndex => { + PanelSettings.setPanelAnchor(this._settings, monitorIndex, value); + }); } })); - this._setAnchorLabels(); + this._updateWidgetSettingsForMonitor(this._currentMonitorIndex); //dynamic opacity this._settings.bind('trans-use-custom-bg', @@ -1922,14 +1956,20 @@ const Settings = new Lang.Class({ {objectName: 'tray_padding_scale', valueName: 'tray-padding', range: DEFAULT_PADDING_SIZES }, {objectName: 'leftbox_padding_scale', valueName: 'leftbox-padding', range: DEFAULT_PADDING_SIZES }, {objectName: 'statusicon_padding_scale', valueName: 'status-icon-padding', range: DEFAULT_PADDING_SIZES }, - {objectName: 'panel_length_scale', valueName: 'panel-length', range: LENGTH_MARKS } + {objectName: 'panel_length_scale', valueName: '', range: LENGTH_MARKS } ]; - + for(var idx in sizeScales) { let size_scale = this._builder.get_object(sizeScales[idx].objectName); let range = sizeScales[idx].range; - size_scale.set_range(range[range.length-1], range[0]); - size_scale.set_value(this._settings.get_int(sizeScales[idx].valueName)); + size_scale.set_range(range[range.length - 1], range[0]); + let value; + if (sizeScales[idx].objectName === 'panel_length_scale') { + value = PanelSettings.getPanelLength(this._settings, this._currentMonitorIndex); + } else { + value = this._settings.get_int(sizeScales[idx].valueName); + } + size_scale.set_value(value); // Add marks from range arrays, omitting the first and last values. range.slice(1, -1).forEach(function(val) { size_scale.add_mark(val, Gtk.PositionType.TOP, val.toString()); @@ -2141,12 +2181,18 @@ const Settings = new Lang.Class({ }, panel_size_scale_value_changed_cb: function(scale) { - // Avoid settings the size consinuosly + // Avoid settings the size continuously if (this._panel_size_timeout > 0) Mainloop.source_remove(this._panel_size_timeout); this._panel_size_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, Lang.bind(this, function() { - this._settings.set_int('panel-size', scale.get_value()); + const value = scale.get_value(); + const monitorSync = this._settings.get_boolean('panel-element-positions-monitors-sync'); + const monitorsToSetFor = monitorSync ? this.monitors : [this._currentMonitorIndex]; + monitorsToSetFor.forEach(monitorIndex => { + PanelSettings.setPanelSize(this._settings, monitorIndex, value); + }); + this._panel_size_timeout = 0; return GLib.SOURCE_REMOVE; })); diff --git a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml index 30967cf..728c520 100644 --- a/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml +++ b/schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml @@ -40,11 +40,6 @@ - - - - - @@ -74,7 +69,7 @@ 'BOTTOM' - Panel position + Panel position (Deprecated) Panel is shown on the Bottom or Top of the screen. @@ -92,19 +87,24 @@ Panel element positions Panel element positions (JSON). - - 100 - Percentage of screen edge for panel to span - Length of the panel, in percent. + + '{}' + Percentages of screen edge for panel to span + Length of the panels, in percent (JSON). - - 'MIDDLE' - Position along screen edge - Where to show the panel if it is not the full length of the screen edge. + + '{}' + Positions along screen edge + Where to show the panels if it is not the full length of the screen edge (JSON). + + + '{}' + Panel sizes + Sizes of panels, in pixels. 48 - Panel size + Panel size (Deprecated) Set the size of the panel. diff --git a/taskbar.js b/taskbar.js index 60bcb17..89849d3 100644 --- a/taskbar.js +++ b/taskbar.js @@ -46,6 +46,7 @@ const Workspace = imports.ui.workspace; const Me = imports.misc.extensionUtils.getCurrentExtension(); const AppIcons = Me.imports.appIcons; const Panel = Me.imports.panel; +const PanelSettings = Me.imports.panelSettings; const Utils = Me.imports.utils; const WindowPreview = Me.imports.windowPreview; @@ -700,7 +701,8 @@ var taskbar = Utils.defineClass({ }, _adjustIconSize: function() { - let panelSize = Me.settings.get_int('panel-size'); + const thisMonitorIndex = this.dtpPanel.monitor.index; + let panelSize = PanelSettings.getPanelSize(Me.settings, thisMonitorIndex); let availSize = panelSize - Me.settings.get_int('appicon-padding') * 2; let minIconSize = MIN_ICON_SIZE + panelSize % 2; diff --git a/utils.js b/utils.js index 8081fca..c2469b3 100644 --- a/utils.js +++ b/utils.js @@ -23,7 +23,7 @@ const Clutter = imports.gi.Clutter; const Config = imports.misc.config; -const GdkPixbuf = imports.gi.GdkPixbuf +const GdkPixbuf = imports.gi.GdkPixbuf; const Gi = imports._gi; const Gio = imports.gi.Gio; const GLib = imports.gi.GLib; diff --git a/windowPreview.js b/windowPreview.js index ab35af9..0464c87 100644 --- a/windowPreview.js +++ b/windowPreview.js @@ -144,7 +144,7 @@ var PreviewMenu = Utils.defineClass({ [ Me.settings, [ - 'changed::panel-size', + 'changed::panel-sizes', 'changed::window-preview-size', 'changed::window-preview-padding', 'changed::window-preview-show-title' From 2a167a2c1dca79c8b61d2caf3ff1a03c607353a9 Mon Sep 17 00:00:00 2001 From: vantu5z Date: Fri, 6 Nov 2020 13:43:07 -0300 Subject: [PATCH 04/13] update Russian translation --- po/ru.po | 1060 +++++++++++++++++++++++++++++------------------------- 1 file changed, 578 insertions(+), 482 deletions(-) diff --git a/po/ru.po b/po/ru.po index bc836fa..5ad2f4d 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,301 +7,265 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-20 19:39+0300\n" -"PO-Revision-Date: 2019-10-21 19:20+0300\n" -"Last-Translator: Alex Gluck \n" +"POT-Creation-Date: 2020-11-06 08:17-0300\n" +"PO-Revision-Date: 2020-11-06 13:38-0300\n" +"Last-Translator: vantu5z \n" "Language-Team: \n" "Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" +"X-Generator: Poedit 2.4.1\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" -#: prefs.js:211 -msgid "Top, with plugin icons collapsed to bottom" -msgstr "Сверху, иконки плагинов снизу" - -#: prefs.js:211 -msgid "Left, with plugin icons collapsed to right" -msgstr "Слева, иконки плагинов справа" - -#: prefs.js:212 -msgid "Top, with fixed center plugin icons" -msgstr "Сверху, иконки плагинов по середине" - -#: prefs.js:212 -msgid "Left, with fixed center plugin icons" -msgstr "Слева, иконки плагинов по середине" - -#: prefs.js:213 -msgid "Top, with floating center plugin icons" -msgstr "Сверху, иконки плагинов по центру и не закреплены" - -#: prefs.js:213 -msgid "Left, with floating center plugin icons" -msgstr "Слева, иконки плагинов по центру и не закреплены" - -#: prefs.js:214 -msgid "Center, fixed in middle of monitor" -msgstr "По центру монитора" - -#: prefs.js:215 -msgid "Center, floating between top and bottom elements" -msgstr "По центру между элементами сверху и снизу" - -#: prefs.js:215 -msgid "Center, floating between left and right elements" -msgstr "По центру между элементами слева и справа" - -#: prefs.js:219 -msgid "Top of plugin icons" -msgstr "Сверху от иконок плагинов" - -#: prefs.js:219 -msgid "Left of plugin icons" -msgstr "Слева от иконок плагинов" - -#: prefs.js:220 -msgid "Bottom of plugin icons" -msgstr "Снизу от иконок плагинов" - -#: prefs.js:220 -msgid "Right of plugin icons" -msgstr "Справа от иконок плагинов" - -#: prefs.js:221 -msgid "Top of system indicators" -msgstr "Сверху от системных индикаторов" - -#: prefs.js:221 -msgid "Left of system indicators" -msgstr "Слева от системных индикаторов" - -#: prefs.js:222 -msgid "Bottom of system indicators" -msgstr "Снизу от системных индикаторов" - -#: prefs.js:222 -msgid "Right of system indicators" -msgstr "Справа от системных индикаторов" - -#: prefs.js:223 -msgid "Top of taskbar" -msgstr "Сверху от списка задач" - -#: prefs.js:223 -msgid "Left of taskbar" -msgstr "Слева от списка задач" - -#: prefs.js:224 -msgid "Bottom of taskbar" -msgstr "Снизу от списка задач" - -#: prefs.js:224 -msgid "Right of taskbar" -msgstr "Справа от списка задач" - -#: prefs.js:230 +#: prefs.js:206 msgid "Show Desktop button height (px)" msgstr "Высота кнопки \"Рабочий стол\" (в пикселях)" -#: prefs.js:230 +#: prefs.js:206 msgid "Show Desktop button width (px)" msgstr "Ширина кнопки \"Рабочий стол\" (в пикселях)" -#: prefs.js:364 -msgid "Running Indicator Options" -msgstr "Индикатор запущенной программы" +#: prefs.js:218 +msgid "Unavailable when gnome-shell top panel is present" +msgstr "Недоступно, если включена верхняя панель GNOME" -#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904 -#: prefs.js:992 prefs.js:1078 prefs.js:1325 prefs.js:1409 prefs.js:1474 -#: prefs.js:1510 prefs.js:1607 prefs.js:1641 prefs.js:1683 +#: prefs.js:293 +msgid "Show Applications button" +msgstr "Кнопка \"Приложения\"" + +#: prefs.js:294 +msgid "Activities button" +msgstr "Кнопка \"Обзор\"" + +#: prefs.js:295 +msgid "Taskbar" +msgstr "Панель задач" + +#: prefs.js:296 +msgid "Date menu" +msgstr "Дата и время" + +#: prefs.js:297 +msgid "System menu" +msgstr "Системное меню" + +#: prefs.js:298 +msgid "Left box" +msgstr "Левый блок" + +#: prefs.js:299 +msgid "Center box" +msgstr "Центральный блок" + +#: prefs.js:300 +msgid "Right box" +msgstr "Правый блок" + +#: prefs.js:301 +msgid "Desktop button" +msgstr "Кнопка \"Рабочий стол\"" + +#: prefs.js:307 +msgid "Move up" +msgstr "Переместить выше" + +#: prefs.js:309 +msgid "Move down" +msgstr "Переместить ниже" + +#: prefs.js:311 +msgid "Visible" +msgstr "Видимый" + +#: prefs.js:312 +msgid "Select element position" +msgstr "Выбор позиции элемента" + +#: prefs.js:323 +msgid "Stacked to top" +msgstr "Сверху" + +#: prefs.js:323 +msgid "Stacked to left" +msgstr "Слева" + +#: prefs.js:324 +msgid "Stacked to bottom" +msgstr "Снизу" + +#: prefs.js:324 +msgid "Stacked to right" +msgstr "Справа" + +#: prefs.js:325 +msgid "Centered" +msgstr "По центру" + +#: prefs.js:326 +msgid "Monitor Center" +msgstr "Центр монитора" + +#: prefs.js:345 +msgid "More options" +msgstr "Дополнительные параметры" + +#: prefs.js:369 +msgid "Show Applications options" +msgstr "Настройка меню \"Приложения\"" + +#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1037 +#: prefs.js:1164 prefs.js:1450 prefs.js:1545 prefs.js:1610 prefs.js:1653 +#: prefs.js:1750 prefs.js:1784 prefs.js:1826 msgid "Reset to defaults" msgstr "По умолчанию" -#: prefs.js:514 -msgid "Default (Primary monitor)" +#: prefs.js:426 +msgid "Show Desktop options" +msgstr "Настройки кнопки \"Рабочий стол\"" + +#: prefs.js:569 +msgid "Running Indicator Options" +msgstr "Параметры индикации запущенных приложений" + +#: prefs.js:732 +msgid "Primary monitor" msgstr "Основной монитор" -#: prefs.js:517 +#: prefs.js:732 msgid "Monitor " msgstr "Монитор " -#: prefs.js:562 -msgid "Multi-monitors options" -msgstr "Настройки для нескольких мониторов" - -#: prefs.js:705 +#: prefs.js:887 msgid "Dynamic opacity options" msgstr "Настройки динамической прозрачности" -#: prefs.js:830 +#: prefs.js:1030 msgid "Intellihide options" msgstr "Настройки автоскрытия" -#: prefs.js:897 -msgid "Show Applications options" -msgstr "Настройка меню Программы" - -#: prefs.js:985 -msgid "Show Desktop options" -msgstr "Настройки кнопки Рабочий стол" - -#: prefs.js:1071 +#: prefs.js:1157 msgid "Window preview options" msgstr "Настройки предпросмотра" -#: prefs.js:1318 +#: prefs.js:1443 msgid "Ungrouped application options" msgstr "Отображение разгруппированных приложений" -#: prefs.js:1402 +#: prefs.js:1538 msgid "Customize middle-click behavior" msgstr "Средняя кнопка мышки" -#: prefs.js:1467 +#: prefs.js:1603 msgid "Customize panel scroll behavior" msgstr "Прокручивание панелей" -#: prefs.js:1503 +#: prefs.js:1646 msgid "Customize icon scroll behavior" -msgstr "Прокручивание иконок" +msgstr "Прокручивание значков" -#: prefs.js:1600 +#: prefs.js:1743 msgid "Advanced hotkeys options" msgstr "Расширенные настройки горячих клавиш" -#: prefs.js:1634 +#: prefs.js:1777 msgid "Secondary Menu Options" msgstr "Дополнительные настройки меню" -#: prefs.js:1676 Settings.ui.h:223 +#: prefs.js:1819 Settings.ui.h:230 msgid "Advanced Options" -msgstr "Расширенные опции" +msgstr "Расширенные настройки" -#: prefs.js:1763 +#: prefs.js:1922 msgid "Export settings" msgstr "Сохранение" -#: prefs.js:1780 +#: prefs.js:1939 msgid "Import settings" msgstr "Загрузка" -#: appIcons.js:1380 +#: appIcons.js:1418 msgid "Show Details" -msgstr "Показать детали" +msgstr "Показать подробности" -#: appIcons.js:1398 +#: appIcons.js:1436 msgid "New Window" msgstr "Новое окно" -#: appIcons.js:1398 appIcons.js:1458 appIcons.js:1460 Settings.ui.h:10 +#: appIcons.js:1436 appIcons.js:1496 appIcons.js:1498 Settings.ui.h:10 msgid "Quit" msgstr "Выйти" -#: appIcons.js:1460 +#: appIcons.js:1498 msgid "Windows" msgstr "Окна" -#: appIcons.js:1684 -msgid "Power options" -msgstr "Настройки кнопки Рабочий стол" - -#: appIcons.js:1689 -msgid "Event logs" -msgstr "Просмотр логов" - -#: appIcons.js:1694 -msgid "System" -msgstr "Система" - -#: appIcons.js:1699 -msgid "Device Management" -msgstr "Управление устройствами" - -#: appIcons.js:1704 -msgid "Disk Management" -msgstr "Управление дисками" - -#: appIcons.js:1711 -msgid "Terminal" -msgstr "Терминал" - -#: appIcons.js:1716 -msgid "System monitor" -msgstr "Системный монитор" - -#: appIcons.js:1721 -msgid "Files" -msgstr "Файлы" - -#: appIcons.js:1726 -msgid "Settings" -msgstr "Настройки" - -#: appIcons.js:1733 +#: appIcons.js:1847 msgid "Unlock taskbar" msgstr "Открепить список задач" -#: appIcons.js:1733 +#: appIcons.js:1847 msgid "Lock taskbar" msgstr "Закрепить список задач" -#: appIcons.js:1738 +#: appIcons.js:1852 msgid "Dash to Panel Settings" msgstr "Настройки Dash to Panel" -#: appIcons.js:1745 +#: appIcons.js:1865 msgid "Restore Windows" msgstr "Восстановить окна" -#: appIcons.js:1745 +#: appIcons.js:1865 msgid "Show Desktop" msgstr "Свернуть всё" -#: update.js:58 +#: update.js:48 +msgid "Unavailable when installed from extensions.gnome.org" +msgstr "Недоступно, если установлено из extensions.gnome.org" + +#: update.js:62 #, javascript-format msgid "Version %s (%s) is available" msgstr "Доступна версия %s (%s)" -#: update.js:59 +#: update.js:63 msgid "Details" msgstr "Подробнее" -#: update.js:60 +#: update.js:64 msgid "Update" msgstr "Обновление" -#: update.js:63 +#: update.js:67 msgid "Already up to date" msgstr "Обновлений нет" -#: update.js:148 +#: update.js:75 +msgid "Error: " +msgstr "Ошибка: " + +#: update.js:168 msgid "Update successful, please log out/in" msgstr "Обновление успешно, перезайдите в систему" -#: update.js:149 +#: update.js:169 msgid "Log out" msgstr "Выход из системы" -#: update.js:153 +#: update.js:173 msgid "Update successful, please restart GNOME Shell" msgstr "Обновление успешно, перезапустите GNOME Shell" -#: update.js:154 +#: update.js:174 msgid "Restart GNOME Shell" msgstr "Перезапуск GNOME Shell" -#: update.js:154 +#: update.js:174 msgid "Restarting GNOME Shell..." msgstr "Перезапускаем GNOME Shell..." -#: update.js:160 -msgid "Error: " -msgstr "Ошибка: " - #: Settings.ui.h:1 msgid "Nothing yet!" msgstr "Пока пусто!" @@ -311,11 +275,12 @@ msgid "" "When set to minimize, double clicking minimizes all the windows of the " "application." msgstr "" -"Если выбрано \"Свернуть окно\", двойной клик сворачивает все окна приложения." +"Если выбрано \"Свернуть окно\", двойной щелчок сворачивает все окна " +"приложения." #: Settings.ui.h:3 msgid "Shift+Click action" -msgstr "Действия для Shift+Клик" +msgstr "Действия для Shift+Щелчок" #: Settings.ui.h:4 msgid "Raise windows" @@ -331,11 +296,11 @@ msgstr "Запустить ещё одну копию" #: Settings.ui.h:7 msgid "Cycle through windows" -msgstr "Активировать программу" +msgstr "Переключение между окнами" #: Settings.ui.h:8 msgid "Cycle windows + minimize" -msgstr "Активировать программу + Свернуть" +msgstr "Переключение между окнами + Свернуть" #: Settings.ui.h:9 msgid "Toggle single / Preview multiple" @@ -343,7 +308,7 @@ msgstr "Переключить одно / Просмотр нескольких" #: Settings.ui.h:11 msgid "Behavior for Middle-Click." -msgstr "Поведение для средней кнопки." +msgstr "Поведение для средней кнопки мыши." #: Settings.ui.h:12 msgid "Middle-Click action" @@ -358,123 +323,111 @@ msgid "Shift+Middle-Click action" msgstr "Действие на нажатие Shift+средняя_кнопка" #: Settings.ui.h:15 -msgid "Isolate monitors" -msgstr "Изолировать рабочие столы" +msgid "Integrate AppMenu items" +msgstr "Интегрировать Меню Приложения" #: Settings.ui.h:16 -msgid "Display favorite applications on all monitors" -msgstr "Показывать закрепленные приложения на всех мониторах" - -#: Settings.ui.h:17 -msgid "Display the clock on all monitors" -msgstr "Показывать часы на всех мониторах" - -#: Settings.ui.h:18 -msgid "Display the status menu on all monitors" -msgstr "Показывать системные индикаторы на всех мониторах" - -#: Settings.ui.h:19 -msgid "Integrate AppMenu items" -msgstr "Интегрировать Меню Программы" - -#: Settings.ui.h:20 msgid "Show Details menu item" msgstr "Меню Показать детали" -#: Settings.ui.h:21 +#: Settings.ui.h:17 msgid "Highlight focused application" -msgstr "Подсвечивать выделенную иконку" +msgstr "Подсвечивать приложение в фокусе" -#: Settings.ui.h:22 +#: Settings.ui.h:18 msgid "Icon dominant color" -msgstr "Основной цвет иконки" +msgstr "Основной цвет значка" -#: Settings.ui.h:23 +#: Settings.ui.h:19 msgid "Custom color" msgstr "Задать цвет" -#: Settings.ui.h:24 +#: Settings.ui.h:20 msgid "Highlight opacity" msgstr "Прозрачность подсветки" -#: Settings.ui.h:25 -msgid "Indicator height (px)" -msgstr "Высота (в пикселях)" +#: Settings.ui.h:21 +msgid "Indicator size (px)" +msgstr "Размер индикатора (в пикселях)" -#: Settings.ui.h:26 +#: Settings.ui.h:22 msgid "Indicator color - Icon Dominant" -msgstr "Цвет индикатора по основному цвету иконки" +msgstr "Цвет индикатора по основному цвету значка" -#: Settings.ui.h:27 +#: Settings.ui.h:23 msgid "Indicator color - Override Theme" msgstr "Переназначить цвета темы" -#: Settings.ui.h:28 +#: Settings.ui.h:24 msgid "1 window open (or ungrouped)" msgstr "Когда одно окно открыто (или не сгруппировано)" -#: Settings.ui.h:29 +#: Settings.ui.h:25 msgid "Apply to all" msgstr "Применить ко всем" -#: Settings.ui.h:30 +#: Settings.ui.h:26 msgid "2 windows open" msgstr "Когда два окна открыто" -#: Settings.ui.h:31 +#: Settings.ui.h:27 msgid "3 windows open" msgstr "Когда три окна открыто" -#: Settings.ui.h:32 +#: Settings.ui.h:28 msgid "4+ windows open" msgstr "Когда четыре+ окна открыто" -#: Settings.ui.h:33 +#: Settings.ui.h:29 msgid "Use different for unfocused" msgstr "Использовать другой когда не в фокусе" -#: Settings.ui.h:34 +#: Settings.ui.h:30 msgid "Font size (px) of the application titles (default is 14)" msgstr "Размер шрифта (в пикселях) заголовка приложений (по умолчанию 14)" -#: Settings.ui.h:35 +#: Settings.ui.h:31 msgid "Font weight of application titles" msgstr "Жирность шрифта заголовка приложений" -#: Settings.ui.h:36 +#: Settings.ui.h:32 msgid "inherit from theme" msgstr "значение из темы" -#: Settings.ui.h:37 +#: Settings.ui.h:33 msgid "normal" msgstr "средний" -#: Settings.ui.h:38 +#: Settings.ui.h:34 msgid "lighter" msgstr "узкий" -#: Settings.ui.h:39 +#: Settings.ui.h:35 msgid "bold" msgstr "жирный" -#: Settings.ui.h:40 +#: Settings.ui.h:36 msgid "bolder" msgstr "самый жирный" -#: Settings.ui.h:41 +#: Settings.ui.h:37 msgid "Font color of the application titles" msgstr "Цвет шрифта заголовка приложений" -#: Settings.ui.h:42 +#: Settings.ui.h:38 +msgid "Font color of the minimized application titles" +msgstr "Цвет шрифта заголовка свернутых приложений" + +#: Settings.ui.h:39 msgid "Maximum width (px) of the application titles (default is 160)" msgstr "" "Максимальная ширина (в пикселях) заголовка приложений (по умолчанию 160)" -#: Settings.ui.h:43 +#: Settings.ui.h:40 msgid "Use a fixed width for the application titles" msgstr "Использовать фиксированную ширину заголовков" -#: Settings.ui.h:44 +#: Settings.ui.h:41 msgid "" "The application titles all have the same width, even if their texts are " "shorter than the maximum width. The maximum width value is used as the fixed " @@ -484,456 +437,485 @@ msgstr "" "максимальной ширины. Максимальное значение ширины используется как " "фиксированная ширина." -#: Settings.ui.h:45 +#: Settings.ui.h:42 msgid "Display running indicators on unfocused applications" -msgstr "Индикатор запущенной программы когда окно не в фокусе" +msgstr "Индикатор запущенного приложения, когда окно не в фокусе" -#: Settings.ui.h:46 +#: Settings.ui.h:43 msgid "Use the favorite icons as application launchers" msgstr "Показывать избранные приложения" -#: Settings.ui.h:47 +#: Settings.ui.h:44 msgid "Only hide the panel when it is obstructed by windows " msgstr "Скрывать только при наложении окон " -#: Settings.ui.h:48 +#: Settings.ui.h:45 msgid "The panel hides from" msgstr "Скрывать панель с" -#: Settings.ui.h:49 +#: Settings.ui.h:46 msgid "All windows" msgstr "Все окна" -#: Settings.ui.h:50 +#: Settings.ui.h:47 msgid "Focused windows" msgstr "Окна в фокусе" -#: Settings.ui.h:51 +#: Settings.ui.h:48 msgid "Maximized windows" msgstr "Развернутые окна" -#: Settings.ui.h:52 +#: Settings.ui.h:49 msgid "Require pressure at the edge of the screen to reveal the panel" msgstr "Требуется давление на краю экрана, чтобы открыть панель" -#: Settings.ui.h:53 +#: Settings.ui.h:50 msgid "Required pressure threshold (px)" msgstr "Область у границы для показа панели (в пикселях)" -#: Settings.ui.h:54 +#: Settings.ui.h:51 msgid "Required pressure timeout (ms)" msgstr "Задержка показа при приближении к краю (в мс)" -#: Settings.ui.h:55 +#: Settings.ui.h:52 msgid "Allow the panel to be revealed while in fullscreen mode" msgstr "Разрешить отображение панели в полноэкранном режиме" -#: Settings.ui.h:56 +#: Settings.ui.h:53 msgid "Only hide secondary panels (requires multi-monitors option)" msgstr "" "Скрывать дополнительные панели (требуется показ на нескольких мониторах)" -#: Settings.ui.h:57 +#: Settings.ui.h:54 msgid "e.g. i" msgstr "например, i" -#: Settings.ui.h:58 +#: Settings.ui.h:55 msgid "Keyboard shortcut to reveal and hold the panel" msgstr "Комбинация клавиш для показа панели" -#: Settings.ui.h:59 +#: Settings.ui.h:56 msgid "Syntax: , , , " msgstr "Синтакс: , , , " -#: Settings.ui.h:60 +#: Settings.ui.h:57 msgid "Hide and reveal animation duration (ms)" -msgstr "Скрыть и показать задержка анимации (в мс)" +msgstr "Длительность анимации (в мс)" -#: Settings.ui.h:61 +#: Settings.ui.h:58 msgid "Delay before hiding the panel (ms)" msgstr "Задержка перед скрытием панели (в мс)" -#: Settings.ui.h:62 +#: Settings.ui.h:59 msgid "Delay before enabling intellihide on start (ms)" msgstr "Задержка на скрытие при запуске (в мс)" -#: Settings.ui.h:63 -msgid "Time (ms) before showing (100 is default)" -msgstr "Задержка (в мс) перед показом (100 по умолчанию)" +#: Settings.ui.h:60 +msgid "Time (ms) before showing (400 is default)" +msgstr "Задержка (в мс) перед показом (400 по умолчанию)" -#: Settings.ui.h:64 +#: Settings.ui.h:61 msgid "Animation time (ms)" msgstr "Время анимации (в мс)" -#: Settings.ui.h:65 +#: Settings.ui.h:62 msgid "Time (ms) before hiding (100 is default)" msgstr "Задержка (в мс) перед скрытием (100 по умолчанию)" -#: Settings.ui.h:66 +#: Settings.ui.h:63 msgid "Immediate on application icon click" msgstr "Сразу по переходу в приложение" -#: Settings.ui.h:67 +#: Settings.ui.h:64 msgid "Middle click on the preview to close the window" msgstr "Нажатие средней кнопкой по предпросмотру закрывает окно" -#: Settings.ui.h:68 +#: Settings.ui.h:65 msgid "Window previews preferred size (px)" msgstr "Предпочитаемый размер окна предпросмотра (пикселей)" -#: Settings.ui.h:69 +#: Settings.ui.h:66 msgid "Window previews aspect ratio Y (height)" msgstr "Коэффициент по оси Y (высота)" -#: Settings.ui.h:70 +#: Settings.ui.h:67 msgid "Window previews padding (px)" msgstr "Отступ окон между собой (пикселей)" -#: Settings.ui.h:71 +#: Settings.ui.h:68 msgid "1" msgstr "1" -#: Settings.ui.h:72 +#: Settings.ui.h:69 msgid "2" msgstr "2" -#: Settings.ui.h:73 +#: Settings.ui.h:70 msgid "3" msgstr "3" -#: Settings.ui.h:74 +#: Settings.ui.h:71 msgid "4" msgstr "4" -#: Settings.ui.h:75 +#: Settings.ui.h:72 msgid "5" msgstr "5" -#: Settings.ui.h:76 +#: Settings.ui.h:73 msgid "6" msgstr "6" -#: Settings.ui.h:77 +#: Settings.ui.h:74 msgid "7" msgstr "7" -#: Settings.ui.h:78 +#: Settings.ui.h:75 msgid "8" msgstr "8" -#: Settings.ui.h:79 +#: Settings.ui.h:76 msgid "9" msgstr "9" -#: Settings.ui.h:80 +#: Settings.ui.h:77 msgid "10" msgstr "10" -#: Settings.ui.h:81 +#: Settings.ui.h:78 msgid "11" msgstr "11" -#: Settings.ui.h:82 +#: Settings.ui.h:79 msgid "12" msgstr "12" -#: Settings.ui.h:83 +#: Settings.ui.h:80 msgid "13" msgstr "13" -#: Settings.ui.h:84 +#: Settings.ui.h:81 msgid "14" msgstr "14" -#: Settings.ui.h:85 +#: Settings.ui.h:82 msgid "15" msgstr "15" -#: Settings.ui.h:86 +#: Settings.ui.h:83 msgid "16" msgstr "16" -#: Settings.ui.h:87 +#: Settings.ui.h:84 msgid "17" msgstr "17" -#: Settings.ui.h:88 +#: Settings.ui.h:85 msgid "18" msgstr "18" -#: Settings.ui.h:89 +#: Settings.ui.h:86 msgid "19" msgstr "19" -#: Settings.ui.h:90 +#: Settings.ui.h:87 msgid "20" msgstr "20" -#: Settings.ui.h:91 +#: Settings.ui.h:88 msgid "21" msgstr "21" -#: Settings.ui.h:92 +#: Settings.ui.h:89 msgid "Fixed" msgstr "Закреплено" -#: Settings.ui.h:93 +#: Settings.ui.h:90 msgid "Window previews aspect ratio X (width)" msgstr "Коэффициент по оси Y (ширина)" -#: Settings.ui.h:94 +#: Settings.ui.h:91 msgid "Use custom opacity for the previews background" msgstr "Использовать прозрачность для окна предпросмотра" -#: Settings.ui.h:95 +#: Settings.ui.h:92 msgid "If disabled, the previews background have the same opacity as the panel" msgstr "Если отключено используется прозрачность из настроек панели" -#: Settings.ui.h:96 +#: Settings.ui.h:93 msgid "Close button and header position" msgstr "Кнопка закрытия и заголовок" -#: Settings.ui.h:97 +#: Settings.ui.h:94 msgid "Bottom" msgstr "Внизу" -#: Settings.ui.h:98 +#: Settings.ui.h:95 msgid "Top" msgstr "Наверху" -#: Settings.ui.h:99 +#: Settings.ui.h:96 msgid "Display window preview headers" msgstr "Показать заголовок окна" -#: Settings.ui.h:100 +#: Settings.ui.h:97 +msgid "Icon size (px) of the window preview" +msgstr "Размер значка (в пикселях) в окне предпросмотра" + +#: Settings.ui.h:98 +msgid "If disabled, the previews icon size will be based on headerbar size" +msgstr "Если отключено будет использован размер значков по размеру заголовка" + +#: Settings.ui.h:99 msgid "Font size (px) of the preview titles" msgstr "Размер шрифта (в пикселях) для заголовка" -#: Settings.ui.h:101 +#: Settings.ui.h:100 msgid "Font weight of the preview titles" msgstr "Жирность шрифта заголовка" -#: Settings.ui.h:102 +#: Settings.ui.h:101 msgid "Font color of the preview titles" msgstr "Цвет шрифта заголовка" -#: Settings.ui.h:103 +#: Settings.ui.h:102 msgid "Enable window peeking" msgstr "Переводить окно на передний план" -#: Settings.ui.h:104 +#: Settings.ui.h:103 msgid "" "When hovering over a window preview for some time, the window gets " "distinguished." -msgstr "При наведении на иконку предпросмотра иногда окно выделяется." +msgstr "Выделение окна приложения при наведении на окно предпросмотра," -#: Settings.ui.h:105 +#: Settings.ui.h:104 msgid "Enter window peeking mode timeout (ms)" msgstr "Задержка перед помещением окна на передний план (в мс)" -#: Settings.ui.h:106 +#: Settings.ui.h:105 msgid "50" msgstr "50" -#: Settings.ui.h:107 +#: Settings.ui.h:106 msgid "" "Time of inactivity while hovering over a window preview needed to enter the " "window peeking mode." msgstr "" -"Время бездействия при наведении указателя на иконку предпросмотра для " -"перевода окна на передний план." +"Время бездействия при наведении указателя на окно предпросмотра для перевода " +"окна на передний план." -#: Settings.ui.h:108 +#: Settings.ui.h:107 msgid "Window peeking mode opacity" msgstr "Режим прозрачности выделенного окна" -#: Settings.ui.h:109 +#: Settings.ui.h:108 msgid "0" msgstr "0" -#: Settings.ui.h:110 +#: Settings.ui.h:109 msgid "" "All windows except for the peeked one have their opacity set to the same " "value." msgstr "Все окна, кроме выделенного, имеют прозрачность." -#: Settings.ui.h:111 +#: Settings.ui.h:110 msgid "Delay between mouse scroll events (ms)" msgstr "Задержка между событиями вращения колесика мышки (мс)" -#: Settings.ui.h:112 +#: Settings.ui.h:111 msgid "Use this value to limit the number of captured mouse scroll events." msgstr "" "Это значение ограничивает количество получаемых сообщений вращения колесика " "мышки." +#: Settings.ui.h:112 +msgid "Show popup when changing workspace" +msgstr "" + #: Settings.ui.h:113 +msgid "This affects workspace popup when scrolling on the panel only." +msgstr "" + +#: Settings.ui.h:114 msgid "Super" msgstr "Super" -#: Settings.ui.h:114 +#: Settings.ui.h:115 msgid "Super + Alt" msgstr "Super + Alt" -#: Settings.ui.h:115 +#: Settings.ui.h:116 msgid "Hotkeys prefix" msgstr "Префикс горячих клавиш" -#: Settings.ui.h:116 +#: Settings.ui.h:117 msgid "Hotkeys will either be Super+Number or Super+Alt+Num" msgstr "" -"Комбинация клавиши для программ на панели либо Super+Number, либо Super+Alt" +"Комбинации клавиш для приложений на панели либо Super+Number, либо Super+Alt" "+Num" -#: Settings.ui.h:117 +#: Settings.ui.h:118 msgid "Never" msgstr "Никогда" -#: Settings.ui.h:118 +#: Settings.ui.h:119 msgid "Show temporarily" msgstr "Показать временно" -#: Settings.ui.h:119 +#: Settings.ui.h:120 msgid "Always visible" msgstr "Всегда видимый" -#: Settings.ui.h:120 +#: Settings.ui.h:121 msgid "Number overlay" msgstr "Наложение цифр" -#: Settings.ui.h:121 +#: Settings.ui.h:122 msgid "" "Temporarily show the application numbers over the icons when using the " "hotkeys." msgstr "" -"Временно показывать цифры на иконках программ при нажатии горячей клавиши." +"Временно показывать цифры на значках приложений при нажатии горячей клавиши." -#: Settings.ui.h:122 +#: Settings.ui.h:123 msgid "Hide timeout (ms)" msgstr "Задержка скрытия (в мс)" -#: Settings.ui.h:123 +#: Settings.ui.h:124 msgid "e.g. q" msgstr "например, q" -#: Settings.ui.h:124 -msgid "Shortcut to show the overlay for 2 seconds" -msgstr "Показать оверлей на иконках на 2 секунды" - #: Settings.ui.h:125 +msgid "Shortcut to show the overlay for 2 seconds" +msgstr "Показать оверлей на значках на 2 секунды" + +#: Settings.ui.h:126 msgid "Show window previews on hotkey" msgstr "Предпросмотр приложений" -#: Settings.ui.h:126 +#: Settings.ui.h:127 msgid "Show previews when the application have multiple instances" msgstr "Показывать предпросмотр приложений с несколькими экземплярами" -#: Settings.ui.h:127 +#: Settings.ui.h:128 msgid "Number row" msgstr "Основной" -#: Settings.ui.h:128 +#: Settings.ui.h:129 msgid "Numeric keypad" msgstr "Дополнительной" -#: Settings.ui.h:129 +#: Settings.ui.h:130 msgid "Both" msgstr "Оба" -#: Settings.ui.h:130 +#: Settings.ui.h:131 msgid "Hotkeys are activated with" msgstr "Используются горячие клавиши с клавиатуры" -#: Settings.ui.h:131 +#: Settings.ui.h:132 msgid "Select which keyboard number keys are used to activate the hotkeys" msgstr "Выберите какой набор цифровых кнопок используется для горячих клавиш" -#: Settings.ui.h:132 -msgid "Current Show Applications icon" -msgstr "Текуща иконка Программы" - #: Settings.ui.h:133 -msgid "Select a Show Applications image icon" -msgstr "Выбрать иконку Программы" +msgid "Current Show Applications icon" +msgstr "Текущий значок \"Приложения\"" #: Settings.ui.h:134 -msgid "Custom Show Applications image icon" -msgstr "Собственная иконка Программы" +msgid "Select a Show Applications image icon" +msgstr "Выбрать значок \"Приложения\"" #: Settings.ui.h:135 -msgid "Show Applications icon side padding (px)" -msgstr "Отступ от иконки, пикселей" +msgid "Custom Show Applications image icon" +msgstr "Собственный значок \"Приложения\"" #: Settings.ui.h:136 +msgid "Show Applications icon side padding (px)" +msgstr "Отступ от значка (в пикселях)" + +#: Settings.ui.h:137 +msgid "Override escape key and return to desktop" +msgstr "" + +#: Settings.ui.h:138 +msgid "Animate Show Applications." +msgstr "Анимировать Показ списка приложений." + +#: Settings.ui.h:139 +msgid "Override Show Desktop line color" +msgstr "Выбрать цвет разделительной линии" + +#: Settings.ui.h:140 msgid "Reveal the desktop when hovering the Show Desktop button" msgstr "Показать рабочий стол при наведении на кнопку" -#: Settings.ui.h:137 +#: Settings.ui.h:141 msgid "Delay before revealing the desktop (ms)" msgstr "Задержка показа рабочего стола (в мс)" -#: Settings.ui.h:138 +#: Settings.ui.h:142 msgid "Fade duration (ms)" msgstr "Задержка скрытия (в мс)" -#: Settings.ui.h:139 +#: Settings.ui.h:143 msgid "The panel background opacity is affected by" msgstr "Влияние на прозрачность панели оказывают" -#: Settings.ui.h:140 +#: Settings.ui.h:144 msgid "Change opacity when a window gets closer than (px)" -msgstr "Изменять прозрачность, когда окно приблизится на (в пиксилях)" +msgstr "" +"Изменять прозрачность при приближении окна к панели ближе чем (в пикселях)" -#: Settings.ui.h:142 +#: Settings.ui.h:146 #, no-c-format msgid "Change opacity to (%)" msgstr "Изменять прозрачность на (%)" -#: Settings.ui.h:143 +#: Settings.ui.h:147 msgid "Opacity change animation duration (ms)" msgstr "Скрыть и показать задержка анимации (в мс)" -#: Settings.ui.h:144 -msgid "Panel screen position" -msgstr "Позиция панели на экране" - -#: Settings.ui.h:145 -msgid "Left" -msgstr "Слева" - -#: Settings.ui.h:146 -msgid "Right" -msgstr "Справа" - -#: Settings.ui.h:147 -msgid "Taskbar position" -msgstr "Позиция панели задач на экране" - #: Settings.ui.h:148 -msgid "Clock location" -msgstr "Позиция часов" - -#: Settings.ui.h:149 msgid "Display the main panel on" msgstr "Показать панель на" -#: Settings.ui.h:150 +#: Settings.ui.h:149 msgid "Display panels on all monitors" msgstr "Показать панель на всех мониторах" -#: Settings.ui.h:151 +#: Settings.ui.h:150 msgid "Panel Intellihide" msgstr "Автоскрытие панели" -#: Settings.ui.h:152 +#: Settings.ui.h:151 msgid "Hide and reveal the panel according to preferences" msgstr "Скрывать и показывать панель в зависимости от настроек" +#: Settings.ui.h:152 +msgid "Order and positions on monitor" +msgstr "Порядок и расположение на мониторе" + #: Settings.ui.h:153 +msgid "Apply changes to all monitors" +msgstr "Применить изменения ко всем мониторам" + +#: Settings.ui.h:154 +msgid "Panel screen position" +msgstr "Расположение панели на экране" + +#: Settings.ui.h:155 +msgid "Left" +msgstr "Слева" + +#: Settings.ui.h:156 +msgid "Right" +msgstr "Справа" + +#: Settings.ui.h:157 msgid "Position" msgstr "Расположение" -#: Settings.ui.h:154 +#: Settings.ui.h:158 msgid "" "Panel Size\n" "(default is 48)" @@ -941,211 +923,215 @@ msgstr "" "Ширина панели\n" "(По умолчанию 48 пикселей)" -#: Settings.ui.h:156 +#: Settings.ui.h:160 msgid "" "App Icon Margin\n" "(default is 8)" msgstr "" -"Отступ между значками программ\n" +"Отступ между значками приложений\n" "(по умолчанию 8 пикселей)" -#: Settings.ui.h:158 +#: Settings.ui.h:162 msgid "" "App Icon Padding\n" "(default is 4)" msgstr "" -"Отступ между значками программ\n" +"Отступ вокруг значков приложений\n" "(по умолчанию 4 пикселя)" -#: Settings.ui.h:160 +#: Settings.ui.h:164 msgid "Running indicator position" -msgstr "Позиция индикаторов запущенных программ" +msgstr "Позиция индикаторов запущенных приложений" -#: Settings.ui.h:161 +#: Settings.ui.h:165 msgid "Running indicator style (Focused app)" -msgstr "Индикатор запущенной программы (когда в фокусе)" +msgstr "Индикатор запущенного приложения (когда в фокусе)" -#: Settings.ui.h:162 +#: Settings.ui.h:166 msgid "Dots" msgstr "Точки" -#: Settings.ui.h:163 +#: Settings.ui.h:167 msgid "Squares" msgstr "Квадраты" -#: Settings.ui.h:164 +#: Settings.ui.h:168 msgid "Dashes" msgstr "Линии" -#: Settings.ui.h:165 +#: Settings.ui.h:169 msgid "Segmented" msgstr "Сегменты" -#: Settings.ui.h:166 +#: Settings.ui.h:170 msgid "Solid" msgstr "Жирные линии" -#: Settings.ui.h:167 +#: Settings.ui.h:171 msgid "Ciliora" msgstr "Линии с точками" -#: Settings.ui.h:168 +#: Settings.ui.h:172 msgid "Metro" msgstr "Метро" -#: Settings.ui.h:169 +#: Settings.ui.h:173 msgid "Running indicator style (Unfocused apps)" -msgstr "Индикатор запущенной программы (когда в не фокусе)" +msgstr "Индикатор запущенного приложения (когда в не фокусе)" -#: Settings.ui.h:170 +#: Settings.ui.h:174 msgid "Override panel theme background color " msgstr "Цвет панели " -#: Settings.ui.h:171 +#: Settings.ui.h:175 msgid "Override panel theme background opacity" msgstr "Прозрачность панели" -#: Settings.ui.h:173 +#: Settings.ui.h:177 #, no-c-format msgid "Panel background opacity (%)" msgstr "Прозрачность панели (%)" -#: Settings.ui.h:174 +#: Settings.ui.h:178 msgid "Dynamic background opacity" msgstr "Динамическая прозрачность" -#: Settings.ui.h:175 +#: Settings.ui.h:179 msgid "Change opacity when a window gets close to the panel" msgstr "Изменять прозрачность при приближении окно к панели" -#: Settings.ui.h:176 +#: Settings.ui.h:180 msgid "Override panel theme gradient " msgstr "Градиент панели " -#: Settings.ui.h:178 +#: Settings.ui.h:182 #, no-c-format msgid "Gradient top color and opacity (%)" msgstr "Значение цвета и прозрачности (%) сверху" -#: Settings.ui.h:180 +#: Settings.ui.h:184 #, no-c-format msgid "Gradient bottom color and opacity (%)" msgstr "Значение цвета и прозрачности (%) снизу" -#: Settings.ui.h:181 +#: Settings.ui.h:185 msgid "Style" msgstr "Вид" -#: Settings.ui.h:182 +#: Settings.ui.h:186 msgid "Show favorite applications" msgstr "Показывать избранные приложения" -#: Settings.ui.h:183 +#: Settings.ui.h:187 msgid "Show running applications" msgstr "Показывать запущенные приложения" -#: Settings.ui.h:184 -msgid "Show Applications icon" -msgstr "Показывать иконку Программы" - -#: Settings.ui.h:185 -msgid "Animate Show Applications." -msgstr "Анимировать Показ списка приложения." - -#: Settings.ui.h:186 -msgid "Show Activities button" -msgstr "Показать кнопку Обзор" - -#: Settings.ui.h:187 -msgid "Show Desktop button" -msgstr "Показывать кнопку Рабочий стол" - #: Settings.ui.h:188 -msgid "Show AppMenu button" -msgstr "Показывать кнопку Меню программы" +msgid "Show favorite applications on secondary panels" +msgstr "Показывать избранные приложения на вторичных панелях" #: Settings.ui.h:189 +msgid "Show AppMenu button" +msgstr "Показывать кнопку Меню приложения" + +#: Settings.ui.h:190 msgid "Top Bar > Show App Menu must be enabled in Tweak Tool" msgstr "" "Верхняя панель > Показать меню приложения, должно быть включено в Tweak Tool" -#: Settings.ui.h:190 +#: Settings.ui.h:191 msgid "Show window previews on hover" msgstr "Показывать предпросмотр окон при наведении" -#: Settings.ui.h:191 +#: Settings.ui.h:192 msgid "Show tooltip on hover" msgstr "Показывать подсказку при наведении" -#: Settings.ui.h:192 +#: Settings.ui.h:193 msgid "Isolate Workspaces" msgstr "Изолировать рабочие столы" -#: Settings.ui.h:193 +#: Settings.ui.h:194 +msgid "Isolate monitors" +msgstr "Изолировать мониторы" + +#: Settings.ui.h:195 +msgid "Click empty space to close overview" +msgstr "Закрывать обзор при щелчке на свободном месте" + +#: Settings.ui.h:196 msgid "Ungroup applications" msgstr "Разгруппировать приложения" -#: Settings.ui.h:194 +#: Settings.ui.h:197 msgid "Behavior" msgstr "Поведение" -#: Settings.ui.h:195 -msgid "Behaviour when clicking on the icon of a running application." -msgstr "Поведение при клике на иконке запущенной программы." - -#: Settings.ui.h:196 -msgid "Click action" -msgstr "Действие при клике" - -#: Settings.ui.h:197 -msgid "Toggle windows" -msgstr "Переключить окна" - #: Settings.ui.h:198 -msgid "Scroll panel action" -msgstr "При скролле над панелью" +msgid "Behaviour when clicking on the icon of a running application." +msgstr "Поведение при щелчке на значке запущенного приложения." #: Settings.ui.h:199 +msgid "Click action" +msgstr "Действие при щелчке" + +#: Settings.ui.h:200 +msgid "Toggle windows" +msgstr "Показать или свернуть" + +#: Settings.ui.h:201 +msgid "Scroll panel action" +msgstr "При прокрутке над панелью" + +#: Settings.ui.h:202 msgid "Behavior when mouse scrolling over the panel." msgstr "Поведение при прокрутке колесиком мыши над панелью." -#: Settings.ui.h:200 +#: Settings.ui.h:203 msgid "Scroll icon action" -msgstr "При скролле над иконкой приложения" +msgstr "При прокрутке над значком приложения" -#: Settings.ui.h:201 +#: Settings.ui.h:204 msgid "Behavior when mouse scrolling over an application icon." -msgstr "Поведение при прокрутке колесиком мыши над иконкой приложения." +msgstr "Поведение при прокрутке колесиком мыши над значком приложения." -#: Settings.ui.h:202 +#: Settings.ui.h:205 msgid "Do nothing" msgstr "Ничего не делать" -#: Settings.ui.h:203 +#: Settings.ui.h:206 msgid "Switch workspace" msgstr "Переключать рабочий стол" -#: Settings.ui.h:204 +#: Settings.ui.h:207 msgid "Cycle windows" msgstr "Переключать окна" -#: Settings.ui.h:205 +#: Settings.ui.h:208 +msgid "Change volume" +msgstr "Изменить громкость" + +#: Settings.ui.h:209 +msgid "Same as panel" +msgstr "Как на панеле" + +#: Settings.ui.h:210 msgid "" "Enable Super+(0-9) as shortcuts to activate apps. It can also be used " "together with Shift and Ctrl." msgstr "" -"Использовать Super+(0-9) как горячие клавиши запуска программ. Здесь можно " -"использовать Shift и Ctrl." +"Использовать Super+(0-9) как горячие клавиши запуска приложений. Доступно " +"использование Shift и Ctrl." -#: Settings.ui.h:206 +#: Settings.ui.h:211 msgid "Use hotkeys to activate apps" -msgstr "Использовать горячие клавиши для запуска программ" +msgstr "Использовать горячие клавиши для запуска приложений" -#: Settings.ui.h:207 +#: Settings.ui.h:212 msgid "Action" msgstr "Действия" -#: Settings.ui.h:208 +#: Settings.ui.h:213 msgid "" "Tray Font Size\n" "(0 = theme default)" @@ -1153,7 +1139,7 @@ msgstr "" "Размер шрифта в трее\n" "(0 = значение из темы)" -#: Settings.ui.h:210 +#: Settings.ui.h:215 msgid "" "LeftBox Font Size\n" "(0 = theme default)" @@ -1161,23 +1147,23 @@ msgstr "" "Размер шрифта левой панели\n" "(0 = значение из темы)" -#: Settings.ui.h:212 +#: Settings.ui.h:217 msgid "" "Tray Item Padding\n" "(-1 = theme default)" msgstr "" -"Отступ между иконками в трее\n" +"Отступ между значками в трее\n" "(-1 = значение из темы)" -#: Settings.ui.h:214 +#: Settings.ui.h:219 msgid "" "Status Icon Padding\n" "(-1 = theme default)" msgstr "" -"Иконки статуса\n" +"Значки статуса\n" "(-1 = значение из темы)" -#: Settings.ui.h:216 +#: Settings.ui.h:221 msgid "" "LeftBox Padding\n" "(-1 = theme default)" @@ -1185,41 +1171,49 @@ msgstr "" "Отступ левой панели\n" "(0 = значение из темы)" -#: Settings.ui.h:218 +#: Settings.ui.h:223 msgid "Animate switching applications" msgstr "Анимировать переключение приложений" -#: Settings.ui.h:219 +#: Settings.ui.h:224 msgid "Animate launching new windows" msgstr "Анимировать запуск нового окна" -#: Settings.ui.h:220 +#: Settings.ui.h:225 msgid "Keep original gnome-shell dash (overview)" msgstr "Сохранить панель GNOME при показе приложений" -#: Settings.ui.h:221 +#: Settings.ui.h:226 +msgid "Force Activities hot corner on primary monitor" +msgstr "" + +#: Settings.ui.h:227 msgid "Activate panel menu buttons (e.g. date menu) on click only" msgstr "" "Активировать кнопки на панели меню (например, меню даты) только при нажатии " "на кнопку" -#: Settings.ui.h:222 -msgid "App icon secondary (right-click) menu" -msgstr "Меню программ по правой кнопке мыши" +#: Settings.ui.h:228 +msgid "Keep original gnome-shell top panel" +msgstr "Сохранить верхнюю панель GNOME" -#: Settings.ui.h:224 +#: Settings.ui.h:229 +msgid "App icon secondary (right-click) menu" +msgstr "Меню приложения по щелчку правой кнопкой мыши" + +#: Settings.ui.h:231 msgid "Fine-Tune" msgstr "Тонкая настройка" -#: Settings.ui.h:225 +#: Settings.ui.h:232 msgid "version: " msgstr "версия: " -#: Settings.ui.h:226 +#: Settings.ui.h:233 msgid "GitHub" msgstr "GitHub" -#: Settings.ui.h:227 +#: Settings.ui.h:234 msgid "" "Use the buttons below to create a settings file from your current " "preferences that can be imported on a different machine." @@ -1227,36 +1221,36 @@ msgstr "" "Кнопками ниже можно сохранить текущие настройки в файл для загрузки на " "другой машине." -#: Settings.ui.h:228 +#: Settings.ui.h:235 msgid "Export and import settings" msgstr "Сохранение и загрузка настроек" -#: Settings.ui.h:229 +#: Settings.ui.h:236 msgid "Export to file" msgstr "Сохранение настроек" -#: Settings.ui.h:230 +#: Settings.ui.h:237 msgid "Import from file" msgstr "Загрузка настроек" -#: Settings.ui.h:231 +#: Settings.ui.h:238 msgid "" "This allows you to update the extension directly from the GitHub repository." -msgstr "Позволяет обновлять расширение прямо с GitHub." +msgstr "Позволяет обновлять приложение прямо с GitHub." -#: Settings.ui.h:232 +#: Settings.ui.h:239 msgid "Updates" msgstr "Обновления" -#: Settings.ui.h:233 +#: Settings.ui.h:240 msgid "Periodically check for updates" msgstr "Периодически проверять обновления" -#: Settings.ui.h:234 +#: Settings.ui.h:241 msgid "Check now" msgstr "Проверить сейчас" -#: Settings.ui.h:235 +#: Settings.ui.h:242 msgid "" "Be aware, these official Dash to " "Panel releases might not be reviewed yet on extensions.gnome.org! Прочитать" -#: Settings.ui.h:236 +#: Settings.ui.h:243 msgid "" "This program comes with ABSOLUTELY NO WARRANTY.\n" "See the GNU General Public License, version 2 or later" -#: Settings.ui.h:238 +#: Settings.ui.h:245 msgid "About" -msgstr "О программе" +msgstr "О приложении" + +#~ msgid "Top, with plugin icons collapsed to bottom" +#~ msgstr "Сверху, иконки плагинов снизу" + +#~ msgid "Left, with plugin icons collapsed to right" +#~ msgstr "Слева, иконки плагинов справа" + +#~ msgid "Top, with fixed center plugin icons" +#~ msgstr "Сверху, иконки плагинов по середине" + +#~ msgid "Left, with fixed center plugin icons" +#~ msgstr "Слева, иконки плагинов по середине" + +#~ msgid "Top, with floating center plugin icons" +#~ msgstr "Сверху, иконки плагинов по центру и не закреплены" + +#~ msgid "Left, with floating center plugin icons" +#~ msgstr "Слева, иконки плагинов по центру и не закреплены" + +#~ msgid "Center, fixed in middle of monitor" +#~ msgstr "По центру монитора" + +#~ msgid "Center, floating between top and bottom elements" +#~ msgstr "По центру между элементами сверху и снизу" + +#~ msgid "Center, floating between left and right elements" +#~ msgstr "По центру между элементами слева и справа" + +#~ msgid "Top of plugin icons" +#~ msgstr "Сверху от иконок плагинов" + +#~ msgid "Left of plugin icons" +#~ msgstr "Слева от иконок плагинов" + +#~ msgid "Bottom of plugin icons" +#~ msgstr "Снизу от иконок плагинов" + +#~ msgid "Right of plugin icons" +#~ msgstr "Справа от иконок плагинов" + +#~ msgid "Top of system indicators" +#~ msgstr "Сверху от системных индикаторов" + +#~ msgid "Left of system indicators" +#~ msgstr "Слева от системных индикаторов" + +#~ msgid "Bottom of system indicators" +#~ msgstr "Снизу от системных индикаторов" + +#~ msgid "Right of system indicators" +#~ msgstr "Справа от системных индикаторов" + +#~ msgid "Left of taskbar" +#~ msgstr "Слева от списка задач" + +#~ msgid "Bottom of taskbar" +#~ msgstr "Снизу от списка задач" + +#~ msgid "Right of taskbar" +#~ msgstr "Справа от списка задач" + +#~ msgid "Multi-monitors options" +#~ msgstr "Настройки для нескольких мониторов" + +#~ msgid "Event logs" +#~ msgstr "Просмотр логов" + +#~ msgid "System" +#~ msgstr "Система" + +#~ msgid "Device Management" +#~ msgstr "Управление устройствами" + +#~ msgid "Disk Management" +#~ msgstr "Управление дисками" + +#~ msgid "Terminal" +#~ msgstr "Терминал" + +#~ msgid "Files" +#~ msgstr "Файлы" + +#~ msgid "Settings" +#~ msgstr "Настройки" + +#~ msgid "Display favorite applications on all monitors" +#~ msgstr "Показывать закрепленные приложения на всех мониторах" + +#~ msgid "Display the clock on all monitors" +#~ msgstr "Показывать часы на всех мониторах" + +#~ msgid "Display the status menu on all monitors" +#~ msgstr "Показывать системные индикаторы на всех мониторах" + +#~ msgid "Taskbar position" +#~ msgstr "Позиция панели задач на экране" + +#~ msgid "Clock location" +#~ msgstr "Позиция часов" + +#~ msgid "Show Applications icon" +#~ msgstr "Показывать иконку Программы" #~ msgid "Raise window" #~ msgstr "Восстановить окно" From 7411e91ee9d8545e0030026356fd75fe58f3e342 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Tue, 29 Dec 2020 19:41:26 -0500 Subject: [PATCH 05/13] Always restore window opacity for 3.36 mutter bug --- panel.js | 14 ++++++++------ utils.js | 19 ++++++++++++++----- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/panel.js b/panel.js index 76b3039..5a2b2ca 100644 --- a/panel.js +++ b/panel.js @@ -1334,15 +1334,17 @@ var dtpPanel = Utils.defineClass({ }, _toggleWorkspaceWindows: function(hide, workspace) { - let tweenOpts = { - opacity: hide ? 0 : 255, - time: Me.settings.get_int('show-showdesktop-time') * .001, - transition: 'easeOutQuad' - }; + let time = Me.settings.get_int('show-showdesktop-time') * .001; workspace.list_windows().forEach(w => { if (!w.minimized) { - Utils.animateWindowOpacity(w.get_compositor_private(), tweenOpts) + let tweenOpts = { + opacity: hide ? 0 : 255, + time: time, + transition: 'easeOutQuad' + }; + + Utils.animateWindowOpacity(w.get_compositor_private(), tweenOpts); } }); }, diff --git a/utils.js b/utils.js index 8081fca..966c64b 100644 --- a/utils.js +++ b/utils.js @@ -500,12 +500,21 @@ var animateWindowOpacity = function(window, tweenOpts) { let visible = tweenOpts.opacity > 0; let windowActor = window; - if (!windowActor.visible && visible) { - windowActor.visible = visible; - } - window = windowActor.get_first_child() || windowActor; - tweenOpts.onComplete = () => windowActor.visible = visible; + + if (!windowActor.visible && visible) { + window.opacity = 0; + windowActor.visible = visible; + } + + if (!visible) { + let initialOpacity = window.opacity; + + tweenOpts.onComplete = () => { + windowActor.visible = visible; + window.opacity = initialOpacity; + }; + } } else if (Config.PACKAGE_VERSION > '3.33') { //the workaround only works on 3.35+, so on 3.34, let's just hide the //window without animation From 270cb89f95d1b78a8d2ba2b6007286d119cec284 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Tue, 29 Dec 2020 22:11:18 -0500 Subject: [PATCH 06/13] Fix 3.38.2 spring animation --- taskbar.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/taskbar.js b/taskbar.js index 60bcb17..639abdb 100644 --- a/taskbar.js +++ b/taskbar.js @@ -1110,8 +1110,8 @@ var taskbar = Utils.defineClass({ this.forcedOverview = true; let grid = Utils.getAppDisplayViews()[visibleView].view._grid; let onShownCb; - let overviewShownId = Main.overview.connect('shown', () => { - Main.overview.disconnect(overviewShownId); + let overviewShowingId = Main.overview.connect('showing', () => { + Main.overview.disconnect(overviewShowingId); onShownCb(); }); From 180b436ea11e55b5ea613a3b7b6716f3cba51619 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Wed, 30 Dec 2020 08:06:31 -0500 Subject: [PATCH 07/13] Fix 3.38 'needs an allocation' warning --- taskbar.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/taskbar.js b/taskbar.js index 639abdb..2580385 100644 --- a/taskbar.js +++ b/taskbar.js @@ -90,11 +90,13 @@ var taskbarActor = Utils.defineClass({ let panel = this._delegate.dtpPanel; let availFixedSize = box[panel.fixedCoord.c2] - box[panel.fixedCoord.c1]; let availVarSize = box[panel.varCoord.c2] - box[panel.varCoord.c1]; - let [, scrollview, leftFade, rightFade] = this.get_children(); + let [dummy, scrollview, leftFade, rightFade] = this.get_children(); let [, natSize] = this[panel.sizeFunc](availFixedSize); let childBox = new Clutter.ActorBox(); let orientation = panel.getOrientation(); + Utils.allocate(dummy, childBox, flags); + childBox[panel.varCoord.c1] = box[panel.varCoord.c1]; childBox[panel.varCoord.c2] = Math.min(availVarSize, natSize); childBox[panel.fixedCoord.c1] = box[panel.fixedCoord.c1]; From 5c502bcfd12e65d28f53bb8ec7c4efeba51ad5e6 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Thu, 31 Dec 2020 12:38:59 -0500 Subject: [PATCH 08/13] Force appicons update on drag end --- appIcons.js | 4 ++++ taskbar.js | 3 +++ 2 files changed, 7 insertions(+) diff --git a/appIcons.js b/appIcons.js index 1ccfbd6..89ee686 100644 --- a/appIcons.js +++ b/appIcons.js @@ -588,6 +588,10 @@ var taskbarAppIcon = Utils.defineClass({ this._draggable.fakeRelease(); } + if (this.isDragged) { + return; + } + if (!this._menu) { this._menu = new taskbarSecondaryMenu(this, this.dtpPanel); this._menu.connect('activate-window', Lang.bind(this, function (menu, window) { diff --git a/taskbar.js b/taskbar.js index 2580385..348f375 100644 --- a/taskbar.js +++ b/taskbar.js @@ -558,10 +558,13 @@ var taskbar = Utils.defineClass({ appIcon._draggable.connect('drag-begin', Lang.bind(this, function() { appIcon.actor.opacity = 50; + appIcon.isDragged = 1; })); appIcon._draggable.connect('drag-end', Lang.bind(this, function() { appIcon.actor.opacity = 255; + delete appIcon.isDragged; + this._updateAppIcons(); })); } From ec13897509f08e62c1cd5e66a7a9064eda2ace44 Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Sat, 2 Jan 2021 18:03:28 -0500 Subject: [PATCH 09/13] Only use showing overview signal on g-s > 3.38.1 --- taskbar.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/taskbar.js b/taskbar.js index 348f375..e74c454 100644 --- a/taskbar.js +++ b/taskbar.js @@ -1115,7 +1115,8 @@ var taskbar = Utils.defineClass({ this.forcedOverview = true; let grid = Utils.getAppDisplayViews()[visibleView].view._grid; let onShownCb; - let overviewShowingId = Main.overview.connect('showing', () => { + let overviewSignal = Config.PACKAGE_VERSION > '3.38.1' ? 'showing' : 'shown'; + let overviewShowingId = Main.overview.connect(overviewSignal, () => { Main.overview.disconnect(overviewShowingId); onShownCb(); }); From 830f1294b5731cf863117817653716c220c6c19d Mon Sep 17 00:00:00 2001 From: "sicklylife.jp" Date: Sun, 3 Jan 2021 21:42:54 +0900 Subject: [PATCH 10/13] Update Japanese translation --- po/ja.po | 543 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 281 insertions(+), 262 deletions(-) diff --git a/po/ja.po b/po/ja.po index 2b365e5..fc10c5b 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1,16 +1,16 @@ # Japanese translations for Dash to Panel. -# Copyright (C) 2017-2020 dash-to-panel's COPYRIGHT HOLDER +# Copyright (C) 2017-2021 dash-to-panel's COPYRIGHT HOLDER # This file is distributed under the same license as the dash-to-panel package. # Shinichirou Yamada , 2017-2018. -# sicklylife , 2018-2020. +# sicklylife , 2018-2021. # Ryo Nakano , 2019. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-12 08:00+0900\n" -"PO-Revision-Date: 2020-07-12 10:30+0900\n" +"POT-Creation-Date: 2021-01-03 21:05+0900\n" +"PO-Revision-Date: 2021-01-03 21:40+0900\n" "Last-Translator: sicklylife \n" "Language-Team: Japanese\n" "Language: ja\n" @@ -19,11 +19,11 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: Settings.ui.h:1 +#: Settings.ui:43 msgid "Nothing yet!" msgstr "まだ何もありません!" -#: Settings.ui.h:2 +#: Settings.ui:98 msgid "" "When set to minimize, double clicking minimizes all the windows of the " "application." @@ -31,155 +31,155 @@ msgstr "" "最小化に設定する場合、ダブルクリックでそのアプリケーションのすべてのウィンド" "ウを最小化します。" -#: Settings.ui.h:3 +#: Settings.ui:116 msgid "Shift+Click action" msgstr "Shift + クリックの動作" -#: Settings.ui.h:4 +#: Settings.ui:130 Settings.ui:201 Settings.ui:272 Settings.ui:6529 msgid "Raise windows" msgstr "ウィンドウを最前面に移動" -#: Settings.ui.h:5 +#: Settings.ui:131 Settings.ui:202 Settings.ui:273 msgid "Minimize window" msgstr "ウィンドウを最小化" -#: Settings.ui.h:6 +#: Settings.ui:132 Settings.ui:203 Settings.ui:274 Settings.ui:6530 msgid "Launch new instance" msgstr "新規インスタンスを起動" -#: Settings.ui.h:7 +#: Settings.ui:133 Settings.ui:204 Settings.ui:275 Settings.ui:6526 msgid "Cycle through windows" msgstr "ウィンドウを循環表示" -#: Settings.ui.h:8 +#: Settings.ui:134 Settings.ui:205 Settings.ui:276 Settings.ui:6525 msgid "Cycle windows + minimize" msgstr "ウィンドウを循環 + 最小化" -#: Settings.ui.h:9 +#: Settings.ui:135 Settings.ui:206 Settings.ui:277 Settings.ui:6527 msgid "Toggle single / Preview multiple" msgstr "ウィンドウが 1 つなら切り替え" -#: Settings.ui.h:11 +#: Settings.ui:169 msgid "Behavior for Middle-Click." msgstr "中クリック時の挙動です。" -#: Settings.ui.h:12 +#: Settings.ui:187 msgid "Middle-Click action" msgstr "中クリックの動作" -#: Settings.ui.h:13 +#: Settings.ui:240 msgid "Behavior for Shift+Middle-Click." msgstr "Shift + 中クリック時の挙動です。" -#: Settings.ui.h:14 +#: Settings.ui:258 msgid "Shift+Middle-Click action" msgstr "Shift + 中クリックの動作" -#: Settings.ui.h:15 +#: Settings.ui:337 msgid "Integrate AppMenu items" msgstr "アプリケーションメニューの項目を統合" -#: Settings.ui.h:16 +#: Settings.ui:383 msgid "Show Details menu item" msgstr "詳細を表示するメニュー項目を表示" -#: Settings.ui.h:17 +#: Settings.ui:481 msgid "Highlight focused application" msgstr "フォーカスされたアプリをハイライト" -#: Settings.ui.h:18 +#: Settings.ui:512 msgid "Icon dominant color" msgstr "アイコンのドミナントカラー" -#: Settings.ui.h:19 +#: Settings.ui:537 msgid "Custom color" msgstr "カスタムカラー" -#: Settings.ui.h:20 +#: Settings.ui:562 msgid "Highlight opacity" msgstr "ハイライトの不透明度" -#: Settings.ui.h:21 +#: Settings.ui:614 msgid "Indicator size (px)" msgstr "インジケーターのサイズ (px)" -#: Settings.ui.h:22 +#: Settings.ui:658 msgid "Indicator color - Icon Dominant" msgstr "インジケーターの色 - アイコンのドミナント" -#: Settings.ui.h:23 +#: Settings.ui:704 msgid "Indicator color - Override Theme" msgstr "インジケーターの色 - テーマを上書き" -#: Settings.ui.h:24 +#: Settings.ui:747 Settings.ui:933 msgid "1 window open (or ungrouped)" msgstr "ウィンドウを 1 つ開く (または非グループ化)" -#: Settings.ui.h:25 +#: Settings.ui:762 Settings.ui:948 msgid "Apply to all" msgstr "すべてに適用" -#: Settings.ui.h:26 +#: Settings.ui:798 Settings.ui:984 msgid "2 windows open" msgstr "ウィンドウを 2 つ開く" -#: Settings.ui.h:27 +#: Settings.ui:811 Settings.ui:1009 msgid "3 windows open" msgstr "ウィンドウを 3 つ開く" -#: Settings.ui.h:28 +#: Settings.ui:824 Settings.ui:1034 msgid "4+ windows open" msgstr "ウィンドウを 4 つ以上開く" -#: Settings.ui.h:29 +#: Settings.ui:890 msgid "Use different for unfocused" msgstr "非フォーカスの場合は異なる色を使用" -#: Settings.ui.h:30 +#: Settings.ui:1141 msgid "Font size (px) of the application titles (default is 14)" msgstr "アプリケーションタイトルのフォントサイズ (px) (デフォルトは 14)" -#: Settings.ui.h:31 +#: Settings.ui:1172 msgid "Font weight of application titles" msgstr "アプリケーションタイトルのフォントの幅" -#: Settings.ui.h:32 +#: Settings.ui:1186 Settings.ui:2911 msgid "inherit from theme" msgstr "テーマに依存" -#: Settings.ui.h:33 +#: Settings.ui:1187 Settings.ui:2912 msgid "normal" msgstr "普通" -#: Settings.ui.h:34 +#: Settings.ui:1188 Settings.ui:2913 msgid "lighter" msgstr "細い" -#: Settings.ui.h:35 +#: Settings.ui:1189 Settings.ui:2914 msgid "bold" msgstr "太い" -#: Settings.ui.h:36 +#: Settings.ui:1190 Settings.ui:2915 msgid "bolder" msgstr "より太い" -#: Settings.ui.h:37 +#: Settings.ui:1220 msgid "Font color of the application titles" msgstr "アプリケーションタイトルのフォントの色" -#: Settings.ui.h:38 +#: Settings.ui:1263 msgid "Font color of the minimized application titles" msgstr "アプリケーションタイトルのフォントの色 (最小化時)" -#: Settings.ui.h:39 +#: Settings.ui:1306 msgid "Maximum width (px) of the application titles (default is 160)" msgstr "アプリケーションタイトルの最大幅 (px) (デフォルトは 160)" -#: Settings.ui.h:40 +#: Settings.ui:1351 msgid "Use a fixed width for the application titles" msgstr "アプリケーションタイトルの幅を固定" -#: Settings.ui.h:41 +#: Settings.ui:1376 msgid "" "The application titles all have the same width, even if their texts are " "shorter than the maximum width. The maximum width value is used as the fixed " @@ -188,243 +188,251 @@ msgstr "" "アプリケーションタイトルが最大幅より短い場合でも、幅を維持します。最大幅の値" "が固定幅の値として使用されます。" -#: Settings.ui.h:42 +#: Settings.ui:1412 msgid "Display running indicators on unfocused applications" msgstr "フォーカスされていないアプリケーションのインジケーターを表示" -#: Settings.ui.h:43 +#: Settings.ui:1454 msgid "Use the favorite icons as application launchers" msgstr "アプリケーションランチャーとしてお気に入りアイコンを使用" -#: Settings.ui.h:44 +#: Settings.ui:1552 msgid "Only hide the panel when it is obstructed by windows " msgstr "ウィンドウが重なっている場合にのみパネルを隠す " -#: Settings.ui.h:45 +#: Settings.ui:1584 msgid "The panel hides from" msgstr "対象のウィンドウ" -#: Settings.ui.h:46 +#: Settings.ui:1598 Settings.ui:4355 msgid "All windows" msgstr "すべてのウィンドウ" -#: Settings.ui.h:47 +#: Settings.ui:1599 Settings.ui:4356 msgid "Focused windows" msgstr "フォーカスされたウィンドウ" -#: Settings.ui.h:48 +#: Settings.ui:1600 Settings.ui:4357 msgid "Maximized windows" msgstr "最大化されたウィンドウ" -#: Settings.ui.h:49 +#: Settings.ui:1638 msgid "Require pressure at the edge of the screen to reveal the panel" msgstr "マウスカーソルを画面端へ押し当てることでパネルを表示" -#: Settings.ui.h:50 +#: Settings.ui:1670 msgid "Required pressure threshold (px)" msgstr "表示に必要な値 (px)" -#: Settings.ui.h:51 +#: Settings.ui:1699 msgid "Required pressure timeout (ms)" msgstr "押し当てのタイムアウト (ミリ秒)" -#: Settings.ui.h:52 +#: Settings.ui:1754 msgid "Allow the panel to be revealed while in fullscreen mode" msgstr "フルスクリーンモード時でのパネルの表示を許可" -#: Settings.ui.h:53 +#: Settings.ui:1798 msgid "Only hide secondary panels (requires multi-monitors option)" msgstr "マルチモニター環境でセカンダリーパネルのみ隠す" -#: Settings.ui.h:54 +#: Settings.ui:1841 msgid "e.g. i" msgstr "例: i" -#: Settings.ui.h:55 +#: Settings.ui:1854 msgid "Keyboard shortcut to reveal and hold the panel" msgstr "パネルを表示して固定するキーボードショートカット" -#: Settings.ui.h:56 +#: Settings.ui:1866 Settings.ui:3641 msgid "Syntax: , , , " msgstr "シンタックス: " -#: Settings.ui.h:57 +#: Settings.ui:1901 msgid "Hide and reveal animation duration (ms)" msgstr "表示/非表示アニメーションの長さ (ミリ秒)" -#: Settings.ui.h:58 +#: Settings.ui:1947 msgid "Delay before hiding the panel (ms)" msgstr "パネルを隠す前の遅延 (ミリ秒)" -#: Settings.ui.h:59 +#: Settings.ui:1994 msgid "Delay before enabling intellihide on start (ms)" msgstr "起動時に Intellihide を有効にする前の遅延 (ミリ秒)" -#: Settings.ui.h:60 +#: Settings.ui:2158 msgid "Time (ms) before showing (400 is default)" msgstr "表示までの時間 (ミリ秒) (デフォルトは 400)" -#: Settings.ui.h:61 +#: Settings.ui:2172 msgid "Animation time (ms)" msgstr "アニメーション時間 (ミリ秒)" -#: Settings.ui.h:62 +#: Settings.ui:2205 msgid "Time (ms) before hiding (100 is default)" msgstr "隠すまでの時間 (ミリ秒) (デフォルトは 100)" -#: Settings.ui.h:63 +#: Settings.ui:2229 msgid "Immediate on application icon click" msgstr "アプリケーションアイコンをクリックしたら即隠す" -#: Settings.ui.h:64 +#: Settings.ui:2285 msgid "Middle click on the preview to close the window" msgstr "プレビュー上での中クリックでウィンドウを閉じる" -#: Settings.ui.h:65 +#: Settings.ui:2329 msgid "Window previews preferred size (px)" msgstr "ウィンドウプレビューの優先サイズ (px)" -#: Settings.ui.h:66 +#: Settings.ui:2360 msgid "Window previews aspect ratio Y (height)" msgstr "ウィンドウプレビューの Y アスペクト比 (高さ)" -#: Settings.ui.h:67 +#: Settings.ui:2375 msgid "Window previews padding (px)" msgstr "ウィンドウプレビューのパディング (px)" -#: Settings.ui.h:68 +#: Settings.ui:2415 Settings.ui:2493 msgid "1" msgstr "1" -#: Settings.ui.h:69 +#: Settings.ui:2416 Settings.ui:2494 msgid "2" msgstr "2" -#: Settings.ui.h:70 +#: Settings.ui:2417 Settings.ui:2495 msgid "3" msgstr "3" -#: Settings.ui.h:71 +#: Settings.ui:2418 Settings.ui:2496 msgid "4" msgstr "4" -#: Settings.ui.h:72 +#: Settings.ui:2419 Settings.ui:2497 Settings.ui:2616 msgid "5" msgstr "5" -#: Settings.ui.h:73 +#: Settings.ui:2420 Settings.ui:2498 msgid "6" msgstr "6" -#: Settings.ui.h:74 +#: Settings.ui:2421 Settings.ui:2499 msgid "7" msgstr "7" -#: Settings.ui.h:75 +#: Settings.ui:2422 Settings.ui:2500 msgid "8" msgstr "8" -#: Settings.ui.h:76 +#: Settings.ui:2423 Settings.ui:2501 msgid "9" msgstr "9" -#: Settings.ui.h:77 +#: Settings.ui:2424 Settings.ui:2502 msgid "10" msgstr "10" -#: Settings.ui.h:78 +#: Settings.ui:2425 Settings.ui:2503 msgid "11" msgstr "11" -#: Settings.ui.h:79 +#: Settings.ui:2426 Settings.ui:2504 msgid "12" msgstr "12" -#: Settings.ui.h:80 +#: Settings.ui:2427 Settings.ui:2505 msgid "13" msgstr "13" -#: Settings.ui.h:81 +#: Settings.ui:2428 Settings.ui:2506 msgid "14" msgstr "14" -#: Settings.ui.h:82 +#: Settings.ui:2429 Settings.ui:2507 msgid "15" msgstr "15" -#: Settings.ui.h:83 +#: Settings.ui:2430 Settings.ui:2508 msgid "16" msgstr "16" -#: Settings.ui.h:84 +#: Settings.ui:2431 Settings.ui:2509 msgid "17" msgstr "17" -#: Settings.ui.h:85 +#: Settings.ui:2432 Settings.ui:2510 msgid "18" msgstr "18" -#: Settings.ui.h:86 +#: Settings.ui:2433 Settings.ui:2511 msgid "19" msgstr "19" -#: Settings.ui.h:87 +#: Settings.ui:2434 Settings.ui:2512 msgid "20" msgstr "20" -#: Settings.ui.h:88 +#: Settings.ui:2435 Settings.ui:2513 msgid "21" msgstr "21" -#: Settings.ui.h:89 +#: Settings.ui:2446 Settings.ui:2524 msgid "Fixed" msgstr "固定" -#: Settings.ui.h:90 +#: Settings.ui:2469 msgid "Window previews aspect ratio X (width)" msgstr "ウィンドウプレビューの X アスペクト比 (幅)" -#: Settings.ui.h:91 +#: Settings.ui:2564 msgid "Use custom opacity for the previews background" msgstr "プレビューの背景にカスタム不透明度を使用" -#: Settings.ui.h:92 +#: Settings.ui:2578 msgid "If disabled, the previews background have the same opacity as the panel" -msgstr "無効にすると、プレビューの背景はパネルの不透明度と同一になります" +msgstr "無効の場合、プレビューの背景はパネルの不透明度と同一になります" -#: Settings.ui.h:93 +#: Settings.ui:2654 msgid "Close button and header position" msgstr "閉じるボタンとヘッダーの位置" -#: Settings.ui.h:94 +#: Settings.ui:2671 Settings.ui:4859 Settings.ui:5224 msgid "Bottom" msgstr "下" -#: Settings.ui.h:95 +#: Settings.ui:2689 Settings.ui:4878 Settings.ui:5241 msgid "Top" msgstr "上" -#: Settings.ui.h:96 +#: Settings.ui:2735 msgid "Display window preview headers" msgstr "ウィンドウプレビューのヘッダーを表示" -#: Settings.ui.h:97 +#: Settings.ui:2807 +msgid "Icon size (px) of the window preview" +msgstr "ウィンドウプレビューのアイコンサイズ (px)" + +#: Settings.ui:2821 +msgid "If disabled, the previews icon size will be based on headerbar size" +msgstr "無効の場合、ヘッダーバーのサイズを基準にしてアイコンサイズを設定します" + +#: Settings.ui:2869 msgid "Font size (px) of the preview titles" msgstr "プレビュータイトルのフォントサイズ (px)" -#: Settings.ui.h:98 +#: Settings.ui:2896 msgid "Font weight of the preview titles" msgstr "プレビュータイトルのフォント幅" -#: Settings.ui.h:99 +#: Settings.ui:2941 msgid "Font color of the preview titles" msgstr "プレビュータイトルのフォントの色" -#: Settings.ui.h:100 +#: Settings.ui:2992 msgid "Enable window peeking" msgstr "ウィンドウの覗き見を有効化" -#: Settings.ui.h:101 +#: Settings.ui:3018 msgid "" "When hovering over a window preview for some time, the window gets " "distinguished." @@ -432,15 +440,15 @@ msgstr "" "ウィンドウのプレビューにしばらくの間マウスホバーし続けると、そのウィンドウ以" "外が透明化されます。" -#: Settings.ui.h:102 +#: Settings.ui:3043 msgid "Enter window peeking mode timeout (ms)" msgstr "ウィンドウ覗き見モードに入る時間 (ミリ秒)" -#: Settings.ui.h:103 +#: Settings.ui:3057 msgid "50" msgstr "50" -#: Settings.ui.h:104 +#: Settings.ui:3072 msgid "" "Time of inactivity while hovering over a window preview needed to enter the " "window peeking mode." @@ -448,15 +456,16 @@ msgstr "" "ウィンドウ覗き見モードに入るには、ウィンドウのプレビューにマウスホバーしたま" "ま、しばらく動かさずに待つ必要があります。" -#: Settings.ui.h:105 +#: Settings.ui:3104 msgid "Window peeking mode opacity" msgstr "ウィンドウ覗き見モードの不透明度" -#: Settings.ui.h:106 +#: Settings.ui:3118 Settings.ui:3903 Settings.ui:4448 Settings.ui:5607 +#: Settings.ui:5825 Settings.ui:5863 msgid "0" msgstr "0" -#: Settings.ui.h:107 +#: Settings.ui:3132 msgid "" "All windows except for the peeked one have their opacity set to the same " "value." @@ -464,196 +473,200 @@ msgstr "" "選択したウィンドウ以外のすべてのウィンドウの不透明度が、設定した値になりま" "す。" -#: Settings.ui.h:108 +#: Settings.ui:3212 Settings.ui:3300 msgid "Delay between mouse scroll events (ms)" msgstr "マウススクロールイベント間の遅延 (ミリ秒)" -#: Settings.ui.h:109 +#: Settings.ui:3226 Settings.ui:3314 msgid "Use this value to limit the number of captured mouse scroll events." msgstr "マウススクロールを検知した後、指定した時間スクロールに反応しません。" -#: Settings.ui.h:110 +#: Settings.ui:3348 msgid "Show popup when changing workspace" msgstr "ワークスペース切り替え時にポップアップを表示" -#: Settings.ui.h:111 +#: Settings.ui:3362 msgid "This affects workspace popup when scrolling on the panel only." msgstr "" -"これはパネル上でスクロールした際のワークスペースのポップアップにのみ影響します。" +"これはパネル上でスクロールしたときのワークスペースのポップアップにのみ影響します。" -#: Settings.ui.h:112 +#: Settings.ui:3444 msgid "Super" msgstr "Super" -#: Settings.ui.h:113 +#: Settings.ui:3445 msgid "Super + Alt" msgstr "Super + Alt" -#: Settings.ui.h:114 +#: Settings.ui:3459 msgid "Hotkeys prefix" msgstr "ホットキーのプレフィックス" -#: Settings.ui.h:115 +#: Settings.ui:3471 msgid "Hotkeys will either be Super+Number or Super+Alt+Num" msgstr "ホットキーは Super + 数字キー、Super + Alt + 数字キーのどちらかです。" -#: Settings.ui.h:116 +#: Settings.ui:3509 msgid "Never" msgstr "表示しない" -#: Settings.ui.h:117 +#: Settings.ui:3510 msgid "Show temporarily" msgstr "一時的に表示" -#: Settings.ui.h:118 +#: Settings.ui:3511 msgid "Always visible" msgstr "常に表示" -#: Settings.ui.h:119 +#: Settings.ui:3525 msgid "Number overlay" msgstr "番号の表示" -#: Settings.ui.h:120 +#: Settings.ui:3537 msgid "" "Temporarily show the application numbers over the icons when using the " "hotkeys." msgstr "" "ホットキー使用時、アプリケーションのアイコン上に番号を一時的に表示します。" -#: Settings.ui.h:121 +#: Settings.ui:3586 msgid "Hide timeout (ms)" msgstr "非表示にするまでの時間 (ミリ秒)" -#: Settings.ui.h:122 +#: Settings.ui:3616 msgid "e.g. q" msgstr "例: q" -#: Settings.ui.h:123 +#: Settings.ui:3629 msgid "Shortcut to show the overlay for 2 seconds" msgstr "番号を 2 秒間表示するショートカットキー" -#: Settings.ui.h:124 +#: Settings.ui:3676 msgid "Show window previews on hotkey" msgstr "ホットキーでウィンドウプレビューを表示" -#: Settings.ui.h:125 +#: Settings.ui:3703 msgid "Show previews when the application have multiple instances" msgstr "アプリケーションのインスタンスが複数ある場合はプレビューを表示します" -#: Settings.ui.h:126 +#: Settings.ui:3740 msgid "Number row" msgstr "数字キー" -#: Settings.ui.h:127 +#: Settings.ui:3741 msgid "Numeric keypad" msgstr "テンキー" -#: Settings.ui.h:128 +#: Settings.ui:3742 msgid "Both" msgstr "両方" -#: Settings.ui.h:129 +#: Settings.ui:3756 msgid "Hotkeys are activated with" msgstr "ホットキーに使用するキー" -#: Settings.ui.h:130 +#: Settings.ui:3768 msgid "Select which keyboard number keys are used to activate the hotkeys" msgstr "キーボードのどちら側の数字キーをホットキーに使用するかを選択します" -#: Settings.ui.h:131 +#: Settings.ui:3823 msgid "Current Show Applications icon" msgstr "現在のアプリケーション表示アイコン" -#: Settings.ui.h:132 +#: Settings.ui:3853 msgid "Select a Show Applications image icon" msgstr "アプリケーション表示の画像アイコンを選択" -#: Settings.ui.h:133 +#: Settings.ui:3865 msgid "Custom Show Applications image icon" msgstr "カスタムアイコン" -#: Settings.ui.h:134 +#: Settings.ui:3916 msgid "Show Applications icon side padding (px)" msgstr "アプリケーション表示アイコンのパディング (px)" -#: Settings.ui.h:135 +#: Settings.ui:3963 msgid "Override escape key and return to desktop" msgstr "Esc キーで直接デスクトップに戻る" -#: Settings.ui.h:136 +#: Settings.ui:3999 msgid "Animate Show Applications." msgstr "アプリケーションの表示にアニメーションを使用" -#: Settings.ui.h:137 +#: Settings.ui:4102 +msgid "Override Show Desktop line color" +msgstr "デスクトップ表示ボタンの境目の色を上書き" + +#: Settings.ui:4173 msgid "Reveal the desktop when hovering the Show Desktop button" msgstr "デスクトップ表示ボタンにマウスホバーでデスクトップを表示" -#: Settings.ui.h:138 +#: Settings.ui:4204 msgid "Delay before revealing the desktop (ms)" msgstr "表示するまでの遅延時間 (ミリ秒)" -#: Settings.ui.h:139 +#: Settings.ui:4234 msgid "Fade duration (ms)" msgstr "フェード時間 (ミリ秒)" -#: Settings.ui.h:140 +#: Settings.ui:4341 msgid "The panel background opacity is affected by" msgstr "パネル背景の不透明度に影響を与えるウィンドウ" -#: Settings.ui.h:141 +#: Settings.ui:4403 msgid "Change opacity when a window gets closer than (px)" msgstr "不透明度を変更するウィンドウの距離 (px)" -#: Settings.ui.h:143 +#: Settings.ui:4433 #, no-c-format msgid "Change opacity to (%)" msgstr "不透明度を次に変更 (%)" -#: Settings.ui.h:144 +#: Settings.ui:4496 msgid "Opacity change animation duration (ms)" msgstr "不透明度変更アニメーションの継続時間 (ミリ秒)" -#: Settings.ui.h:145 +#: Settings.ui:4572 msgid "Display the main panel on" msgstr "メインパネルの表示" -#: Settings.ui.h:146 +#: Settings.ui:4614 msgid "Display panels on all monitors" msgstr "すべてのモニターにパネルを表示" -#: Settings.ui.h:147 +#: Settings.ui:4681 msgid "Panel Intellihide" msgstr "パネルの Intellihide" -#: Settings.ui.h:148 +#: Settings.ui:4745 msgid "Hide and reveal the panel according to preferences" msgstr "パネルを自動的に隠したり表示したりします" -#: Settings.ui.h:149 +#: Settings.ui:4798 msgid "Order and positions on monitor" msgstr "モニター上での順序と位置" -#: Settings.ui.h:150 +#: Settings.ui:4819 msgid "Apply changes to all monitors" msgstr "変更内容をすべてのモニターに適用する" -#: Settings.ui.h:151 +#: Settings.ui:4843 msgid "Panel screen position" msgstr "パネルの表示位置" -#: Settings.ui.h:152 +#: Settings.ui:4898 Settings.ui:5259 msgid "Left" msgstr "左" -#: Settings.ui.h:153 +#: Settings.ui:4918 Settings.ui:5276 msgid "Right" msgstr "右" -#: Settings.ui.h:154 +#: Settings.ui:4991 msgid "Position" msgstr "位置" -#: Settings.ui.h:155 +#: Settings.ui:5036 msgid "" "Panel Size\n" "(default is 48)" @@ -661,7 +674,7 @@ msgstr "" "パネルのサイズ\n" "(デフォルトは 48)" -#: Settings.ui.h:157 +#: Settings.ui:5086 msgid "" "App Icon Margin\n" "(default is 8)" @@ -669,7 +682,7 @@ msgstr "" "アプリのアイコンのマージン\n" "(デフォルトは 8)" -#: Settings.ui.h:159 +#: Settings.ui:5135 msgid "" "App Icon Padding\n" "(default is 4)" @@ -677,180 +690,185 @@ msgstr "" "アプリのアイコンのパディング\n" "(デフォルトは 4)" -#: Settings.ui.h:161 +#: Settings.ui:5208 msgid "Running indicator position" msgstr "実行中インジケーターの位置" -#: Settings.ui.h:162 +#: Settings.ui:5321 msgid "Running indicator style (Focused app)" msgstr "実行中インジケーターのスタイル (フォーカス)" -#: Settings.ui.h:163 +#: Settings.ui:5365 Settings.ui:5426 msgid "Dots" msgstr "" -#: Settings.ui.h:164 +#: Settings.ui:5366 Settings.ui:5427 msgid "Squares" msgstr "" -#: Settings.ui.h:165 +#: Settings.ui:5367 Settings.ui:5428 msgid "Dashes" msgstr "" -#: Settings.ui.h:166 +#: Settings.ui:5368 Settings.ui:5429 msgid "Segmented" msgstr "" -#: Settings.ui.h:167 +#: Settings.ui:5369 Settings.ui:5430 msgid "Solid" msgstr "" -#: Settings.ui.h:168 +#: Settings.ui:5370 Settings.ui:5431 msgid "Ciliora" msgstr "" -#: Settings.ui.h:169 +#: Settings.ui:5371 Settings.ui:5432 msgid "Metro" msgstr "" -#: Settings.ui.h:170 +#: Settings.ui:5410 msgid "Running indicator style (Unfocused apps)" msgstr "実行中インジケーターのスタイル (非フォーカス)" -#: Settings.ui.h:171 +#: Settings.ui:5486 msgid "Override panel theme background color " msgstr "パネルテーマの背景色を上書き " -#: Settings.ui.h:172 +#: Settings.ui:5559 msgid "Override panel theme background opacity" msgstr "パネルテーマ背景の不透明度を上書き" -#: Settings.ui.h:174 +#: Settings.ui:5592 #, no-c-format msgid "Panel background opacity (%)" msgstr "パネル背景の不透明度 (%)" -#: Settings.ui.h:175 +#: Settings.ui:5626 msgid "Dynamic background opacity" msgstr "動的な背景透過" -#: Settings.ui.h:176 +#: Settings.ui:5641 msgid "Change opacity when a window gets close to the panel" msgstr "パネルにウィンドウが近づいたら不透明度を変更します" -#: Settings.ui.h:177 +#: Settings.ui:5748 msgid "Override panel theme gradient " msgstr "パネルテーマのグラデーションを上書き " -#: Settings.ui.h:179 +#: Settings.ui:5781 #, no-c-format msgid "Gradient top color and opacity (%)" msgstr "グラデーションの開始色と不透明度 (%)" -#: Settings.ui.h:181 +#: Settings.ui:5794 #, no-c-format msgid "Gradient bottom color and opacity (%)" msgstr "グラデーションの終了色と不透明度 (%)" -#: Settings.ui.h:182 +#: Settings.ui:5910 msgid "Style" msgstr "スタイル" -#: Settings.ui.h:183 +#: Settings.ui:5969 msgid "Show favorite applications" msgstr "お気に入りのアプリケーションを表示" -#: Settings.ui.h:184 +#: Settings.ui:5982 msgid "Show running applications" msgstr "実行中のアプリケーションを表示" -#: Settings.ui.h:185 +#: Settings.ui:6019 msgid "Show favorite applications on secondary panels" msgstr "お気に入りのアプリケーションをセカンダリーパネルに表示" -#: Settings.ui.h:186 +#: Settings.ui:6064 msgid "Show AppMenu button" msgstr "アプリケーションメニューボタンを表示" -#: Settings.ui.h:187 +#: Settings.ui:6078 msgid "Top Bar > Show App Menu must be enabled in Tweak Tool" msgstr "" "Tweak Tool で「トップバー」 > 「アプリケーションメニュー」を有効にする必要が" "あります" -#: Settings.ui.h:188 +#: Settings.ui:6164 msgid "Show window previews on hover" msgstr "マウスホバー時にウィンドウのプレビューを表示" -#: Settings.ui.h:189 +#: Settings.ui:6190 msgid "Show tooltip on hover" msgstr "マウスホバー時にツールチップを表示" -#: Settings.ui.h:190 +#: Settings.ui:6235 msgid "Isolate Workspaces" -msgstr "アイコンをワークスペース毎に表示" +msgstr "アイコンをワークスペースごとに表示" -#: Settings.ui.h:191 +#: Settings.ui:6261 msgid "Isolate monitors" msgstr "モニターを分離" -#: Settings.ui.h:192 +#: Settings.ui:6306 +msgid "Click empty space to close overview" +msgstr "" +"オーバービュー画面で何もないところをクリックしたらデスクトップに戻る" + +#: Settings.ui:6338 msgid "Ungroup applications" msgstr "アプリケーションを非グループ化" -#: Settings.ui.h:193 +#: Settings.ui:6421 msgid "Behavior" msgstr "挙動" -#: Settings.ui.h:194 +#: Settings.ui:6466 msgid "Behaviour when clicking on the icon of a running application." -msgstr "起動しているアプリケーションのアイコンをクリックした際の挙動です。" +msgstr "起動しているアプリケーションのアイコンをクリックしたときの挙動です。" -#: Settings.ui.h:195 +#: Settings.ui:6483 msgid "Click action" msgstr "クリック時の動作" -#: Settings.ui.h:196 +#: Settings.ui:6528 msgid "Toggle windows" msgstr "ウィンドウを切り替え" -#: Settings.ui.h:197 +#: Settings.ui:6587 msgid "Scroll panel action" msgstr "パネルスクロールの動作" -#: Settings.ui.h:198 +#: Settings.ui:6601 msgid "Behavior when mouse scrolling over the panel." -msgstr "パネル上でマウススクロールした際の挙動です。" +msgstr "パネル上でマウススクロールしたときの挙動です。" -#: Settings.ui.h:199 +#: Settings.ui:6630 msgid "Scroll icon action" msgstr "アイコンスクロールの動作" -#: Settings.ui.h:200 +#: Settings.ui:6644 msgid "Behavior when mouse scrolling over an application icon." -msgstr "アプリアイコン上でマウススクロールした際の挙動です。" +msgstr "アプリアイコン上でマウススクロールしたときの挙動です。" -#: Settings.ui.h:201 +#: Settings.ui:6693 Settings.ui:6711 msgid "Do nothing" msgstr "何もしない" -#: Settings.ui.h:202 +#: Settings.ui:6694 msgid "Switch workspace" msgstr "ワークスペースを切り替え" -#: Settings.ui.h:203 +#: Settings.ui:6695 Settings.ui:6712 msgid "Cycle windows" msgstr "ウィンドウを循環表示" -#: Settings.ui.h:204 +#: Settings.ui:6696 msgid "Change volume" msgstr "音量を変更" -#: Settings.ui.h:205 +#: Settings.ui:6713 msgid "Same as panel" msgstr "パネルと同様" -#: Settings.ui.h:206 +#: Settings.ui:6785 msgid "" "Enable Super+(0-9) as shortcuts to activate apps. It can also be used " "together with Shift and Ctrl." @@ -858,15 +876,15 @@ msgstr "" "アプリを起動するショートカット (Super + 0〜9) を有効にします。Shift や Ctrl " "と共に使用できます。" -#: Settings.ui.h:207 +#: Settings.ui:6803 msgid "Use hotkeys to activate apps" msgstr "ホットキーを使用してアプリを起動" -#: Settings.ui.h:208 +#: Settings.ui:6886 msgid "Action" msgstr "動作" -#: Settings.ui.h:209 +#: Settings.ui:6933 msgid "" "Tray Font Size\n" "(0 = theme default)" @@ -874,7 +892,7 @@ msgstr "" "トレイのフォントサイズ\n" "(0 = テーマのデフォルト)" -#: Settings.ui.h:211 +#: Settings.ui:6964 msgid "" "LeftBox Font Size\n" "(0 = theme default)" @@ -882,7 +900,7 @@ msgstr "" "LeftBox のフォントサイズ\n" "(0 = テーマのデフォルト)" -#: Settings.ui.h:213 +#: Settings.ui:7037 msgid "" "Tray Item Padding\n" "(-1 = theme default)" @@ -890,7 +908,7 @@ msgstr "" "トレイアイテムのパディング\n" "(-1 = テーマのデフォルト)" -#: Settings.ui.h:215 +#: Settings.ui:7068 msgid "" "Status Icon Padding\n" "(-1 = theme default)" @@ -898,7 +916,7 @@ msgstr "" "ステータスアイコンのパディング\n" "(-1 = テーマのデフォルト)" -#: Settings.ui.h:217 +#: Settings.ui:7099 msgid "" "LeftBox Padding\n" "(-1 = theme default)" @@ -906,47 +924,47 @@ msgstr "" "LeftBox のパディング\n" "(-1 = テーマのデフォルト)" -#: Settings.ui.h:219 +#: Settings.ui:7170 msgid "Animate switching applications" msgstr "アプリケーション切り替え時のアニメーション効果" -#: Settings.ui.h:220 +#: Settings.ui:7207 msgid "Animate launching new windows" -msgstr "新しいウィンドウを開く際のアニメーション効果" +msgstr "新しいウィンドウを開くときのアニメーション効果" -#: Settings.ui.h:221 +#: Settings.ui:7258 msgid "Keep original gnome-shell dash (overview)" msgstr "オリジナルの GNOME Shell Dash を維持 (オーバービュー画面)" -#: Settings.ui.h:222 +#: Settings.ui:7283 msgid "Force Activities hot corner on primary monitor" msgstr "プライマリーモニターのアクティビティホットコーナーを強制" -#: Settings.ui.h:223 +#: Settings.ui:7308 msgid "Activate panel menu buttons (e.g. date menu) on click only" msgstr "パネルの日付メニューやシステムメニューをクリック時のみ有効化" -#: Settings.ui.h:224 +#: Settings.ui:7333 msgid "Keep original gnome-shell top panel" msgstr "オリジナルの GNOME Shell トップバーを維持" -#: Settings.ui.h:225 +#: Settings.ui:7400 msgid "App icon secondary (right-click) menu" msgstr "アプリアイコンのセカンダリー (右クリック) メニュー" -#: Settings.ui.h:227 +#: Settings.ui:7470 msgid "Fine-Tune" msgstr "微調整" -#: Settings.ui.h:228 +#: Settings.ui:7516 msgid "version: " msgstr "バージョン: " -#: Settings.ui.h:229 +#: Settings.ui:7546 msgid "GitHub" msgstr "GitHub" -#: Settings.ui.h:230 +#: Settings.ui:7599 msgid "" "Use the buttons below to create a settings file from your current " "preferences that can be imported on a different machine." @@ -954,36 +972,36 @@ msgstr "" "以下のボタンを使用して現在の設定から設定ファイルを作成し、別のマシンにイン" "ポートできます。" -#: Settings.ui.h:231 +#: Settings.ui:7617 msgid "Export and import settings" msgstr "設定のエクスポートとインポート" -#: Settings.ui.h:232 +#: Settings.ui:7627 msgid "Export to file" msgstr "ファイルにエクスポート" -#: Settings.ui.h:233 +#: Settings.ui:7639 msgid "Import from file" msgstr "ファイルからインポート" -#: Settings.ui.h:234 +#: Settings.ui:7695 msgid "" "This allows you to update the extension directly from the GitHub repository." msgstr "GitHub のリポジトリから拡張機能を直接アップデートできます。" -#: Settings.ui.h:235 +#: Settings.ui:7714 msgid "Updates" msgstr "アップデート" -#: Settings.ui.h:236 +#: Settings.ui:7727 msgid "Periodically check for updates" msgstr "アップデートを定期的に確認" -#: Settings.ui.h:237 +#: Settings.ui:7755 msgid "Check now" msgstr "今すぐ確認" -#: Settings.ui.h:238 +#: Settings.ui:7779 msgid "" "Be aware, these official Dash to " "Panel releases might not be reviewed yet on extensions.gnome.org! 詳細はこちら" -#: Settings.ui.h:239 +#: Settings.ui:7811 msgid "" "This program comes with ABSOLUTELY NO WARRANTY.\n" "See the GNU General Public License, version 2 またはそれ以降 " "をご確認ください。" -#: Settings.ui.h:241 +#: Settings.ui:7832 msgid "About" msgstr "Dash to Panel について" -#: appIcons.js:1431 +#: appIcons.js:1422 msgid "Show Details" msgstr "詳細を表示" -#: appIcons.js:1449 +#: appIcons.js:1440 msgid "New Window" msgstr "新しいウィンドウ" -#: appIcons.js:1449 appIcons.js:1509 appIcons.js:1511 Settings.ui.h:10 +#: Settings.ui:136 Settings.ui:207 Settings.ui:278 appIcons.js:1440 +#: appIcons.js:1500 appIcons.js:1502 msgid "Quit" msgstr "終了" -#: appIcons.js:1511 +#: appIcons.js:1502 msgid "Windows" msgstr "個のウィンドウ" @@ -1065,27 +1084,27 @@ msgstr "拡張機能" msgid "Settings" msgstr "設定" -#: appIcons.js:1858 +#: appIcons.js:1851 msgid "Unlock taskbar" msgstr "タスクバーをロック解除" -#: appIcons.js:1858 +#: appIcons.js:1851 msgid "Lock taskbar" msgstr "タスクバーをロック" -#: appIcons.js:1863 +#: appIcons.js:1856 msgid "Dash to Panel Settings" msgstr "Dash to Panel の設定" -#: appIcons.js:1876 +#: appIcons.js:1869 msgid "Restore Windows" msgstr "ウィンドウを復元" -#: appIcons.js:1876 +#: appIcons.js:1869 msgid "Show Desktop" msgstr "デスクトップを表示" -#: panel.js:212 +#: panel.js:201 msgid "Top Bar" msgstr "トップバー" @@ -1185,9 +1204,9 @@ msgstr "その他のオプション" msgid "Show Applications options" msgstr "アプリケーション表示のオプション" -#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1019 -#: prefs.js:1146 prefs.js:1405 prefs.js:1500 prefs.js:1565 prefs.js:1608 -#: prefs.js:1705 prefs.js:1739 prefs.js:1781 +#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1037 +#: prefs.js:1164 prefs.js:1450 prefs.js:1545 prefs.js:1610 prefs.js:1653 +#: prefs.js:1750 prefs.js:1784 prefs.js:1826 msgid "Reset to defaults" msgstr "デフォルトに戻す" @@ -1211,47 +1230,47 @@ msgstr "モニター " msgid "Dynamic opacity options" msgstr "動的不透明度のオプション" -#: prefs.js:1012 +#: prefs.js:1030 msgid "Intellihide options" msgstr "Intellihide のオプション" -#: prefs.js:1139 +#: prefs.js:1157 msgid "Window preview options" msgstr "ウィンドウプレビューのオプション" -#: prefs.js:1398 +#: prefs.js:1443 msgid "Ungrouped application options" msgstr "アプリケーション非グループ化のオプション" -#: prefs.js:1493 +#: prefs.js:1538 msgid "Customize middle-click behavior" msgstr "中クリックの挙動のカスタマイズ" -#: prefs.js:1558 +#: prefs.js:1603 msgid "Customize panel scroll behavior" msgstr "パネルスクロールの挙動のカスタマイズ" -#: prefs.js:1601 +#: prefs.js:1646 msgid "Customize icon scroll behavior" msgstr "アイコンスクロールの挙動のカスタマイズ" -#: prefs.js:1698 +#: prefs.js:1743 msgid "Advanced hotkeys options" msgstr "高度なホットキーのオプション" -#: prefs.js:1732 +#: prefs.js:1777 msgid "Secondary Menu Options" msgstr "右クリックメニューのオプション" -#: prefs.js:1774 Settings.ui.h:226 +#: Settings.ui:7448 prefs.js:1819 msgid "Advanced Options" msgstr "高度なオプション" -#: prefs.js:1877 +#: prefs.js:1922 msgid "Export settings" msgstr "設定のエクスポート" -#: prefs.js:1894 +#: prefs.js:1939 msgid "Import settings" msgstr "設定のインポート" @@ -1300,7 +1319,7 @@ msgstr "GNOME Shell を再起動" msgid "Restarting GNOME Shell..." msgstr "GNOME Shell を再起動しています..." -#: windowPreview.js:932 +#: windowPreview.js:934 msgid "Move to current Workspace" msgstr "現在のワークスペースに移動" From 58bfdf1ce30f30648001a2cb8402c2bd431f516b Mon Sep 17 00:00:00 2001 From: "sicklylife.jp" Date: Sun, 3 Jan 2021 21:52:50 +0900 Subject: [PATCH 11/13] Update Japanese translation --- po/ja.po | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/po/ja.po b/po/ja.po index fc10c5b..2e7967a 100644 --- a/po/ja.po +++ b/po/ja.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-01-03 21:05+0900\n" -"PO-Revision-Date: 2021-01-03 21:40+0900\n" +"PO-Revision-Date: 2021-01-03 21:52+0900\n" "Last-Translator: sicklylife \n" "Language-Team: Japanese\n" "Language: ja\n" @@ -137,7 +137,7 @@ msgstr "非フォーカスの場合は異なる色を使用" #: Settings.ui:1141 msgid "Font size (px) of the application titles (default is 14)" -msgstr "アプリケーションタイトルのフォントサイズ (px) (デフォルトは 14)" +msgstr "アプリケーションタイトルのフォントサイズ (px) (初期値は 14)" #: Settings.ui:1172 msgid "Font weight of application titles" @@ -173,7 +173,7 @@ msgstr "アプリケーションタイトルのフォントの色 (最小化時) #: Settings.ui:1306 msgid "Maximum width (px) of the application titles (default is 160)" -msgstr "アプリケーションタイトルの最大幅 (px) (デフォルトは 160)" +msgstr "アプリケーションタイトルの最大幅 (px) (初期値は 160)" #: Settings.ui:1351 msgid "Use a fixed width for the application titles" @@ -262,7 +262,7 @@ msgstr "起動時に Intellihide を有効にする前の遅延 (ミリ秒)" #: Settings.ui:2158 msgid "Time (ms) before showing (400 is default)" -msgstr "表示までの時間 (ミリ秒) (デフォルトは 400)" +msgstr "表示までの時間 (ミリ秒) (初期値は 400)" #: Settings.ui:2172 msgid "Animation time (ms)" @@ -270,7 +270,7 @@ msgstr "アニメーション時間 (ミリ秒)" #: Settings.ui:2205 msgid "Time (ms) before hiding (100 is default)" -msgstr "隠すまでの時間 (ミリ秒) (デフォルトは 100)" +msgstr "隠すまでの時間 (ミリ秒) (初期値は 100)" #: Settings.ui:2229 msgid "Immediate on application icon click" @@ -672,7 +672,7 @@ msgid "" "(default is 48)" msgstr "" "パネルのサイズ\n" -"(デフォルトは 48)" +"(初期値は 48)" #: Settings.ui:5086 msgid "" @@ -680,7 +680,7 @@ msgid "" "(default is 8)" msgstr "" "アプリのアイコンのマージン\n" -"(デフォルトは 8)" +"(初期値は 8)" #: Settings.ui:5135 msgid "" @@ -688,7 +688,7 @@ msgid "" "(default is 4)" msgstr "" "アプリのアイコンのパディング\n" -"(デフォルトは 4)" +"(初期値は 4)" #: Settings.ui:5208 msgid "Running indicator position" @@ -890,7 +890,7 @@ msgid "" "(0 = theme default)" msgstr "" "トレイのフォントサイズ\n" -"(0 = テーマのデフォルト)" +"(0 = テーマの既定値)" #: Settings.ui:6964 msgid "" @@ -898,7 +898,7 @@ msgid "" "(0 = theme default)" msgstr "" "LeftBox のフォントサイズ\n" -"(0 = テーマのデフォルト)" +"(0 = テーマの既定値)" #: Settings.ui:7037 msgid "" @@ -906,7 +906,7 @@ msgid "" "(-1 = theme default)" msgstr "" "トレイアイテムのパディング\n" -"(-1 = テーマのデフォルト)" +"(-1 = テーマの既定値)" #: Settings.ui:7068 msgid "" @@ -914,7 +914,7 @@ msgid "" "(-1 = theme default)" msgstr "" "ステータスアイコンのパディング\n" -"(-1 = テーマのデフォルト)" +"(-1 = テーマの既定値)" #: Settings.ui:7099 msgid "" @@ -922,7 +922,7 @@ msgid "" "(-1 = theme default)" msgstr "" "LeftBox のパディング\n" -"(-1 = テーマのデフォルト)" +"(-1 = テーマの既定値)" #: Settings.ui:7170 msgid "Animate switching applications" @@ -1208,7 +1208,7 @@ msgstr "アプリケーション表示のオプション" #: prefs.js:1164 prefs.js:1450 prefs.js:1545 prefs.js:1610 prefs.js:1653 #: prefs.js:1750 prefs.js:1784 prefs.js:1826 msgid "Reset to defaults" -msgstr "デフォルトに戻す" +msgstr "初期設定に戻す" #: prefs.js:426 msgid "Show Desktop options" From b5f4e81b3d510fcc2491dae736e38d59005b663f Mon Sep 17 00:00:00 2001 From: Aikatsui <63988538+Aikatsui@users.noreply.github.com> Date: Thu, 7 Jan 2021 17:56:28 +0700 Subject: [PATCH 12/13] Update to new arc menu --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 411f788..2663680 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ How do I customize the panel? [See the Wiki](https://github.com/home-sweet-gnome How do I embed my bottom left notification drawer into the panel like a system tray? [Top Icons Plus](https://extensions.gnome.org/extension/2311/topicons-plus) or [(K)StatusNotifierItem/AppIndicator Support](https://extensions.gnome.org/extension/615/appindicator-support) -How do I add a traditional start menu? [Arc Menu](https://extensions.gnome.org/extension/1228/arc-menu/) +How do I add a traditional start menu? [Arc Menu](https://extensions.gnome.org/extension/3628/arcmenu/) How do I disable the hot corner? [No Topleft Hot Corner](https://extensions.gnome.org/extension/118/no-topleft-hot-corner) From e4a71fa014b565171c93d15f436be9c3599b11fb Mon Sep 17 00:00:00 2001 From: Charles Gagnon Date: Fri, 15 Jan 2021 18:34:57 -0500 Subject: [PATCH 13/13] Allow peek opacity change in the overview --- windowPreview.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/windowPreview.js b/windowPreview.js index ab35af9..b6e6923 100644 --- a/windowPreview.js +++ b/windowPreview.js @@ -637,10 +637,6 @@ var PreviewMenu = Utils.defineClass({ }, _focusMetaWindow: function(dimOpacity, window, immediate, ignoreFocus) { - if (Main.overview.visibleTarget) { - return; - } - window.get_workspace().list_windows().forEach(mw => { let wa = mw.get_compositor_private(); let isFocused = !ignoreFocus && mw == window;