Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bb69c75c70 | ||
|
|
f46cab04cb | ||
|
|
de47b50149 |
2
Makefile
2
Makefile
@@ -20,7 +20,7 @@ INSTALLNAME = zorin-taskbar@zorinos.com
|
|||||||
# in the metadata and in the generated zip-file.
|
# in the metadata and in the generated zip-file.
|
||||||
ifdef VERSION
|
ifdef VERSION
|
||||||
else
|
else
|
||||||
VERSION = 56
|
VERSION = 65
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef TARGET
|
ifdef TARGET
|
||||||
|
|||||||
229
appIcons.js
229
appIcons.js
@@ -22,40 +22,31 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
import Clutter from 'gi://Clutter';
|
||||||
const Gio = imports.gi.Gio;
|
import GLib from 'gi://GLib';
|
||||||
const GLib = imports.gi.GLib;
|
import Gio from 'gi://Gio';
|
||||||
const Gtk = imports.gi.Gtk;
|
import Graphene from 'gi://Graphene';
|
||||||
const GObject = imports.gi.GObject;
|
import GObject from 'gi://GObject';
|
||||||
const Signals = imports.signals;
|
import Mtk from 'gi://Mtk';
|
||||||
const Meta = imports.gi.Meta;
|
import Shell from 'gi://Shell';
|
||||||
const Shell = imports.gi.Shell;
|
import St from 'gi://St';
|
||||||
const St = imports.gi.St;
|
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
|
|
||||||
const Config = imports.misc.config;
|
import * as AppDisplay from 'resource:///org/gnome/shell/ui/appDisplay.js';
|
||||||
const AppDisplay = imports.ui.appDisplay;
|
import * as AppMenu from 'resource:///org/gnome/shell/ui/appMenu.js';
|
||||||
const AppMenu = imports.ui.appMenu;
|
import * as Dash from 'resource:///org/gnome/shell/ui/dash.js';
|
||||||
if (Config.PACKAGE_VERSION < '42') {
|
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
|
||||||
const AppMenu = imports.ui.appDisplay;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
}
|
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||||
const AppFavorites = imports.ui.appFavorites;
|
import * as Util from 'resource:///org/gnome/shell/misc/util.js';
|
||||||
const Dash = imports.ui.dash;
|
import * as BoxPointer from 'resource:///org/gnome/shell/ui/boxpointer.js';
|
||||||
const DND = imports.ui.dnd;
|
import {EventEmitter} from 'resource:///org/gnome/shell/misc/signals.js';
|
||||||
const IconGrid = imports.ui.iconGrid;
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
|
||||||
const Util = imports.misc.util;
|
|
||||||
const Workspace = imports.ui.workspace;
|
|
||||||
const BoxPointer = imports.ui.boxpointer;
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils
|
|
||||||
|
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
import * as Utils from './utils.js';
|
||||||
const Utils = Me.imports.utils;
|
import * as PanelSettings from './panelSettings.js';
|
||||||
const PanelSettings = Me.imports.panelSettings;
|
import * as Taskbar from './taskbar.js';
|
||||||
const Taskbar = Me.imports.taskbar;
|
import * as Progress from './progress.js';
|
||||||
const Progress = Me.imports.progress;
|
import {DTP_EXTENSION, SETTINGS, DESKTOPSETTINGS, EXTENSION_PATH} from './extension.js';
|
||||||
const _ = imports.gettext.domain(Utils.TRANSLATION_DOMAIN).gettext;
|
import {gettext as _, ngettext} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
|
|
||||||
//timeout names
|
//timeout names
|
||||||
const T2 = 'mouseScrollTimeout';
|
const T2 = 'mouseScrollTimeout';
|
||||||
@@ -73,7 +64,7 @@ const DOUBLE_CLICK_DELAY_MS = 450;
|
|||||||
|
|
||||||
let LABEL_GAP = 5;
|
let LABEL_GAP = 5;
|
||||||
let MAX_INDICATORS = 4;
|
let MAX_INDICATORS = 4;
|
||||||
var DEFAULT_PADDING_SIZE = 4;
|
export const DEFAULT_PADDING_SIZE = 4;
|
||||||
|
|
||||||
let DOT_STYLE = {
|
let DOT_STYLE = {
|
||||||
DOTS: "DOTS",
|
DOTS: "DOTS",
|
||||||
@@ -113,7 +104,7 @@ let tracker = Shell.WindowTracker.get_default();
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var TaskbarAppIcon = GObject.registerClass({
|
export const TaskbarAppIcon = GObject.registerClass({
|
||||||
}, class TaskbarAppIcon extends AppDisplay.AppIcon {
|
}, class TaskbarAppIcon extends AppDisplay.AppIcon {
|
||||||
|
|
||||||
_init(appInfo, panel, iconParams, previewMenu, iconAnimator) {
|
_init(appInfo, panel, iconParams, previewMenu, iconAnimator) {
|
||||||
@@ -152,13 +143,13 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
|
|
||||||
this._dot.set_width(0);
|
this._dot.set_width(0);
|
||||||
this._isGroupApps = Me.settings.get_boolean('group-apps');
|
this._isGroupApps = SETTINGS.get_boolean('group-apps');
|
||||||
|
|
||||||
this._container = new St.Widget({ style_class: 'dtp-container', layout_manager: new Clutter.BinLayout() });
|
this._container = new St.Widget({ style_class: 'dtp-container', layout_manager: new Clutter.BinLayout() });
|
||||||
this._dotsContainer = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
this._dotsContainer = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||||
this._dtpIconContainer = new St.Widget({ layout_manager: new Clutter.BinLayout(), style: getIconContainerStyle(panel.checkIfVertical()) });
|
this._dtpIconContainer = new St.Widget({ layout_manager: new Clutter.BinLayout(), style: getIconContainerStyle(panel.checkIfVertical()) });
|
||||||
|
|
||||||
this.remove_actor(this._iconContainer);
|
this.remove_child(this._iconContainer);
|
||||||
|
|
||||||
this._dtpIconContainer.add_child(this._iconContainer);
|
this._dtpIconContainer.add_child(this._iconContainer);
|
||||||
|
|
||||||
@@ -208,7 +199,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
this._stateChangedId = this.app.connect('windows-changed', this.onWindowsChanged.bind(this));
|
this._stateChangedId = this.app.connect('windows-changed', this.onWindowsChanged.bind(this));
|
||||||
|
|
||||||
if (!this.window) {
|
if (!this.window) {
|
||||||
if (Me.settings.get_boolean('isolate-monitors')) {
|
if (SETTINGS.get_boolean('isolate-monitors')) {
|
||||||
this._windowEnteredMonitorId = Utils.DisplayWrapper.getScreen().connect('window-entered-monitor', this.onWindowEnteredOrLeft.bind(this));
|
this._windowEnteredMonitorId = Utils.DisplayWrapper.getScreen().connect('window-entered-monitor', this.onWindowEnteredOrLeft.bind(this));
|
||||||
this._windowLeftMonitorId = Utils.DisplayWrapper.getScreen().connect('window-left-monitor', this.onWindowEnteredOrLeft.bind(this));
|
this._windowLeftMonitorId = Utils.DisplayWrapper.getScreen().connect('window-left-monitor', this.onWindowEnteredOrLeft.bind(this));
|
||||||
}
|
}
|
||||||
@@ -234,12 +225,12 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
this._hoverChangeId = this.connect('notify::hover', () => this._onAppIconHoverChanged());
|
this._hoverChangeId = this.connect('notify::hover', () => this._onAppIconHoverChanged());
|
||||||
|
|
||||||
this._dtpSettingsSignalIds = [
|
this._dtpSettingsSignalIds = [
|
||||||
Me.settings.connect('changed::panel-positions', this._settingsChangeRefresh.bind(this)),
|
SETTINGS.connect('changed::panel-positions', this._settingsChangeRefresh.bind(this)),
|
||||||
Me.settings.connect('changed::dot-style-focused', this._settingsChangeRefresh.bind(this)),
|
SETTINGS.connect('changed::dot-style-focused', this._settingsChangeRefresh.bind(this)),
|
||||||
Me.settings.connect('changed::dot-style-unfocused', this._settingsChangeRefresh.bind(this)),
|
SETTINGS.connect('changed::dot-style-unfocused', this._settingsChangeRefresh.bind(this)),
|
||||||
Me.settings.connect('changed::panel-positions', this._settingsChangeRefresh.bind(this)),
|
SETTINGS.connect('changed::panel-positions', this._settingsChangeRefresh.bind(this)),
|
||||||
Me.settings.connect('changed::group-apps-label-max-width', this._updateWindowTitleStyle.bind(this)),
|
SETTINGS.connect('changed::group-apps-label-max-width', this._updateWindowTitleStyle.bind(this)),
|
||||||
Me.settings.connect('changed::group-apps-use-fixed-width', this._updateWindowTitleStyle.bind(this)),
|
SETTINGS.connect('changed::group-apps-use-fixed-width', this._updateWindowTitleStyle.bind(this)),
|
||||||
]
|
]
|
||||||
|
|
||||||
this._progressIndicator = new Progress.ProgressIndicator(this, panel.progressManager);
|
this._progressIndicator = new Progress.ProgressIndicator(this, panel.progressManager);
|
||||||
@@ -252,8 +243,8 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
shouldShowTooltip() {
|
shouldShowTooltip() {
|
||||||
if (!Me.settings.get_boolean('show-tooltip') ||
|
if (!SETTINGS.get_boolean('show-tooltip') ||
|
||||||
(!this.isLauncher && Me.settings.get_boolean("show-window-previews") &&
|
(!this.isLauncher && SETTINGS.get_boolean("show-window-previews") &&
|
||||||
this.getAppIconInterestingWindows().length > 0)) {
|
this.getAppIconInterestingWindows().length > 0)) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
@@ -264,7 +255,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onAppIconHoverChanged() {
|
_onAppIconHoverChanged() {
|
||||||
if (!Me.settings.get_boolean('show-window-previews') ||
|
if (!SETTINGS.get_boolean('show-window-previews') ||
|
||||||
(!this.window && !this._nWindows)) {
|
(!this.window && !this._nWindows)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -321,7 +312,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (let i = 0; i < this._dtpSettingsSignalIds.length; ++i) {
|
for (let i = 0; i < this._dtpSettingsSignalIds.length; ++i) {
|
||||||
Me.settings.disconnect(this._dtpSettingsSignalIds[i]);
|
SETTINGS.disconnect(this._dtpSettingsSignalIds[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -354,7 +345,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
if (this.get_stage() == null)
|
if (this.get_stage() == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
let rect = new Meta.Rectangle();
|
let rect = new Mtk.Rectangle();
|
||||||
|
|
||||||
[rect.x, rect.y] = this.get_transformed_position();
|
[rect.x, rect.y] = this.get_transformed_position();
|
||||||
[rect.width, rect.height] = this.get_transformed_size();
|
[rect.width, rect.height] = this.get_transformed_size();
|
||||||
@@ -366,7 +357,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onMouseScroll(actor, event) {
|
_onMouseScroll(actor, event) {
|
||||||
let scrollAction = Me.settings.get_string('scroll-icon-action');
|
let scrollAction = SETTINGS.get_string('scroll-icon-action');
|
||||||
|
|
||||||
if (scrollAction === 'NOTHING' || (!this.window && !this._nWindows)) {
|
if (scrollAction === 'NOTHING' || (!this.window && !this._nWindows)) {
|
||||||
return;
|
return;
|
||||||
@@ -410,12 +401,12 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
if (!this._dashItemContainer.animatingOut)
|
if (!this._dashItemContainer.animatingOut)
|
||||||
// don't draw and trigger more animations if the icon is in the middle of
|
// don't draw and trigger more animations if the icon is in the middle of
|
||||||
// being removed from the panel
|
// being removed from the panel
|
||||||
this._drawRunningIndicator(this._focusedDots, Me.settings.get_string('dot-style-focused'), true);
|
this._drawRunningIndicator(this._focusedDots, SETTINGS.get_string('dot-style-focused'), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
this._unfocusedDots.connect('repaint', () => {
|
this._unfocusedDots.connect('repaint', () => {
|
||||||
if (!this._dashItemContainer.animatingOut)
|
if (!this._dashItemContainer.animatingOut)
|
||||||
this._drawRunningIndicator(this._unfocusedDots, Me.settings.get_string('dot-style-unfocused'), false);
|
this._drawRunningIndicator(this._unfocusedDots, SETTINGS.get_string('dot-style-unfocused'), false);
|
||||||
});
|
});
|
||||||
|
|
||||||
this._dotsContainer.add_child(this._unfocusedDots);
|
this._dotsContainer.add_child(this._unfocusedDots);
|
||||||
@@ -432,11 +423,11 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_resetDots() {
|
_resetDots() {
|
||||||
let position = PanelSettings.getPanelPosition(Me.settings, this.dtpPanel.monitor.index);
|
let position = PanelSettings.getPanelPosition(SETTINGS, this.dtpPanel.monitor.index);
|
||||||
let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
|
let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
|
||||||
let sizeProp = isHorizontalDots ? 'width' : 'height';
|
let sizeProp = isHorizontalDots ? 'width' : 'height';
|
||||||
let focusedDotStyle = Me.settings.get_string('dot-style-focused');
|
let focusedDotStyle = SETTINGS.get_string('dot-style-focused');
|
||||||
let unfocusedDotStyle = Me.settings.get_string('dot-style-unfocused');
|
let unfocusedDotStyle = SETTINGS.get_string('dot-style-unfocused');
|
||||||
|
|
||||||
this._focusedIsWide = this._isWideDotStyle(focusedDotStyle);
|
this._focusedIsWide = this._isWideDotStyle(focusedDotStyle);
|
||||||
this._unfocusedIsWide = this._isWideDotStyle(unfocusedDotStyle);
|
this._unfocusedIsWide = this._isWideDotStyle(unfocusedDotStyle);
|
||||||
@@ -465,9 +456,9 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
_updateWindowTitleStyle() {
|
_updateWindowTitleStyle() {
|
||||||
if (this._windowTitle) {
|
if (this._windowTitle) {
|
||||||
let useFixedWidth = Me.settings.get_boolean('group-apps-use-fixed-width');
|
let useFixedWidth = SETTINGS.get_boolean('group-apps-use-fixed-width');
|
||||||
let scaleFactor = Utils.getScaleFactor();
|
let scaleFactor = Utils.getScaleFactor();
|
||||||
let maxLabelWidth = Me.settings.get_int('group-apps-label-max-width') * scaleFactor;
|
let maxLabelWidth = SETTINGS.get_int('group-apps-label-max-width') * scaleFactor;
|
||||||
let variableWidth = !useFixedWidth || this.dtpPanel.checkIfVertical() || this.dtpPanel.taskbar.fullScrollView;
|
let variableWidth = !useFixedWidth || this.dtpPanel.checkIfVertical() || this.dtpPanel.taskbar.fullScrollView;
|
||||||
|
|
||||||
this._windowTitle[(maxLabelWidth > 0 ? 'show' : 'hide')]();
|
this._windowTitle[(maxLabelWidth > 0 ? 'show' : 'hide')]();
|
||||||
@@ -504,8 +495,8 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
_checkIfMonitorHasFocus() {
|
_checkIfMonitorHasFocus() {
|
||||||
return global.display.focus_window &&
|
return global.display.focus_window &&
|
||||||
(!Me.settings.get_boolean('multi-monitors') || // only check same monitor index if multi window is enabled.
|
(!SETTINGS.get_boolean('multi-monitors') || // only check same monitor index if multi window is enabled.
|
||||||
!Me.settings.get_boolean('isolate-monitors') ||
|
!SETTINGS.get_boolean('isolate-monitors') ||
|
||||||
global.display.focus_window.get_monitor() === this.dtpPanel.monitor.index);
|
global.display.focus_window.get_monitor() === this.dtpPanel.monitor.index);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -540,7 +531,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
// We want to keep the item hovered while the menu is up
|
// We want to keep the item hovered while the menu is up
|
||||||
this._menu.blockSourceEvents = true;
|
this._menu.blockSourceEvents = true;
|
||||||
|
|
||||||
Main.uiGroup.add_actor(this._menu.actor);
|
Main.uiGroup.add_child(this._menu.actor);
|
||||||
this._menuManager.addMenu(this._menu);
|
this._menuManager.addMenu(this._menu);
|
||||||
}
|
}
|
||||||
this._menu.updateQuitText();
|
this._menu.updateQuitText();
|
||||||
@@ -561,7 +552,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
_onOverviewWindowDragEnd(windowTracker) {
|
_onOverviewWindowDragEnd(windowTracker) {
|
||||||
this._timeoutsHandler.add([T4, 0, () => {
|
this._timeoutsHandler.add([T4, 0, () => {
|
||||||
if (Me.settings.get_boolean('isolate-workspaces'))
|
if (SETTINGS.get_boolean('isolate-workspaces'))
|
||||||
this._updateWindows()
|
this._updateWindows()
|
||||||
|
|
||||||
this._displayProperIndicator()
|
this._displayProperIndicator()
|
||||||
@@ -578,7 +569,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
_displayProperIndicator() {
|
_displayProperIndicator() {
|
||||||
let isFocused = this._isFocusedWindow();
|
let isFocused = this._isFocusedWindow();
|
||||||
let position = PanelSettings.getPanelPosition(Me.settings, this.dtpPanel.monitor.index);
|
let position = PanelSettings.getPanelPosition(SETTINGS, this.dtpPanel.monitor.index);
|
||||||
let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
|
let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
|
||||||
|
|
||||||
this._setIconStyle(isFocused);
|
this._setIconStyle(isFocused);
|
||||||
@@ -713,20 +704,23 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
if (button && button == 2 ) {
|
if (button && button == 2 ) {
|
||||||
if (modifiers & Clutter.ModifierType.SHIFT_MASK)
|
if (modifiers & Clutter.ModifierType.SHIFT_MASK)
|
||||||
buttonAction = Me.settings.get_string('shift-middle-click-action');
|
buttonAction = SETTINGS.get_string('shift-middle-click-action');
|
||||||
else
|
else
|
||||||
buttonAction = Me.settings.get_string('middle-click-action');
|
buttonAction = SETTINGS.get_string('middle-click-action');
|
||||||
}
|
}
|
||||||
else if (button && button == 1) {
|
// fixed issue #1676 by checking for button 0 or 1 to also handle touchscreen
|
||||||
|
// input, probably not the proper fix as i'm not aware button 0 should exist
|
||||||
|
// but from using this fix for months it seems to not create any issues
|
||||||
|
else if (button === 0 || button === 1) {
|
||||||
let now = global.get_current_time()
|
let now = global.get_current_time()
|
||||||
|
|
||||||
doubleClick = now - this.lastClick < DOUBLE_CLICK_DELAY_MS
|
doubleClick = now - this.lastClick < DOUBLE_CLICK_DELAY_MS
|
||||||
this.lastClick = now
|
this.lastClick = now
|
||||||
|
|
||||||
if (modifiers & Clutter.ModifierType.SHIFT_MASK)
|
if (modifiers & Clutter.ModifierType.SHIFT_MASK)
|
||||||
buttonAction = Me.settings.get_string('shift-click-action');
|
buttonAction = SETTINGS.get_string('shift-click-action');
|
||||||
else
|
else
|
||||||
buttonAction = Me.settings.get_string('click-action');
|
buttonAction = SETTINGS.get_string('click-action');
|
||||||
}
|
}
|
||||||
|
|
||||||
let closePreview = () => this._previewMenu.close(true);
|
let closePreview = () => this._previewMenu.close(true);
|
||||||
@@ -918,7 +912,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
_getRunningIndicatorColor(isFocused) {
|
_getRunningIndicatorColor(isFocused) {
|
||||||
let color;
|
let color;
|
||||||
const fallbackColor = new Clutter.Color({ red: 82, green: 148, blue: 226, alpha: 255 });
|
const fallbackColor = new Utils.ColorUtils.Color({ red: 82, green: 148, blue: 226, alpha: 255 });
|
||||||
|
|
||||||
// Re-use the style - background color, and border width and color -
|
// Re-use the style - background color, and border width and color -
|
||||||
// of the default dot
|
// of the default dot
|
||||||
@@ -938,7 +932,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
let position = PanelSettings.getPanelPosition(Me.settings, this.dtpPanel.monitor.index);
|
let position = PanelSettings.getPanelPosition(SETTINGS, this.dtpPanel.monitor.index);
|
||||||
let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
|
let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
|
||||||
let bodyColor = this._getRunningIndicatorColor(isFocused);
|
let bodyColor = this._getRunningIndicatorColor(isFocused);
|
||||||
let [areaWidth, areaHeight] = area.get_surface_size();
|
let [areaWidth, areaHeight] = area.get_surface_size();
|
||||||
@@ -964,29 +958,29 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
if (type == DOT_STYLE.SOLID || type == DOT_STYLE.METRO) {
|
if (type == DOT_STYLE.SOLID || type == DOT_STYLE.METRO) {
|
||||||
if (type == DOT_STYLE.SOLID || n <= 1) {
|
if (type == DOT_STYLE.SOLID || n <= 1) {
|
||||||
cr.translate(startX, startY);
|
cr.translate(startX, startY);
|
||||||
Clutter.cairo_set_source_color(cr, bodyColor);
|
cr.setSourceColor(bodyColor);
|
||||||
cr.newSubPath();
|
cr.newSubPath();
|
||||||
cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [areaSize, size] : [size, areaSize]));
|
cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [areaSize, size] : [size, areaSize]));
|
||||||
cr.fill();
|
cr.fill();
|
||||||
} else {
|
} else {
|
||||||
let blackenedLength = (1 / 48) * areaSize; // need to scale with the SVG for the stacked highlight
|
let blackenedLength = (1 / 48) * areaSize; // need to scale with the SVG for the stacked highlight
|
||||||
let darkenedLength = isFocused ? (2 / 48) * areaSize : (10 / 48) * areaSize;
|
let darkenedLength = isFocused ? (2 / 48) * areaSize : (10 / 48) * areaSize;
|
||||||
let blackenedColor = bodyColor.shade(.3);
|
let blackenedColor = new Utils.ColorUtils.Color({ red: bodyColor.red * .3, green: bodyColor.green * .3, blue: bodyColor.blue * .3, alpha: bodyColor.alpha });
|
||||||
let darkenedColor = bodyColor.shade(.7);
|
let darkenedColor = new Utils.ColorUtils.Color({ red: bodyColor.red * .7, green: bodyColor.green * .7, blue: bodyColor.blue * .7, alpha: bodyColor.alpha });
|
||||||
let solidDarkLength = areaSize - darkenedLength;
|
let solidDarkLength = areaSize - darkenedLength;
|
||||||
let solidLength = solidDarkLength - blackenedLength;
|
let solidLength = solidDarkLength - blackenedLength;
|
||||||
|
|
||||||
cr.translate(startX, startY);
|
cr.translate(startX, startY);
|
||||||
|
|
||||||
Clutter.cairo_set_source_color(cr, bodyColor);
|
cr.setSourceColor(bodyColor);
|
||||||
cr.newSubPath();
|
cr.newSubPath();
|
||||||
cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [solidLength, size] : [size, solidLength]));
|
cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [solidLength, size] : [size, solidLength]));
|
||||||
cr.fill();
|
cr.fill();
|
||||||
Clutter.cairo_set_source_color(cr, blackenedColor);
|
cr.setSourceColor(blackenedColor);
|
||||||
cr.newSubPath();
|
cr.newSubPath();
|
||||||
cr.rectangle.apply(cr, isHorizontalDots ? [solidLength, 0, 1, size] : [0, solidLength, size, 1]);
|
cr.rectangle.apply(cr, isHorizontalDots ? [solidLength, 0, 1, size] : [0, solidLength, size, 1]);
|
||||||
cr.fill();
|
cr.fill();
|
||||||
Clutter.cairo_set_source_color(cr, darkenedColor);
|
cr.setSourceColor(darkenedColor);
|
||||||
cr.newSubPath();
|
cr.newSubPath();
|
||||||
cr.rectangle.apply(cr, isHorizontalDots ? [solidDarkLength, 0, darkenedLength, size] : [0, solidDarkLength, size, darkenedLength]);
|
cr.rectangle.apply(cr, isHorizontalDots ? [solidDarkLength, 0, darkenedLength, size] : [0, solidDarkLength, size, darkenedLength]);
|
||||||
cr.fill();
|
cr.fill();
|
||||||
@@ -1062,7 +1056,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
|
|
||||||
translate();
|
translate();
|
||||||
|
|
||||||
Clutter.cairo_set_source_color(cr, bodyColor);
|
cr.setSourceColor(bodyColor);
|
||||||
preDraw();
|
preDraw();
|
||||||
for (let i = 0; i < n; i++) {
|
for (let i = 0; i < n; i++) {
|
||||||
cr.newSubPath();
|
cr.newSubPath();
|
||||||
@@ -1141,7 +1135,7 @@ var TaskbarAppIcon = GObject.registerClass({
|
|||||||
});
|
});
|
||||||
TaskbarAppIcon.prototype.scaleAndFade = TaskbarAppIcon.prototype.undoScaleAndFade = () => {};
|
TaskbarAppIcon.prototype.scaleAndFade = TaskbarAppIcon.prototype.undoScaleAndFade = () => {};
|
||||||
|
|
||||||
function minimizeWindow(app, param, monitor){
|
export function minimizeWindow(app, param, monitor){
|
||||||
// Param true make all app windows minimize
|
// Param true make all app windows minimize
|
||||||
let windows = getInterestingWindows(app, monitor);
|
let windows = getInterestingWindows(app, monitor);
|
||||||
let current_workspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
|
let current_workspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
|
||||||
@@ -1161,7 +1155,7 @@ function minimizeWindow(app, param, monitor){
|
|||||||
* By default only non minimized windows are activated.
|
* By default only non minimized windows are activated.
|
||||||
* This activates all windows in the current workspace.
|
* This activates all windows in the current workspace.
|
||||||
*/
|
*/
|
||||||
function activateAllWindows(app, monitor){
|
export function activateAllWindows(app, monitor){
|
||||||
|
|
||||||
// First activate first window so workspace is switched if needed,
|
// First activate first window so workspace is switched if needed,
|
||||||
// then activate all other app windows in the current workspace.
|
// then activate all other app windows in the current workspace.
|
||||||
@@ -1180,13 +1174,13 @@ function activateAllWindows(app, monitor){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function activateFirstWindow(app, monitor){
|
export function activateFirstWindow(app, monitor){
|
||||||
|
|
||||||
let windows = getInterestingWindows(app, monitor);
|
let windows = getInterestingWindows(app, monitor);
|
||||||
Main.activateWindow(windows[0]);
|
Main.activateWindow(windows[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function cycleThroughWindows(app, reversed, shouldMinimize, monitor) {
|
export function cycleThroughWindows(app, reversed, shouldMinimize, monitor) {
|
||||||
// Store for a little amount of time last clicked app and its windows
|
// Store for a little amount of time last clicked app and its windows
|
||||||
// since the order changes upon window interaction
|
// since the order changes upon window interaction
|
||||||
let MEMORY_TIME=3000;
|
let MEMORY_TIME=3000;
|
||||||
@@ -1197,9 +1191,10 @@ function cycleThroughWindows(app, reversed, shouldMinimize, monitor) {
|
|||||||
app_windows.push("MINIMIZE");
|
app_windows.push("MINIMIZE");
|
||||||
|
|
||||||
if (recentlyClickedAppLoopId > 0)
|
if (recentlyClickedAppLoopId > 0)
|
||||||
Mainloop.source_remove(recentlyClickedAppLoopId);
|
GLib.Source.remove(recentlyClickedAppLoopId);
|
||||||
|
|
||||||
recentlyClickedAppLoopId = Mainloop.timeout_add(MEMORY_TIME, resetRecentlyClickedApp);
|
recentlyClickedAppLoopId = GLib.timeout_add(GLib.PRIORITY_DEFAULT,
|
||||||
|
MEMORY_TIME, resetRecentlyClickedApp);
|
||||||
|
|
||||||
// If there isn't already a list of windows for the current app,
|
// If there isn't already a list of windows for the current app,
|
||||||
// or the stored list is outdated, use the current windows list.
|
// or the stored list is outdated, use the current windows list.
|
||||||
@@ -1227,9 +1222,9 @@ function cycleThroughWindows(app, reversed, shouldMinimize, monitor) {
|
|||||||
Main.activateWindow(recentlyClickedAppWindows[index]);
|
Main.activateWindow(recentlyClickedAppWindows[index]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetRecentlyClickedApp() {
|
export function resetRecentlyClickedApp() {
|
||||||
if (recentlyClickedAppLoopId > 0)
|
if (recentlyClickedAppLoopId > 0)
|
||||||
Mainloop.source_remove(recentlyClickedAppLoopId);
|
GLib.Source.remove(recentlyClickedAppLoopId);
|
||||||
|
|
||||||
recentlyClickedAppLoopId=0;
|
recentlyClickedAppLoopId=0;
|
||||||
recentlyClickedApp =null;
|
recentlyClickedApp =null;
|
||||||
@@ -1240,7 +1235,7 @@ function resetRecentlyClickedApp() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeAllWindows(app, monitor) {
|
export function closeAllWindows(app, monitor) {
|
||||||
let windows = getInterestingWindows(app, monitor);
|
let windows = getInterestingWindows(app, monitor);
|
||||||
for (let i = 0; i < windows.length; i++)
|
for (let i = 0; i < windows.length; i++)
|
||||||
windows[i].delete(global.get_current_time());
|
windows[i].delete(global.get_current_time());
|
||||||
@@ -1248,7 +1243,7 @@ function closeAllWindows(app, monitor) {
|
|||||||
|
|
||||||
// Filter out unnecessary windows, for instance
|
// Filter out unnecessary windows, for instance
|
||||||
// nautilus desktop window.
|
// nautilus desktop window.
|
||||||
function getInterestingWindows(app, monitor, isolateMonitors) {
|
export function getInterestingWindows(app, monitor, isolateMonitors) {
|
||||||
let windows = (
|
let windows = (
|
||||||
app ?
|
app ?
|
||||||
app.get_windows() :
|
app.get_windows() :
|
||||||
@@ -1257,13 +1252,13 @@ function getInterestingWindows(app, monitor, isolateMonitors) {
|
|||||||
|
|
||||||
// When using workspace or monitor isolation, we filter out windows
|
// When using workspace or monitor isolation, we filter out windows
|
||||||
// that are not in the current workspace or on the same monitor as the appicon
|
// that are not in the current workspace or on the same monitor as the appicon
|
||||||
if (Me.settings.get_boolean('isolate-workspaces'))
|
if (SETTINGS.get_boolean('isolate-workspaces'))
|
||||||
windows = windows.filter(function(w) {
|
windows = windows.filter(function(w) {
|
||||||
return w.get_workspace() &&
|
return w.get_workspace() &&
|
||||||
w.get_workspace() == Utils.getCurrentWorkspace();
|
w.get_workspace() == Utils.getCurrentWorkspace();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (monitor && Me.settings.get_boolean('multi-monitors') && (isolateMonitors || Me.settings.get_boolean('isolate-monitors'))) {
|
if (monitor && SETTINGS.get_boolean('multi-monitors') && (isolateMonitors || SETTINGS.get_boolean('isolate-monitors'))) {
|
||||||
windows = windows.filter(function(w) {
|
windows = windows.filter(function(w) {
|
||||||
return w.get_monitor() == monitor.index;
|
return w.get_monitor() == monitor.index;
|
||||||
});
|
});
|
||||||
@@ -1272,17 +1267,17 @@ function getInterestingWindows(app, monitor, isolateMonitors) {
|
|||||||
return windows;
|
return windows;
|
||||||
}
|
}
|
||||||
|
|
||||||
function cssHexTocssRgba(cssHex, opacity) {
|
export function cssHexTocssRgba(cssHex, opacity) {
|
||||||
var bigint = parseInt(cssHex.slice(1), 16);
|
let bigint = parseInt(cssHex.slice(1), 16);
|
||||||
var r = (bigint >> 16) & 255;
|
let r = (bigint >> 16) & 255;
|
||||||
var g = (bigint >> 8) & 255;
|
let g = (bigint >> 8) & 255;
|
||||||
var b = bigint & 255;
|
let b = bigint & 255;
|
||||||
|
|
||||||
return 'rgba(' + [r, g, b].join(',') + ',' + opacity + ')';
|
return 'rgba(' + [r, g, b].join(',') + ',' + opacity + ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
function getIconPadding(monitorIndex) {
|
export function getIconPadding(monitorIndex) {
|
||||||
let panelSize = PanelSettings.getPanelSize(Me.settings, monitorIndex);
|
let panelSize = PanelSettings.getPanelSize(SETTINGS, monitorIndex);
|
||||||
let padding = Taskbar.APPICON_PADDING;
|
let padding = Taskbar.APPICON_PADDING;
|
||||||
let availSize = panelSize - Taskbar.MIN_ICON_SIZE - panelSize % 2;
|
let availSize = panelSize - Taskbar.MIN_ICON_SIZE - panelSize % 2;
|
||||||
|
|
||||||
@@ -1302,7 +1297,7 @@ function getIconPadding(monitorIndex) {
|
|||||||
* (https://github.com/deuill/shell-extension-quitfromdash)
|
* (https://github.com/deuill/shell-extension-quitfromdash)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class TaskbarSecondaryMenu extends AppMenu.AppMenu {
|
export class TaskbarSecondaryMenu extends AppMenu.AppMenu {
|
||||||
|
|
||||||
constructor(source, side) {
|
constructor(source, side) {
|
||||||
super(source, side);
|
super(source, side);
|
||||||
@@ -1324,7 +1319,7 @@ function getIconPadding(monitorIndex) {
|
|||||||
if (count == 1)
|
if (count == 1)
|
||||||
quitFromTaskbarMenuText = _("Quit");
|
quitFromTaskbarMenuText = _("Quit");
|
||||||
else
|
else
|
||||||
quitFromTaskbarMenuText = _("Quit") + ' ' + count + ' ' + _("Windows");
|
quitFromTaskbarMenuText = ngettext('Quit %d Window', 'Quit %d Windows', count).format(count);
|
||||||
|
|
||||||
this._quitItem.label.set_text(quitFromTaskbarMenuText);
|
this._quitItem.label.set_text(quitFromTaskbarMenuText);
|
||||||
}
|
}
|
||||||
@@ -1339,16 +1334,19 @@ function getIconPadding(monitorIndex) {
|
|||||||
|
|
||||||
if (windows.length == this._app.get_windows().length)
|
if (windows.length == this._app.get_windows().length)
|
||||||
this._app.request_quit()
|
this._app.request_quit()
|
||||||
|
|
||||||
|
GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
|
||||||
|
windows.forEach((w) => !!w.get_compositor_private() && w.delete(time++));
|
||||||
|
|
||||||
Mainloop.idle_add(() =>
|
return GLib.SOURCE_REMOVE;
|
||||||
windows.forEach((w) => !!w.get_compositor_private() && w.delete(time++)))
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is used for extendDashItemContainer
|
* This function is used for extendDashItemContainer
|
||||||
*/
|
*/
|
||||||
function ItemShowLabel() {
|
export function ItemShowLabel() {
|
||||||
if (!this._labelText)
|
if (!this._labelText)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -1411,7 +1409,7 @@ function ItemShowLabel() {
|
|||||||
time: duration,
|
time: duration,
|
||||||
transition: 'easeOutQuad',
|
transition: 'easeOutQuad',
|
||||||
});
|
});
|
||||||
};
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A wrapper class around the ShowAppsIcon class.
|
* A wrapper class around the ShowAppsIcon class.
|
||||||
@@ -1425,9 +1423,11 @@ function ItemShowLabel() {
|
|||||||
* use of this class in place of the original showAppsButton.
|
* use of this class in place of the original showAppsButton.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
var ShowAppsIconWrapper = class {
|
export const ShowAppsIconWrapper = class extends EventEmitter {
|
||||||
|
|
||||||
constructor(dtpPanel) {
|
constructor(dtpPanel) {
|
||||||
|
super();
|
||||||
|
|
||||||
this.realShowAppsIcon = new Dash.ShowAppsIcon();
|
this.realShowAppsIcon = new Dash.ShowAppsIcon();
|
||||||
|
|
||||||
/* the variable equivalent to toggleButton has a different name in the appIcon class
|
/* the variable equivalent to toggleButton has a different name in the appIcon class
|
||||||
@@ -1520,7 +1520,7 @@ function ItemShowLabel() {
|
|||||||
// We want to keep the item hovered while the menu is up
|
// We want to keep the item hovered while the menu is up
|
||||||
this._menu.blockSourceEvents = true;
|
this._menu.blockSourceEvents = true;
|
||||||
|
|
||||||
Main.uiGroup.add_actor(this._menu.actor);
|
Main.uiGroup.add_child(this._menu.actor);
|
||||||
this._menuManager.addMenu(this._menu);
|
this._menuManager.addMenu(this._menu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1541,7 +1541,7 @@ function ItemShowLabel() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
shouldShowTooltip() {
|
shouldShowTooltip() {
|
||||||
return Me.settings.get_boolean('show-tooltip') &&
|
return SETTINGS.get_boolean('show-tooltip') &&
|
||||||
(this.actor.hover && (!this._menu || !this._menu.isOpen));
|
(this.actor.hover && (!this._menu || !this._menu.isOpen));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1549,12 +1549,11 @@ function ItemShowLabel() {
|
|||||||
this.realShowAppsIcon.destroy();
|
this.realShowAppsIcon.destroy();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Signals.addSignalMethods(ShowAppsIconWrapper.prototype);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A menu for the showAppsIcon
|
* A menu for the showAppsIcon
|
||||||
*/
|
*/
|
||||||
var MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
|
export const MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
|
||||||
|
|
||||||
constructor(actor, dtpPanel) {
|
constructor(actor, dtpPanel) {
|
||||||
super(actor, 0, dtpPanel.getPosition());
|
super(actor, 0, dtpPanel.getPosition());
|
||||||
@@ -1590,19 +1589,19 @@ var MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this._appendList(
|
this._appendList(
|
||||||
Me.settings.get_strv('panel-context-menu-commands'),
|
SETTINGS.get_strv('panel-context-menu-commands'),
|
||||||
Me.settings.get_strv('panel-context-menu-titles')
|
SETTINGS.get_strv('panel-context-menu-titles')
|
||||||
)
|
)
|
||||||
|
|
||||||
this._appendSeparator();
|
this._appendSeparator();
|
||||||
|
|
||||||
let lockTaskbarMenuItem = this._appendMenuItem(Me.settings.get_boolean('taskbar-locked') ? _('Unlock taskbar') : _('Lock taskbar'));
|
let lockTaskbarMenuItem = this._appendMenuItem(SETTINGS.get_boolean('taskbar-locked') ? _('Unlock taskbar') : _('Lock taskbar'));
|
||||||
lockTaskbarMenuItem.connect('activate', () => {
|
lockTaskbarMenuItem.connect('activate', () => {
|
||||||
Me.settings.set_boolean('taskbar-locked', !Me.settings.get_boolean('taskbar-locked'));
|
SETTINGS.set_boolean('taskbar-locked', !SETTINGS.get_boolean('taskbar-locked'));
|
||||||
});
|
});
|
||||||
|
|
||||||
let settingsMenuItem = this._appendMenuItem(_('Taskbar Settings'));
|
let settingsMenuItem = this._appendMenuItem(_('Taskbar Settings'));
|
||||||
settingsMenuItem.connect('activate', () => ExtensionUtils.openPrefs())
|
settingsMenuItem.connect('activate', () => DTP_EXTENSION.openPreferences())
|
||||||
|
|
||||||
if(this.sourceActor == Main.layoutManager.dummyCursor) {
|
if(this.sourceActor == Main.layoutManager.dummyCursor) {
|
||||||
this._appendSeparator();
|
this._appendSeparator();
|
||||||
@@ -1614,7 +1613,7 @@ var MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
|
|||||||
|
|
||||||
// Only add menu entries for commands that exist in path
|
// Only add menu entries for commands that exist in path
|
||||||
_appendItem(info) {
|
_appendItem(info) {
|
||||||
if (Utils.checkIfCommandExists(info.cmd[0])) {
|
if (GLib.find_program_in_path(info.cmd[0])) {
|
||||||
let item = this._appendMenuItem(_(info.title));
|
let item = this._appendMenuItem(_(info.title));
|
||||||
|
|
||||||
item.connect('activate', function() {
|
item.connect('activate', function() {
|
||||||
@@ -1632,8 +1631,8 @@ var MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var entry = 0; entry < commandList.length; entry++) {
|
for (let entry = 0; entry < commandList.length; entry++) {
|
||||||
_appendItem({
|
this._appendItem({
|
||||||
title: titleList[entry],
|
title: titleList[entry],
|
||||||
cmd: commandList[entry].split(' ')
|
cmd: commandList[entry].split(' ')
|
||||||
});
|
});
|
||||||
@@ -1654,10 +1653,10 @@ var MyShowAppsIconMenu = class extends PopupMenu.PopupMenu {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
var getIconContainerStyle = function(isVertical) {
|
export const getIconContainerStyle = function(isVertical) {
|
||||||
let style = 'padding: ';
|
let style = 'padding: ';
|
||||||
|
|
||||||
if (Me.settings.get_boolean('group-apps')) {
|
if (SETTINGS.get_boolean('group-apps')) {
|
||||||
style += (isVertical ? '0;' : '0 ' + DEFAULT_PADDING_SIZE + 'px;');
|
style += (isVertical ? '0;' : '0 ' + DEFAULT_PADDING_SIZE + 'px;');
|
||||||
} else {
|
} else {
|
||||||
style += (isVertical ? '' : '0 ') + DEFAULT_PADDING_SIZE + 'px;';
|
style += (isVertical ? '' : '0 ') + DEFAULT_PADDING_SIZE + 'px;';
|
||||||
|
|||||||
25
debian/changelog
vendored
25
debian/changelog
vendored
@@ -1,3 +1,28 @@
|
|||||||
|
gnome-shell-extension-zorin-taskbar (65.2) noble; urgency=medium
|
||||||
|
|
||||||
|
* Separated floating rounded theme from intellihide as an independent
|
||||||
|
styling option
|
||||||
|
|
||||||
|
-- Artyom Zorin <azorin@zoringroup.com> Thu, 27 Feb 2025 13:57:03 +0000
|
||||||
|
|
||||||
|
gnome-shell-extension-zorin-taskbar (65.1) noble; urgency=medium
|
||||||
|
|
||||||
|
* Fixed various bugs
|
||||||
|
|
||||||
|
-- Artyom Zorin <azorin@zoringroup.com> Wed, 26 Feb 2025 12:20:34 +0000
|
||||||
|
|
||||||
|
gnome-shell-extension-zorin-taskbar (65) noble; urgency=medium
|
||||||
|
|
||||||
|
* Re-based on upstream version 65
|
||||||
|
|
||||||
|
-- Artyom Zorin <azorin@zoringroup.com> Tue, 25 Feb 2025 22:29:43 +0000
|
||||||
|
|
||||||
|
gnome-shell-extension-zorin-taskbar (56.11) jammy; urgency=medium
|
||||||
|
|
||||||
|
* Updated French translations
|
||||||
|
|
||||||
|
-- Artyom Zorin <azorin@zoringroup.com> Sun, 20 Oct 2024 17:58:19 +0100
|
||||||
|
|
||||||
gnome-shell-extension-zorin-taskbar (56.10) jammy; urgency=medium
|
gnome-shell-extension-zorin-taskbar (56.10) jammy; urgency=medium
|
||||||
|
|
||||||
* Bug fix for window previews
|
* Bug fix for window previews
|
||||||
|
|||||||
4
debian/control
vendored
4
debian/control
vendored
@@ -8,6 +8,6 @@ Rules-Requires-Root: no
|
|||||||
|
|
||||||
Package: gnome-shell-extension-zorin-taskbar
|
Package: gnome-shell-extension-zorin-taskbar
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${misc:Depends}, gnome-shell (>= 42), gnome-shell (<< 45~)
|
Depends: ${misc:Depends}, gnome-shell (>= 46), gnome-shell (<< 48~)
|
||||||
Description: Zorin Taskbar extension
|
Description: Zorin Taskbar extension
|
||||||
A taskbar extension for the Zorin Desktop environment.
|
A taskbar extension for the Zorin OS desktop.
|
||||||
|
|||||||
4
debian/copyright
vendored
4
debian/copyright
vendored
@@ -2,8 +2,8 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
|||||||
Upstream-Name: gnome-shell-extension-zorin-taskbar
|
Upstream-Name: gnome-shell-extension-zorin-taskbar
|
||||||
|
|
||||||
Files: *
|
Files: *
|
||||||
Copyright: 2016-2021, Jason DeRose (https://github.com/jderose9)
|
Copyright: 2016-2025, Jason DeRose (https://github.com/jderose9)
|
||||||
2016-2023, Zorin OS Technologies Ltd.
|
2016-2025, Zorin OS Technologies Ltd.
|
||||||
License: GPL-2+
|
License: GPL-2+
|
||||||
|
|
||||||
Files: po/cs.po
|
Files: po/cs.po
|
||||||
|
|||||||
@@ -55,16 +55,22 @@
|
|||||||
*
|
*
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
const GLib = imports.gi.GLib;
|
import GLib from 'gi://GLib';
|
||||||
const Main = imports.ui.main;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
|
import * as ExtensionUtils from 'resource:///org/gnome/shell/misc/extensionUtils.js';
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
import {Extension} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
|
||||||
|
|
||||||
const IDENTIFIER_UUID = "130cbc66-235c-4bd6-8571-98d2d8bba5e2";
|
const IDENTIFIER_UUID = "130cbc66-235c-4bd6-8571-98d2d8bba5e2";
|
||||||
|
|
||||||
var DesktopIconsUsableAreaClass = class {
|
export class DesktopIconsUsableAreaClass {
|
||||||
|
_checkIfExtensionIsEnabled(extension) {
|
||||||
|
return (extension?.state === ExtensionUtils.ExtensionState.ENABLED) ||
|
||||||
|
(extension?.state === ExtensionUtils.ExtensionState.ACTIVE);
|
||||||
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
const Me = Extension.lookupByURL(import.meta.url);
|
||||||
|
this._UUID = Me.uuid;
|
||||||
this._extensionManager = Main.extensionManager;
|
this._extensionManager = Main.extensionManager;
|
||||||
this._timedMarginsID = 0;
|
this._timedMarginsID = 0;
|
||||||
this._margins = {};
|
this._margins = {};
|
||||||
@@ -73,7 +79,7 @@ var DesktopIconsUsableAreaClass = class {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// If an extension is being enabled and lacks the DesktopIconsUsableArea object, we can avoid launching a refresh
|
// If an extension is being enabled and lacks the DesktopIconsUsableArea object, we can avoid launching a refresh
|
||||||
if (extension.state === ExtensionUtils.ExtensionState.ENABLED) {
|
if (this._checkIfExtensionIsEnabled(extension)) {
|
||||||
this._sendMarginsToExtension(extension);
|
this._sendMarginsToExtension(extension);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -149,11 +155,11 @@ var DesktopIconsUsableAreaClass = class {
|
|||||||
_sendMarginsToExtension(extension) {
|
_sendMarginsToExtension(extension) {
|
||||||
// check that the extension is an extension that has the logic to accept
|
// check that the extension is an extension that has the logic to accept
|
||||||
// working margins
|
// working margins
|
||||||
if (extension?.state !== ExtensionUtils.ExtensionState.ENABLED)
|
if (!this._checkIfExtensionIsEnabled(extension))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const usableArea = extension?.stateObj?.DesktopIconsUsableArea;
|
const usableArea = extension?.stateObj?.DesktopIconsUsableArea;
|
||||||
if (usableArea?.uuid === IDENTIFIER_UUID)
|
if (usableArea?.uuid === IDENTIFIER_UUID)
|
||||||
usableArea.setMarginsForExtension(Me.uuid, this._margins);
|
usableArea.setMarginsForExtension(this._UUID, this._margins);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
192
extension.js
192
extension.js
@@ -17,130 +17,116 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
import Gio from 'gi://Gio';
|
||||||
const Meta = imports.gi.Meta;
|
|
||||||
const Gio = imports.gi.Gio;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const GLib = imports.gi.GLib;
|
import {EventEmitter} from 'resource:///org/gnome/shell/misc/signals.js';
|
||||||
const Shell = imports.gi.Shell;
|
import {Extension, gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
const St = imports.gi.St;
|
|
||||||
const WindowManager = imports.ui.windowManager;
|
import * as PanelManager from './panelManager.js';
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
import * as AppIcons from './appIcons.js';
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
const Signals = imports.signals;
|
|
||||||
|
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
|
||||||
const { PanelManager } = Me.imports.panelManager;
|
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
const AppIcons = Me.imports.appIcons;
|
|
||||||
|
|
||||||
const ZORIN_DASH_UUID = 'zorin-dash@zorinos.com';
|
const ZORIN_DASH_UUID = 'zorin-dash@zorinos.com';
|
||||||
|
|
||||||
let panelManager;
|
let panelManager;
|
||||||
let extensionChangedHandler;
|
let extensionChangedHandler;
|
||||||
|
let startupCompleteHandler;
|
||||||
let disabledZorinDash;
|
let disabledZorinDash;
|
||||||
let extensionSystem = (Main.extensionManager || imports.ui.extensionSystem);
|
let extensionSystem = Main.extensionManager;
|
||||||
|
|
||||||
function init() {
|
export let DTP_EXTENSION = null;
|
||||||
this._realHasOverview = Main.sessionMode.hasOverview;
|
export let SETTINGS = null;
|
||||||
|
export let DESKTOPSETTINGS = null;
|
||||||
|
export let TERMINALSETTINGS = null;
|
||||||
|
export let PERSISTENTSTORAGE = null;
|
||||||
|
export let EXTENSION_UUID = null;
|
||||||
|
export let EXTENSION_PATH = null;
|
||||||
|
|
||||||
ExtensionUtils.initTranslations(Utils.TRANSLATION_DOMAIN);
|
export default class ZorinTaskbarExtension extends Extension {
|
||||||
|
constructor(metadata) {
|
||||||
//create an object that persists until gnome-shell is restarted, even if the extension is disabled
|
super(metadata);
|
||||||
Me.persistentStorage = {};
|
|
||||||
}
|
|
||||||
|
|
||||||
function enable() {
|
this._realHasOverview = Main.sessionMode.hasOverview;
|
||||||
// The Zorin Dash extension might get enabled after this extension
|
|
||||||
extensionChangedHandler = extensionSystem.connect('extension-state-changed', (data, extension) => {
|
//create an object that persists until gnome-shell is restarted, even if the extension is disabled
|
||||||
if (extension.uuid === ZORIN_DASH_UUID && extension.state === 1) {
|
PERSISTENTSTORAGE = {};
|
||||||
_enable();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//create a global object that can emit signals and conveniently expose functionalities to other extensions
|
|
||||||
global.zorinTaskbar = {};
|
|
||||||
Signals.addSignalMethods(global.zorinTaskbar);
|
|
||||||
|
|
||||||
_enable();
|
|
||||||
}
|
|
||||||
|
|
||||||
function _enable() {
|
|
||||||
let zorinDash = Main.extensionManager ?
|
|
||||||
Main.extensionManager.lookup(ZORIN_DASH_UUID) : //gnome-shell >= 3.33.4
|
|
||||||
ExtensionUtils.extensions[ZORIN_DASH_UUID];
|
|
||||||
|
|
||||||
if (zorinDash && zorinDash.stateObj && zorinDash.stateObj.dockManager) {
|
|
||||||
// Disable Zorin Dash
|
|
||||||
let extensionOrder = (extensionSystem.extensionOrder || extensionSystem._extensionOrder);
|
|
||||||
|
|
||||||
Utils.getStageTheme().get_theme().unload_stylesheet(zorinDash.stylesheet);
|
|
||||||
zorinDash.stateObj.disable();
|
|
||||||
disabledZorinDash = true;
|
|
||||||
zorinDash.state = 2; //ExtensionState.DISABLED
|
|
||||||
extensionOrder.splice(extensionOrder.indexOf(ZORIN_DASH_UUID), 1);
|
|
||||||
|
|
||||||
//reset to prevent conflicts with the Zorin Dash
|
|
||||||
if (panelManager) {
|
|
||||||
disable(true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (panelManager) return; //already initialized
|
enable() {
|
||||||
|
DTP_EXTENSION = this;
|
||||||
|
|
||||||
Me.settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.zorin-taskbar');
|
// The Zorin Dash extension might get enabled after this extension
|
||||||
Me.desktopSettings = ExtensionUtils.getSettings('org.gnome.desktop.interface');
|
extensionChangedHandler = extensionSystem.connect('extension-state-changed', (data, extension) => {
|
||||||
|
if (extension.uuid === ZORIN_DASH_UUID && extension.state === 1) {
|
||||||
|
_enable(this);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//create a global object that can emit signals and conveniently expose functionalities to other extensions
|
||||||
|
global.zorinTaskbar = new EventEmitter();
|
||||||
|
|
||||||
|
_enable(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
disable(reset = false) {
|
||||||
|
panelManager.disable();
|
||||||
|
|
||||||
|
DTP_EXTENSION = null;
|
||||||
|
SETTINGS = null;
|
||||||
|
DESKTOPSETTINGS = null;
|
||||||
|
TERMINALSETTINGS = null;
|
||||||
|
panelManager = null;
|
||||||
|
|
||||||
|
if (!reset) {
|
||||||
|
extensionSystem.disconnect(extensionChangedHandler);
|
||||||
|
|
||||||
|
if (disabledZorinDash) {
|
||||||
|
disabledZorinDash = false;
|
||||||
|
extensionSystem.enableExtension(ZORIN_DASH_UUID);
|
||||||
|
}
|
||||||
|
|
||||||
|
delete global.zorinTaskbar;
|
||||||
|
|
||||||
|
AppIcons.resetRecentlyClickedApp();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (startupCompleteHandler) {
|
||||||
|
Main.layoutManager.disconnect(startupCompleteHandler);
|
||||||
|
startupCompleteHandler = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
Main.sessionMode.hasOverview = this._realHasOverview;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _enable(extension) {
|
||||||
|
let enabled = global.settings.get_strv('enabled-extensions');
|
||||||
|
|
||||||
|
if (enabled?.indexOf(ZORIN_DASH_UUID) >= 0) {
|
||||||
|
disabledZorinDash = true;
|
||||||
|
extensionSystem.disableExtension(ZORIN_DASH_UUID);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (panelManager)
|
||||||
|
return panelManager.toggleDash(); // already initialized but Zorin Dash restored the original dash on disable
|
||||||
|
|
||||||
|
SETTINGS = extension.getSettings('org.gnome.shell.extensions.zorin-taskbar');
|
||||||
|
DESKTOPSETTINGS = new Gio.Settings({schema_id: 'org.gnome.desktop.interface'});
|
||||||
|
TERMINALSETTINGS = new Gio.Settings({schema_id: 'org.gnome.desktop.default-applications.terminal'})
|
||||||
|
EXTENSION_UUID = extension.uuid
|
||||||
|
EXTENSION_PATH = extension.path
|
||||||
|
|
||||||
Main.layoutManager.startInOverview = false;
|
Main.layoutManager.startInOverview = false;
|
||||||
|
|
||||||
if (Main.layoutManager._startingUp) {
|
if (Main.layoutManager._startingUp) {
|
||||||
Main.sessionMode.hasOverview = false;
|
Main.sessionMode.hasOverview = false;
|
||||||
Main.layoutManager.connect('startup-complete', () => {
|
startupCompleteHandler = Main.layoutManager.connect('startup-complete', () => {
|
||||||
Main.sessionMode.hasOverview = this._realHasOverview
|
Main.sessionMode.hasOverview = extension._realHasOverview
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
panelManager = new PanelManager();
|
panelManager = new PanelManager.PanelManager();
|
||||||
|
|
||||||
panelManager.enable();
|
panelManager.enable();
|
||||||
|
|
||||||
Utils.removeKeybinding('open-application-menu');
|
|
||||||
Utils.addKeybinding(
|
|
||||||
'open-application-menu',
|
|
||||||
new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA }),
|
|
||||||
() => {
|
|
||||||
panelManager.primaryPanel.taskbar.popupFocusedAppSecondaryMenu();
|
|
||||||
},
|
|
||||||
Shell.ActionMode.NORMAL | Shell.ActionMode.POPUP
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function disable(reset) {
|
|
||||||
panelManager.disable();
|
|
||||||
Me.settings.run_dispose();
|
|
||||||
Me.desktopSettings.run_dispose();
|
|
||||||
|
|
||||||
delete Me.settings;
|
|
||||||
panelManager = null;
|
|
||||||
|
|
||||||
Utils.removeKeybinding('open-application-menu');
|
|
||||||
Utils.addKeybinding(
|
|
||||||
'open-application-menu',
|
|
||||||
new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA }),
|
|
||||||
Main.wm._toggleAppMenu.bind(Main.wm),
|
|
||||||
Shell.ActionMode.NORMAL | Shell.ActionMode.POPUP
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!reset) {
|
|
||||||
extensionSystem.disconnect(extensionChangedHandler);
|
|
||||||
delete global.zorinTaskbar;
|
|
||||||
|
|
||||||
// Re-enable Zorin Dash if it was disabled by dash to panel
|
|
||||||
if (disabledZorinDash && Main.sessionMode.allowExtensions) {
|
|
||||||
(extensionSystem._callExtensionEnable || extensionSystem.enableExtension).call(extensionSystem, ZORIN_DASH_UUID);
|
|
||||||
}
|
|
||||||
|
|
||||||
AppIcons.resetRecentlyClickedApp();
|
|
||||||
}
|
|
||||||
|
|
||||||
Main.sessionMode.hasOverview = this._realHasOverview;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,21 +18,20 @@
|
|||||||
* This file is based on code from the Dash to Panel extension
|
* This file is based on code from the Dash to Panel extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
import Clutter from 'gi://Clutter';
|
||||||
const Meta = imports.gi.Meta;
|
import Meta from 'gi://Meta';
|
||||||
const Shell = imports.gi.Shell;
|
import Shell from 'gi://Shell';
|
||||||
const St = imports.gi.St;
|
import St from 'gi://St';
|
||||||
|
|
||||||
var GrabHelper = imports.ui.grabHelper;
|
import * as GrabHelper from 'resource:///org/gnome/shell/ui/grabHelper.js';
|
||||||
const Layout = imports.ui.layout;
|
import * as Layout from 'resource:///org/gnome/shell/ui/layout.js';
|
||||||
const Main = imports.ui.main;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const OverviewControls = imports.ui.overviewControls;
|
import * as OverviewControls from 'resource:///org/gnome/shell/ui/overviewControls.js';
|
||||||
const PointerWatcher = imports.ui.pointerWatcher;
|
import * as PointerWatcher from 'resource:///org/gnome/shell/ui/pointerWatcher.js';
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Proximity from './proximity.js';
|
||||||
const Panel = Me.imports.panel;
|
import * as Utils from './utils.js';
|
||||||
const Proximity = Me.imports.proximity;
|
import {SETTINGS} from './extension.js';
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
|
|
||||||
var INTELLIHIDE_PRESSURE_THRESHOLD = 100;
|
var INTELLIHIDE_PRESSURE_THRESHOLD = 100;
|
||||||
var INTELLIHIDE_PRESSURE_TIME = 1000;
|
var INTELLIHIDE_PRESSURE_TIME = 1000;
|
||||||
@@ -50,17 +49,16 @@ const MIN_UPDATE_MS = 250;
|
|||||||
const T1 = 'checkGrabTimeout';
|
const T1 = 'checkGrabTimeout';
|
||||||
const T2 = 'limitUpdateTimeout';
|
const T2 = 'limitUpdateTimeout';
|
||||||
const T3 = 'postAnimateTimeout';
|
const T3 = 'postAnimateTimeout';
|
||||||
const T4 = 'panelBoxClipTimeout';
|
|
||||||
|
|
||||||
var SIDE_CONTROLS_ANIMATION_TIME = OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / (OverviewControls.SIDE_CONTROLS_ANIMATION_TIME > 1 ? 1000 : 1);
|
const SIDE_CONTROLS_ANIMATION_TIME = OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / (OverviewControls.SIDE_CONTROLS_ANIMATION_TIME > 1 ? 1000 : 1);
|
||||||
|
|
||||||
var Hold = {
|
export const Hold = {
|
||||||
NONE: 0,
|
NONE: 0,
|
||||||
TEMPORARY: 1,
|
TEMPORARY: 1,
|
||||||
PERMANENT: 2
|
PERMANENT: 2
|
||||||
};
|
};
|
||||||
|
|
||||||
var Intellihide = class {
|
export const Intellihide = class {
|
||||||
|
|
||||||
constructor(dtpPanel) {
|
constructor(dtpPanel) {
|
||||||
this._dtpPanel = dtpPanel;
|
this._dtpPanel = dtpPanel;
|
||||||
@@ -72,8 +70,8 @@ var Intellihide = class {
|
|||||||
this._signalsHandler = new Utils.GlobalSignalsHandler();
|
this._signalsHandler = new Utils.GlobalSignalsHandler();
|
||||||
this._timeoutsHandler = new Utils.TimeoutsHandler();
|
this._timeoutsHandler = new Utils.TimeoutsHandler();
|
||||||
|
|
||||||
this._intellihideChangedId = Me.settings.connect('changed::intellihide', () => this._changeEnabledStatus());
|
this._intellihideChangedId = SETTINGS.connect('changed::intellihide', () => this._changeEnabledStatus());
|
||||||
this._intellihideOnlySecondaryChangedId = Me.settings.connect('changed::intellihide-only-secondary', () => this._changeEnabledStatus());
|
this._intellihideOnlySecondaryChangedId = SETTINGS.connect('changed::intellihide-only-secondary', () => this._changeEnabledStatus());
|
||||||
|
|
||||||
this.enabled = false;
|
this.enabled = false;
|
||||||
this._changeEnabledStatus();
|
this._changeEnabledStatus();
|
||||||
@@ -94,11 +92,11 @@ var Intellihide = class {
|
|||||||
this._setTrackPanel(true);
|
this._setTrackPanel(true);
|
||||||
this._bindGeneralSignals();
|
this._bindGeneralSignals();
|
||||||
|
|
||||||
if (Me.settings.get_boolean('intellihide-hide-from-windows')) {
|
if (SETTINGS.get_boolean('intellihide-hide-from-windows')) {
|
||||||
this._proximityWatchId = this._proximityManager.createWatch(
|
this._proximityWatchId = this._proximityManager.createWatch(
|
||||||
this._panelBox.get_parent(),
|
this._panelBox.get_parent(),
|
||||||
this._dtpPanel.monitor.index,
|
this._dtpPanel.monitor.index,
|
||||||
Proximity.Mode[Me.settings.get_string('intellihide-behaviour')],
|
Proximity.Mode[SETTINGS.get_string('intellihide-behaviour')],
|
||||||
0, 0,
|
0, 0,
|
||||||
overlap => {
|
overlap => {
|
||||||
this._windowOverlap = overlap;
|
this._windowOverlap = overlap;
|
||||||
@@ -109,7 +107,6 @@ var Intellihide = class {
|
|||||||
|
|
||||||
this._setRevealMechanism();
|
this._setRevealMechanism();
|
||||||
this._queueUpdatePanelPosition();
|
this._queueUpdatePanelPosition();
|
||||||
this._toggleFloatingRoundedTheme();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
disable(reset) {
|
disable(reset) {
|
||||||
@@ -127,17 +124,11 @@ var Intellihide = class {
|
|||||||
this._revealPanel(!reset);
|
this._revealPanel(!reset);
|
||||||
|
|
||||||
this.enabled = false;
|
this.enabled = false;
|
||||||
|
|
||||||
if (this._panelBox.has_style_class_name('floating')) {
|
|
||||||
this._panelBox.remove_style_class_name('floating');
|
|
||||||
|
|
||||||
this._resetPanelGeometry();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
Me.settings.disconnect(this._intellihideChangedId);
|
SETTINGS.disconnect(this._intellihideChangedId);
|
||||||
Me.settings.disconnect(this._intellihideOnlySecondaryChangedId);
|
SETTINGS.disconnect(this._intellihideOnlySecondaryChangedId);
|
||||||
|
|
||||||
if (this.enabled) {
|
if (this.enabled) {
|
||||||
this.disable();
|
this.disable();
|
||||||
@@ -169,27 +160,9 @@ var Intellihide = class {
|
|||||||
this.enable();
|
this.enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
_toggleFloatingRoundedTheme() {
|
|
||||||
if (Me.settings.get_boolean('intellihide-floating-rounded-theme')) {
|
|
||||||
if (!this._panelBox.has_style_class_name('floating'))
|
|
||||||
this._panelBox.add_style_class_name('floating');
|
|
||||||
} else {
|
|
||||||
if (this._panelBox.has_style_class_name('floating'))
|
|
||||||
this._panelBox.remove_style_class_name('floating');
|
|
||||||
}
|
|
||||||
|
|
||||||
this._resetPanelGeometry();
|
|
||||||
}
|
|
||||||
|
|
||||||
_resetPanelGeometry() {
|
|
||||||
this._dtpPanel.geom = this._dtpPanel.getGeometry();
|
|
||||||
this._dtpPanel._setPanelPosition();
|
|
||||||
this._dtpPanel.dynamicTransparency.updateExternalStyle();
|
|
||||||
}
|
|
||||||
|
|
||||||
_changeEnabledStatus() {
|
_changeEnabledStatus() {
|
||||||
let intellihide = Me.settings.get_boolean('intellihide');
|
let intellihide = SETTINGS.get_boolean('intellihide');
|
||||||
let onlySecondary = Me.settings.get_boolean('intellihide-only-secondary');
|
let onlySecondary = SETTINGS.get_boolean('intellihide-only-secondary');
|
||||||
let enabled = intellihide && !(this._dtpPanel.isPrimary && onlySecondary);
|
let enabled = intellihide && !(this._dtpPanel.isPrimary && onlySecondary);
|
||||||
|
|
||||||
if (this.enabled !== enabled) {
|
if (this.enabled !== enabled) {
|
||||||
@@ -208,7 +181,7 @@ var Intellihide = class {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::intellihide-use-pressure',
|
'changed::intellihide-use-pressure',
|
||||||
'changed::intellihide-hide-from-windows',
|
'changed::intellihide-hide-from-windows',
|
||||||
@@ -216,13 +189,6 @@ var Intellihide = class {
|
|||||||
],
|
],
|
||||||
() => this.reset()
|
() => this.reset()
|
||||||
],
|
],
|
||||||
[
|
|
||||||
Me.settings,
|
|
||||||
[
|
|
||||||
'changed::intellihide-floating-rounded-theme'
|
|
||||||
],
|
|
||||||
() => this._toggleFloatingRoundedTheme()
|
|
||||||
],
|
|
||||||
[
|
[
|
||||||
this._panelBox,
|
this._panelBox,
|
||||||
'notify::hover',
|
'notify::hover',
|
||||||
@@ -273,7 +239,7 @@ var Intellihide = class {
|
|||||||
_setRevealMechanism() {
|
_setRevealMechanism() {
|
||||||
let barriers = Meta.BackendCapabilities.BARRIERS
|
let barriers = Meta.BackendCapabilities.BARRIERS
|
||||||
|
|
||||||
if ((global.backend.capabilities & barriers) === barriers && Me.settings.get_boolean('intellihide-use-pressure')) {
|
if ((global.backend.capabilities & barriers) === barriers && SETTINGS.get_boolean('intellihide-use-pressure')) {
|
||||||
this._edgeBarrier = this._createBarrier();
|
this._edgeBarrier = this._createBarrier();
|
||||||
this._pressureBarrier = new Layout.PressureBarrier(
|
this._pressureBarrier = new Layout.PressureBarrier(
|
||||||
INTELLIHIDE_PRESSURE_THRESHOLD,
|
INTELLIHIDE_PRESSURE_THRESHOLD,
|
||||||
@@ -373,13 +339,13 @@ var Intellihide = class {
|
|||||||
|
|
||||||
//the user is trying to reveal the panel
|
//the user is trying to reveal the panel
|
||||||
if (this._monitor.inFullscreen && !mouseBtnIsPressed) {
|
if (this._monitor.inFullscreen && !mouseBtnIsPressed) {
|
||||||
return Me.settings.get_boolean('intellihide-show-in-fullscreen');
|
return SETTINGS.get_boolean('intellihide-show-in-fullscreen');
|
||||||
}
|
}
|
||||||
|
|
||||||
return !mouseBtnIsPressed;
|
return !mouseBtnIsPressed;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Me.settings.get_boolean('intellihide-hide-from-windows')) {
|
if (!SETTINGS.get_boolean('intellihide-hide-from-windows')) {
|
||||||
return this._panelBox.hover;
|
return this._panelBox.hover;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"extension-id": "zorin-taskbar",
|
"extension-id": "zorin-taskbar",
|
||||||
"uuid": "zorin-taskbar@zorinos.com",
|
"uuid": "zorin-taskbar@zorinos.com",
|
||||||
"name": "Zorin Taskbar",
|
"name": "Zorin Taskbar",
|
||||||
"description": "A taskbar extension for the Zorin Desktop environment.",
|
"description": "A taskbar extension for the Zorin OS desktop.",
|
||||||
"shell-version": [ "42", "43", "44" ],
|
"shell-version": [ "46", "47" ],
|
||||||
"gettext-domain": "zorin-taskbar",
|
"gettext-domain": "zorin-taskbar",
|
||||||
"version": 56
|
"version": 65
|
||||||
}
|
}
|
||||||
|
|||||||
143
overview.js
143
overview.js
@@ -20,24 +20,18 @@
|
|||||||
* Some code was also adapted from the upstream Gnome Shell source code.
|
* Some code was also adapted from the upstream Gnome Shell source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Intellihide from './intellihide.js';
|
||||||
const Intellihide = Me.imports.intellihide;
|
import * as Utils from './utils.js';
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
import Clutter from 'gi://Clutter';
|
||||||
const Main = imports.ui.main;
|
import Gio from 'gi://Gio';
|
||||||
const Shell = imports.gi.Shell;
|
import Shell from 'gi://Shell';
|
||||||
const Gtk = imports.gi.Gtk;
|
import St from 'gi://St';
|
||||||
const Gdk = imports.gi.Gdk;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const Gio = imports.gi.Gio;
|
import * as WindowManager from 'resource:///org/gnome/shell/ui/windowManager.js';
|
||||||
const Mainloop = imports.mainloop;
|
import {WindowPreview} from 'resource:///org/gnome/shell/ui/windowPreview.js';
|
||||||
const IconGrid = imports.ui.iconGrid;
|
import {InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
const { OverviewActor } = imports.ui.overview;
|
import {SETTINGS} from './extension.js';
|
||||||
const Workspace = imports.ui.workspace;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const WorkspaceThumbnail = imports.ui.workspaceThumbnail;
|
|
||||||
|
|
||||||
const Meta = imports.gi.Meta;
|
|
||||||
|
|
||||||
const GS_HOTKEYS_KEY = 'switch-to-application-';
|
const GS_HOTKEYS_KEY = 'switch-to-application-';
|
||||||
const OVERLAY_TIMEOUT = 750;
|
const OVERLAY_TIMEOUT = 750;
|
||||||
@@ -52,9 +46,10 @@ const LABEL_MARGIN = 60;
|
|||||||
const T1 = 'swipeEndTimeout';
|
const T1 = 'swipeEndTimeout';
|
||||||
const T2 = 'numberOverlayTimeout';
|
const T2 = 'numberOverlayTimeout';
|
||||||
|
|
||||||
var Overview = class {
|
export const Overview = class {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
this._injectionManager = new InjectionManager();
|
||||||
this._numHotkeys = 10;
|
this._numHotkeys = 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -70,15 +65,15 @@ var Overview = class {
|
|||||||
this._optionalHotKeys();
|
this._optionalHotKeys();
|
||||||
this._optionalNumberOverlay();
|
this._optionalNumberOverlay();
|
||||||
|
|
||||||
this._toggleDash();
|
this.toggleDash();
|
||||||
this._adaptAlloc(true);
|
this._adaptAlloc();
|
||||||
|
|
||||||
this._signalsHandler.add([
|
this._signalsHandler.add([
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::panel-sizes'
|
'changed::panel-sizes'
|
||||||
],
|
],
|
||||||
() => this._toggleDash()
|
() => this.toggleDash()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,16 +81,16 @@ var Overview = class {
|
|||||||
this._signalsHandler.destroy();
|
this._signalsHandler.destroy();
|
||||||
this._injectionsHandler.destroy();
|
this._injectionsHandler.destroy();
|
||||||
this._timeoutsHandler.destroy();
|
this._timeoutsHandler.destroy();
|
||||||
|
this._injectionManager.clear();
|
||||||
|
|
||||||
this._toggleDash(true);
|
this.toggleDash(true);
|
||||||
this._adaptAlloc();
|
|
||||||
|
|
||||||
// Remove key bindings
|
// Remove key bindings
|
||||||
this._disableHotKeys();
|
this._disableHotKeys();
|
||||||
this._disableExtraShortcut();
|
this._disableExtraShortcut();
|
||||||
}
|
}
|
||||||
|
|
||||||
_toggleDash(visible) {
|
toggleDash(visible) {
|
||||||
if (visible === undefined) {
|
if (visible === undefined) {
|
||||||
visible = false;
|
visible = false;
|
||||||
}
|
}
|
||||||
@@ -108,41 +103,39 @@ var Overview = class {
|
|||||||
overviewControls.dash.set_height(height);
|
overviewControls.dash.set_height(height);
|
||||||
}
|
}
|
||||||
|
|
||||||
_adaptAlloc(enable) {
|
_adaptAlloc() {
|
||||||
let overviewControls = Main.overview._overview._controls
|
let overviewControls = Main.overview._overview._controls
|
||||||
let proto = Object.getPrototypeOf(overviewControls)
|
|
||||||
let allocFunc = null
|
|
||||||
|
|
||||||
if (enable)
|
this._injectionManager.overrideMethod(Object.getPrototypeOf(overviewControls), 'vfunc_allocate',
|
||||||
allocFunc = (box) => {
|
(originalAllocate) =>
|
||||||
let focusedPanel = this._panel.panelManager.focusedMonitorPanel
|
(box) => {
|
||||||
|
let focusedPanel = this._panel.panelManager.focusedMonitorPanel
|
||||||
if (focusedPanel) {
|
|
||||||
let position = focusedPanel.geom.position
|
if (focusedPanel) {
|
||||||
let isBottom = position == St.Side.BOTTOM
|
let position = focusedPanel.geom.position
|
||||||
|
let isBottom = position == St.Side.BOTTOM
|
||||||
|
|
||||||
if (focusedPanel.intellihide?.enabled) {
|
if (focusedPanel.intellihide?.enabled) {
|
||||||
// Panel intellihide is enabled (struts aren't taken into account on overview allocation),
|
// Panel intellihide is enabled (struts aren't taken into account on overview allocation),
|
||||||
// dynamically modify the overview box to follow the reveal/hide animation
|
// dynamically modify the overview box to follow the reveal/hide animation
|
||||||
let { transitioning, finalState, progress } = overviewControls._stateAdjustment.getStateTransitionParams()
|
let { transitioning, finalState, progress } = overviewControls._stateAdjustment.getStateTransitionParams()
|
||||||
let size = focusedPanel.geom[focusedPanel.checkIfVertical() ? 'w' : 'h'] *
|
let size = focusedPanel.geom[focusedPanel.checkIfVertical() ? 'w' : 'h'] *
|
||||||
(transitioning ? Math.abs((finalState != 0 ? 0 : 1) - progress) : 1)
|
(transitioning ? Math.abs((finalState != 0 ? 0 : 1) - progress) : 1)
|
||||||
|
|
||||||
if (isBottom || position == St.Side.RIGHT)
|
if (isBottom || position == St.Side.RIGHT)
|
||||||
box[focusedPanel.fixedCoord.c2] -= size
|
box[focusedPanel.fixedCoord.c2] -= size
|
||||||
else
|
else
|
||||||
box[focusedPanel.fixedCoord.c1] += size
|
box[focusedPanel.fixedCoord.c1] += size
|
||||||
} else if (isBottom)
|
} else if (isBottom)
|
||||||
// The default overview allocation is very good and takes into account external
|
// The default overview allocation is very good and takes into account external
|
||||||
// struts, everywhere but the bottom where the dash is usually fixed anyway.
|
// struts, everywhere but the bottom where the dash is usually fixed anyway.
|
||||||
// If there is a bottom panel under the dash location, give it some space here
|
// If there is a bottom panel under the dash location, give it some space here
|
||||||
box.y2 -= focusedPanel.geom.h
|
box.y2 -= focusedPanel.geom.h
|
||||||
|
}
|
||||||
|
|
||||||
|
originalAllocate.call(overviewControls, box)
|
||||||
}
|
}
|
||||||
|
);
|
||||||
proto.vfunc_allocate.call(overviewControls, box)
|
|
||||||
}
|
|
||||||
|
|
||||||
Utils.hookVfunc(proto, 'allocate', allocFunc)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -188,19 +181,19 @@ var Overview = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this._signalsHandler.add([
|
this._signalsHandler.add([
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::isolate-workspaces',
|
'changed::isolate-workspaces',
|
||||||
() => {
|
() => {
|
||||||
this._panel.panelManager.allPanels.forEach(p => p.taskbar.resetAppIcons());
|
this._panel.panelManager.allPanels.forEach(p => p.taskbar.resetAppIcons());
|
||||||
|
|
||||||
if (Me.settings.get_boolean('isolate-workspaces'))
|
if (SETTINGS.get_boolean('isolate-workspaces'))
|
||||||
enable();
|
enable();
|
||||||
else
|
else
|
||||||
disable();
|
disable();
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (Me.settings.get_boolean('isolate-workspaces'))
|
if (SETTINGS.get_boolean('isolate-workspaces'))
|
||||||
enable();
|
enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -224,7 +217,7 @@ var Overview = class {
|
|||||||
let seenAppCount = seenApps[appIcon.app];
|
let seenAppCount = seenApps[appIcon.app];
|
||||||
let windowCount = appIcon.window || appIcon._hotkeysCycle ? seenAppCount : appIcon._nWindows;
|
let windowCount = appIcon.window || appIcon._hotkeysCycle ? seenAppCount : appIcon._nWindows;
|
||||||
|
|
||||||
if (Me.settings.get_boolean('shortcut-previews') && windowCount > 1 &&
|
if (SETTINGS.get_boolean('shortcut-previews') && windowCount > 1 &&
|
||||||
!(modifiers & ~(Clutter.ModifierType.MOD1_MASK | Clutter.ModifierType.SUPER_MASK))) { //ignore the alt (MOD1_MASK) and super key (SUPER_MASK)
|
!(modifiers & ~(Clutter.ModifierType.MOD1_MASK | Clutter.ModifierType.SUPER_MASK))) { //ignore the alt (MOD1_MASK) and super key (SUPER_MASK)
|
||||||
if (this._hotkeyPreviewCycleInfo && this._hotkeyPreviewCycleInfo.appIcon != appIcon) {
|
if (this._hotkeyPreviewCycleInfo && this._hotkeyPreviewCycleInfo.appIcon != appIcon) {
|
||||||
this._endHotkeyPreviewCycle();
|
this._endHotkeyPreviewCycle();
|
||||||
@@ -278,14 +271,14 @@ var Overview = class {
|
|||||||
|
|
||||||
_optionalHotKeys() {
|
_optionalHotKeys() {
|
||||||
this._hotKeysEnabled = false;
|
this._hotKeysEnabled = false;
|
||||||
if (Me.settings.get_boolean('hot-keys'))
|
if (SETTINGS.get_boolean('hot-keys'))
|
||||||
this._enableHotKeys();
|
this._enableHotKeys();
|
||||||
|
|
||||||
this._signalsHandler.add([
|
this._signalsHandler.add([
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::hot-keys',
|
'changed::hot-keys',
|
||||||
() => {
|
() => {
|
||||||
if (Me.settings.get_boolean('hot-keys'))
|
if (SETTINGS.get_boolean('hot-keys'))
|
||||||
this._enableHotKeys();
|
this._enableHotKeys();
|
||||||
else
|
else
|
||||||
this._disableHotKeys();
|
this._disableHotKeys();
|
||||||
@@ -310,12 +303,12 @@ var Overview = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Setup keyboard bindings for taskbar elements
|
// Setup keyboard bindings for taskbar elements
|
||||||
let shortcutNumKeys = Me.settings.get_string('shortcut-num-keys');
|
let shortcutNumKeys = SETTINGS.get_string('shortcut-num-keys');
|
||||||
let bothNumKeys = shortcutNumKeys == 'BOTH';
|
let bothNumKeys = shortcutNumKeys == 'BOTH';
|
||||||
let keys = [];
|
let keys = [];
|
||||||
let prefixModifiers = Clutter.ModifierType.SUPER_MASK
|
let prefixModifiers = Clutter.ModifierType.SUPER_MASK
|
||||||
|
|
||||||
if (Me.settings.get_string('hotkey-prefix-text') == 'SuperAlt')
|
if (SETTINGS.get_string('hotkey-prefix-text') == 'SuperAlt')
|
||||||
prefixModifiers |= Clutter.ModifierType.MOD1_MASK
|
prefixModifiers |= Clutter.ModifierType.MOD1_MASK
|
||||||
|
|
||||||
if (bothNumKeys || shortcutNumKeys == 'NUM_ROW') {
|
if (bothNumKeys || shortcutNumKeys == 'NUM_ROW') {
|
||||||
@@ -337,13 +330,13 @@ var Overview = class {
|
|||||||
for (let i = 0; i < this._numHotkeys; i++) {
|
for (let i = 0; i < this._numHotkeys; i++) {
|
||||||
let appNum = i;
|
let appNum = i;
|
||||||
|
|
||||||
Utils.addKeybinding(key + (i + 1), Me.settings, () => this._activateApp(appNum, modifiers));
|
Utils.addKeybinding(key + (i + 1), SETTINGS, () => this._activateApp(appNum, modifiers));
|
||||||
}
|
}
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
this._hotKeysEnabled = true;
|
this._hotKeysEnabled = true;
|
||||||
|
|
||||||
if (Me.settings.get_string('hotkeys-overlay-combo') === 'ALWAYS')
|
if (SETTINGS.get_string('hotkeys-overlay-combo') === 'ALWAYS')
|
||||||
this.taskbar.toggleNumberOverlay(true);
|
this.taskbar.toggleNumberOverlay(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -360,7 +353,7 @@ var Overview = class {
|
|||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
if (Main.wm._switchToApplication) {
|
if (Main.wm._switchToApplication) {
|
||||||
let gsSettings = new Gio.Settings({ schema_id: imports.ui.windowManager.SHELL_KEYBINDINGS_SCHEMA });
|
let gsSettings = new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA });
|
||||||
|
|
||||||
for (let i = 1; i < 10; ++i) {
|
for (let i = 1; i < 10; ++i) {
|
||||||
Utils.addKeybinding(GS_HOTKEYS_KEY + i, gsSettings, Main.wm._switchToApplication.bind(Main.wm));
|
Utils.addKeybinding(GS_HOTKEYS_KEY + i, gsSettings, Main.wm._switchToApplication.bind(Main.wm));
|
||||||
@@ -374,38 +367,38 @@ var Overview = class {
|
|||||||
|
|
||||||
_optionalNumberOverlay() {
|
_optionalNumberOverlay() {
|
||||||
// Enable extra shortcut
|
// Enable extra shortcut
|
||||||
if (Me.settings.get_boolean('hot-keys'))
|
if (SETTINGS.get_boolean('hot-keys'))
|
||||||
this._enableExtraShortcut();
|
this._enableExtraShortcut();
|
||||||
|
|
||||||
this._signalsHandler.add([
|
this._signalsHandler.add([
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::hot-keys',
|
'changed::hot-keys',
|
||||||
this._checkHotkeysOptions.bind(this)
|
this._checkHotkeysOptions.bind(this)
|
||||||
], [
|
], [
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::hotkeys-overlay-combo',
|
'changed::hotkeys-overlay-combo',
|
||||||
() => {
|
() => {
|
||||||
if (Me.settings.get_boolean('hot-keys') && Me.settings.get_string('hotkeys-overlay-combo') === 'ALWAYS')
|
if (SETTINGS.get_boolean('hot-keys') && SETTINGS.get_string('hotkeys-overlay-combo') === 'ALWAYS')
|
||||||
this.taskbar.toggleNumberOverlay(true);
|
this.taskbar.toggleNumberOverlay(true);
|
||||||
else
|
else
|
||||||
this.taskbar.toggleNumberOverlay(false);
|
this.taskbar.toggleNumberOverlay(false);
|
||||||
}
|
}
|
||||||
], [
|
], [
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::shortcut-num-keys',
|
'changed::shortcut-num-keys',
|
||||||
() => this._resetHotkeys()
|
() => this._resetHotkeys()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
_checkHotkeysOptions() {
|
_checkHotkeysOptions() {
|
||||||
if (Me.settings.get_boolean('hot-keys'))
|
if (SETTINGS.get_boolean('hot-keys'))
|
||||||
this._enableExtraShortcut();
|
this._enableExtraShortcut();
|
||||||
else
|
else
|
||||||
this._disableExtraShortcut();
|
this._disableExtraShortcut();
|
||||||
}
|
}
|
||||||
|
|
||||||
_enableExtraShortcut() {
|
_enableExtraShortcut() {
|
||||||
Utils.addKeybinding('shortcut', Me.settings, () => this._showOverlay(true));
|
Utils.addKeybinding('shortcut', SETTINGS, () => this._showOverlay(true));
|
||||||
}
|
}
|
||||||
|
|
||||||
_disableExtraShortcut() {
|
_disableExtraShortcut() {
|
||||||
@@ -419,7 +412,7 @@ var Overview = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Restart the counting if the shortcut is pressed again
|
// Restart the counting if the shortcut is pressed again
|
||||||
let hotkey_option = Me.settings.get_string('hotkeys-overlay-combo');
|
let hotkey_option = SETTINGS.get_string('hotkeys-overlay-combo');
|
||||||
|
|
||||||
if (hotkey_option === 'NEVER')
|
if (hotkey_option === 'NEVER')
|
||||||
return;
|
return;
|
||||||
|
|||||||
278
panel.js
278
panel.js
@@ -27,45 +27,37 @@
|
|||||||
* Some code was also adapted from the upstream Gnome Shell source code.
|
* Some code was also adapted from the upstream Gnome Shell source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import Clutter from 'gi://Clutter';
|
||||||
const Clutter = imports.gi.Clutter;
|
import Gio from 'gi://Gio';
|
||||||
const Config = imports.misc.config;
|
import GObject from 'gi://GObject';
|
||||||
const Gtk = imports.gi.Gtk;
|
import * as AppIcons from './appIcons.js';
|
||||||
const GObject = imports.gi.GObject;
|
import * as Utils from './utils.js';
|
||||||
const Gi = imports._gi;
|
import * as Taskbar from './taskbar.js';
|
||||||
const Gio = imports.gi.Gio;
|
import * as TaskbarItemContainer from './taskbar.js';
|
||||||
const AppIcons = Me.imports.appIcons;
|
import * as Pos from './panelPositions.js';
|
||||||
const Utils = Me.imports.utils;
|
import * as PanelSettings from './panelSettings.js';
|
||||||
const { Taskbar, TaskbarItemContainer } = Me.imports.taskbar;
|
import * as PanelStyle from './panelStyle.js';
|
||||||
const Pos = Me.imports.panelPositions;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const PanelSettings = Me.imports.panelSettings;
|
import * as Dash from 'resource:///org/gnome/shell/ui/dash.js';
|
||||||
const { PanelStyle } = Me.imports.panelStyle;
|
import * as CtrlAltTab from 'resource:///org/gnome/shell/ui/ctrlAltTab.js';
|
||||||
const Main = imports.ui.main;
|
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
|
||||||
const Mainloop = imports.mainloop;
|
import St from 'gi://St';
|
||||||
const Dash = imports.ui.dash;
|
import Meta from 'gi://Meta';
|
||||||
const CtrlAltTab = imports.ui.ctrlAltTab;
|
import Pango from 'gi://Pango';
|
||||||
const GSPanel = imports.ui.panel;
|
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
|
||||||
const PanelMenu = imports.ui.panelMenu;
|
import Shell from 'gi://Shell';
|
||||||
const St = imports.gi.St;
|
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||||
const GLib = imports.gi.GLib;
|
import * as DateMenu from 'resource:///org/gnome/shell/ui/dateMenu.js';
|
||||||
const Meta = imports.gi.Meta;
|
import * as Volume from 'resource:///org/gnome/shell/ui/status/volume.js';
|
||||||
const Pango = imports.gi.Pango;
|
import * as Progress from './progress.js';
|
||||||
const DND = imports.ui.dnd;
|
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
|
||||||
const IconGrid = imports.ui.iconGrid;
|
|
||||||
const DateMenu = imports.ui.dateMenu;
|
|
||||||
const Volume = imports.ui.status.volume;
|
|
||||||
const Progress = Me.imports.progress;
|
|
||||||
|
|
||||||
const Intellihide = Me.imports.intellihide;
|
import * as Intellihide from './intellihide.js';
|
||||||
const Transparency = Me.imports.transparency;
|
import * as Transparency from './transparency.js';
|
||||||
const _ = imports.gettext.domain(Me.imports.utils.TRANSLATION_DOMAIN).gettext;
|
import {SETTINGS, DESKTOPSETTINGS, PERSISTENTSTORAGE, EXTENSION_PATH} from './extension.js';
|
||||||
|
import {gettext as _, InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
|
|
||||||
let tracker = Shell.WindowTracker.get_default();
|
let tracker = Shell.WindowTracker.get_default();
|
||||||
var panelBoxes = ['_leftBox', '_centerBox', '_rightBox'];
|
export const panelBoxes = ['_leftBox', '_centerBox', '_rightBox'];
|
||||||
|
|
||||||
var SHOW_DESKTOP_ICON = Me.path + '/img/show-desktop-symbolic.svg';
|
|
||||||
|
|
||||||
//timeout names
|
//timeout names
|
||||||
const T2 = 'startIntellihideTimeout';
|
const T2 = 'startIntellihideTimeout';
|
||||||
@@ -78,7 +70,7 @@ const SHOW_SHOWDESKTOP_TIME = 200;
|
|||||||
|
|
||||||
const FLOATING_MARGIN = 8;
|
const FLOATING_MARGIN = 8;
|
||||||
|
|
||||||
var Panel = GObject.registerClass({
|
export const Panel = GObject.registerClass({
|
||||||
}, class Panel extends St.Widget {
|
}, class Panel extends St.Widget {
|
||||||
|
|
||||||
_init(panelManager, monitor, panelBox, isStandalone) {
|
_init(panelManager, monitor, panelBox, isStandalone) {
|
||||||
@@ -86,9 +78,10 @@ var Panel = GObject.registerClass({
|
|||||||
|
|
||||||
this._timeoutsHandler = new Utils.TimeoutsHandler();
|
this._timeoutsHandler = new Utils.TimeoutsHandler();
|
||||||
this._signalsHandler = new Utils.GlobalSignalsHandler();
|
this._signalsHandler = new Utils.GlobalSignalsHandler();
|
||||||
|
this._injectionManager = new InjectionManager();
|
||||||
|
|
||||||
this.panelManager = panelManager;
|
this.panelManager = panelManager;
|
||||||
this.panelStyle = new PanelStyle();
|
this.panelStyle = new PanelStyle.PanelStyle();
|
||||||
|
|
||||||
this.monitor = monitor;
|
this.monitor = monitor;
|
||||||
this.panelBox = panelBox;
|
this.panelBox = panelBox;
|
||||||
@@ -97,7 +90,7 @@ var Panel = GObject.registerClass({
|
|||||||
// so in this case use isPrimary to get the panel on the primary dtp monitor, which
|
// so in this case use isPrimary to get the panel on the primary dtp monitor, which
|
||||||
// might be different from the system's primary monitor.
|
// might be different from the system's primary monitor.
|
||||||
this.isStandalone = isStandalone;
|
this.isStandalone = isStandalone;
|
||||||
this.isPrimary = !isStandalone || (Me.settings.get_boolean('stockgs-keep-top-panel') &&
|
this.isPrimary = !isStandalone || (SETTINGS.get_boolean('stockgs-keep-top-panel') &&
|
||||||
monitor == panelManager.dtpPrimaryMonitor);
|
monitor == panelManager.dtpPrimaryMonitor);
|
||||||
|
|
||||||
this._sessionStyle = null;
|
this._sessionStyle = null;
|
||||||
@@ -131,7 +124,7 @@ var Panel = GObject.registerClass({
|
|||||||
|
|
||||||
this._setPanelMenu(systemMenuInfo.name, systemMenuInfo.constructor, this.panel);
|
this._setPanelMenu(systemMenuInfo.name, systemMenuInfo.constructor, this.panel);
|
||||||
this._setPanelMenu('dateMenu', DateMenu.DateMenuButton, this.panel);
|
this._setPanelMenu('dateMenu', DateMenu.DateMenuButton, this.panel);
|
||||||
this._setPanelMenu('activities', GSPanel.ActivitiesButton, this.panel);
|
this._setPanelMenu('activities', Main.panel.statusArea.activities.constructor, this.panel);
|
||||||
|
|
||||||
this.panel.add_child(this._leftBox);
|
this.panel.add_child(this._leftBox);
|
||||||
this.panel.add_child(this._centerBox);
|
this.panel.add_child(this._centerBox);
|
||||||
@@ -146,8 +139,11 @@ var Panel = GObject.registerClass({
|
|||||||
['activities', systemMenuInfo.name, 'dateMenu'].forEach(b => {
|
['activities', systemMenuInfo.name, 'dateMenu'].forEach(b => {
|
||||||
let container = this.statusArea[b].container;
|
let container = this.statusArea[b].container;
|
||||||
let parent = container.get_parent();
|
let parent = container.get_parent();
|
||||||
|
let siblings = parent.get_children();
|
||||||
|
let index = siblings.indexOf(container);
|
||||||
|
|
||||||
container._dtpOriginalParent = parent;
|
container._dtpOriginalParent = parent;
|
||||||
|
container._dtpOriginalIndex = index && index == siblings.length - 1 ? -1: index;
|
||||||
parent ? parent.remove_child(container) : null;
|
parent ? parent.remove_child(container) : null;
|
||||||
this.panel.add_child(container);
|
this.panel.add_child(container);
|
||||||
});
|
});
|
||||||
@@ -184,21 +180,23 @@ var Panel = GObject.registerClass({
|
|||||||
enable () {
|
enable () {
|
||||||
let { name: systemMenuName } = Utils.getSystemMenuInfo();
|
let { name: systemMenuName } = Utils.getSystemMenuInfo();
|
||||||
|
|
||||||
if (this.statusArea[systemMenuName]) {
|
if (this.statusArea[systemMenuName] && this.statusArea[systemMenuName]._volumeOutput) {
|
||||||
Utils.getIndicators(this.statusArea[systemMenuName]._volume)._dtpIgnoreScroll = 1;
|
Utils.getIndicators(this.statusArea[systemMenuName]._volumeOutput)._dtpIgnoreScroll = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this._toggleFloatingRoundedTheme();
|
||||||
|
|
||||||
this.geom = this.getGeometry();
|
this.geom = this.getGeometry();
|
||||||
|
|
||||||
this._setPanelPosition();
|
this._setPanelPosition();
|
||||||
|
|
||||||
if (!this.isStandalone) {
|
if (!this.isStandalone) {
|
||||||
Utils.hookVfunc(Object.getPrototypeOf(this.panel), 'allocate', (box) => this._mainPanelAllocate(box));
|
this._injectionManager.overrideMethod(Object.getPrototypeOf(this.panel), 'vfunc_allocate', () => (box) => this._mainPanelAllocate(box));
|
||||||
|
|
||||||
// remove the extra space before the clock when the message-indicator is displayed
|
// remove the extra space before the clock when the message-indicator is displayed
|
||||||
if (DateMenu.IndicatorPad) {
|
if (DateMenu.IndicatorPad) {
|
||||||
Utils.hookVfunc(DateMenu.IndicatorPad.prototype, 'get_preferred_width', () => [0,0]);
|
this._injectionManager.overrideMethod(DateMenu.IndicatorPad.prototype, 'vfunc_get_preferred_width', () => () => [0,0]);
|
||||||
Utils.hookVfunc(DateMenu.IndicatorPad.prototype, 'get_preferred_height', () => [0,0]);
|
this._injectionManager.overrideMethod(DateMenu.IndicatorPad.prototype, 'vfunc_get_preferred_height', () => () => [0,0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,18 +210,17 @@ var Panel = GObject.registerClass({
|
|||||||
|
|
||||||
this.menuManager._oldChangeMenu = this.menuManager._changeMenu;
|
this.menuManager._oldChangeMenu = this.menuManager._changeMenu;
|
||||||
this.menuManager._changeMenu = (menu) => {
|
this.menuManager._changeMenu = (menu) => {
|
||||||
if (!Me.settings.get_boolean('stockgs-panelbtn-click-only')) {
|
if (!SETTINGS.get_boolean('stockgs-panelbtn-click-only')) {
|
||||||
this.menuManager._oldChangeMenu(menu);
|
this.menuManager._oldChangeMenu(menu);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
this.dynamicTransparency = new Transparency.DynamicTransparency(this);
|
this.dynamicTransparency = new Transparency.DynamicTransparency(this);
|
||||||
|
|
||||||
this.taskbar = new Taskbar(this);
|
this.taskbar = new Taskbar.Taskbar(this);
|
||||||
|
|
||||||
this.panel.add_child(this.taskbar.actor);
|
this.panel.add_child(this.taskbar.actor);
|
||||||
|
|
||||||
this._setAppmenuVisible(false);
|
|
||||||
this._setShowDesktopButton(true);
|
this._setShowDesktopButton(true);
|
||||||
|
|
||||||
this._setAllocationMap();
|
this._setAllocationMap();
|
||||||
@@ -275,12 +272,12 @@ var Panel = GObject.registerClass({
|
|||||||
],
|
],
|
||||||
[
|
[
|
||||||
this._centerBox,
|
this._centerBox,
|
||||||
'actor-added',
|
'child-added',
|
||||||
() => this._onBoxActorAdded(this._centerBox)
|
() => this._onBoxActorAdded(this._centerBox)
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
this._rightBox,
|
this._rightBox,
|
||||||
'actor-added',
|
'child-added',
|
||||||
() => this._onBoxActorAdded(this._rightBox)
|
() => this._onBoxActorAdded(this._rightBox)
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
@@ -331,7 +328,6 @@ var Panel = GObject.registerClass({
|
|||||||
this._signalsHandler.destroy();
|
this._signalsHandler.destroy();
|
||||||
|
|
||||||
this.panel.remove_child(this.taskbar.actor);
|
this.panel.remove_child(this.taskbar.actor);
|
||||||
this._setAppmenuVisible(false);
|
|
||||||
|
|
||||||
if (this.intellihide) {
|
if (this.intellihide) {
|
||||||
this.intellihide.destroy();
|
this.intellihide.destroy();
|
||||||
@@ -369,26 +365,27 @@ var Panel = GObject.registerClass({
|
|||||||
['vertical', 'horizontal', 'zorintaskbarMainPanel'].forEach(c => this.panel.remove_style_class_name(c));
|
['vertical', 'horizontal', 'zorintaskbarMainPanel'].forEach(c => this.panel.remove_style_class_name(c));
|
||||||
|
|
||||||
if (!Main.sessionMode.isLocked) {
|
if (!Main.sessionMode.isLocked) {
|
||||||
[['activities', 0], [systemMenuName, -1], ['dateMenu', 0]].forEach(b => {
|
['activities', systemMenuName, 'dateMenu'].forEach(b => {
|
||||||
let container = this.statusArea[b[0]].container;
|
let container = this.statusArea[b].container;
|
||||||
let originalParent = container._dtpOriginalParent;
|
let originalParent = container._dtpOriginalParent;
|
||||||
|
|
||||||
this.panel.remove_child(container);
|
this.panel.remove_child(container);
|
||||||
originalParent ? originalParent.insert_child_at_index(container, b[1]) : null;
|
|
||||||
|
originalParent && originalParent.insert_child_at_index(
|
||||||
|
container,
|
||||||
|
Math.min(container._dtpOriginalIndex, originalParent.get_children().length - 1)
|
||||||
|
);
|
||||||
|
|
||||||
delete container._dtpOriginalParent;
|
delete container._dtpOriginalParent;
|
||||||
|
delete container._dtpOriginalIndex;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this._setShowDesktopButton(false);
|
this._setShowDesktopButton(false);
|
||||||
|
|
||||||
delete Utils.getIndicators(this.statusArea[systemMenuName]._volume)._dtpIgnoreScroll;
|
delete Utils.getIndicators(this.statusArea[systemMenuName]._volumeOutput)._dtpIgnoreScroll;
|
||||||
|
|
||||||
if (DateMenu.IndicatorPad) {
|
this._injectionManager.clear();
|
||||||
Utils.hookVfunc(DateMenu.IndicatorPad.prototype, 'get_preferred_width', DateMenu.IndicatorPad.prototype.vfunc_get_preferred_width);
|
|
||||||
Utils.hookVfunc(DateMenu.IndicatorPad.prototype, 'get_preferred_height', DateMenu.IndicatorPad.prototype.vfunc_get_preferred_height);
|
|
||||||
}
|
|
||||||
|
|
||||||
Utils.hookVfunc(Object.getPrototypeOf(this.panel), 'allocate', Object.getPrototypeOf(this.panel).vfunc_allocate);
|
|
||||||
|
|
||||||
this.panel._delegate = this.panel;
|
this.panel._delegate = this.panel;
|
||||||
} else {
|
} else {
|
||||||
@@ -400,20 +397,8 @@ var Panel = GObject.registerClass({
|
|||||||
Main.ctrlAltTabManager.removeGroup(this);
|
Main.ctrlAltTabManager.removeGroup(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
handleDragOver(source, actor, x, y, time) {
|
|
||||||
if (source == Main.xdndHandler) {
|
|
||||||
|
|
||||||
// open overview so they can choose a window for focusing
|
|
||||||
// and ultimately dropping dragged item onto
|
|
||||||
if(Main.overview.shouldToggleByCornerOrButton())
|
|
||||||
Main.overview.show();
|
|
||||||
}
|
|
||||||
|
|
||||||
return DND.DragMotionResult.CONTINUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
getPosition() {
|
getPosition() {
|
||||||
let position = PanelSettings.getPanelPosition(Me.settings, this.monitor.index);
|
let position = PanelSettings.getPanelPosition(SETTINGS, this.monitor.index);
|
||||||
|
|
||||||
if (position == Pos.TOP) {
|
if (position == Pos.TOP) {
|
||||||
return St.Side.TOP;
|
return St.Side.TOP;
|
||||||
@@ -500,7 +485,7 @@ var Panel = GObject.registerClass({
|
|||||||
|
|
||||||
this._signalsHandler.add(
|
this._signalsHandler.add(
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::panel-sizes',
|
'changed::panel-sizes',
|
||||||
'changed::group-apps'
|
'changed::group-apps'
|
||||||
@@ -508,7 +493,7 @@ var Panel = GObject.registerClass({
|
|||||||
() => this._resetGeometry()
|
() => this._resetGeometry()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::showdesktop-button-width',
|
'changed::showdesktop-button-width',
|
||||||
'changed::show-showdesktop-icon'
|
'changed::show-showdesktop-icon'
|
||||||
@@ -516,7 +501,14 @@ var Panel = GObject.registerClass({
|
|||||||
() => this._setShowDesktopButtonStyle()
|
() => this._setShowDesktopButtonStyle()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.desktopSettings,
|
SETTINGS,
|
||||||
|
'changed::floating-rounded-theme',
|
||||||
|
() => {
|
||||||
|
this._resetGeometry();
|
||||||
|
}
|
||||||
|
],
|
||||||
|
[
|
||||||
|
DESKTOPSETTINGS,
|
||||||
'changed::clock-format',
|
'changed::clock-format',
|
||||||
() => {
|
() => {
|
||||||
this._clockFormat = null;
|
this._clockFormat = null;
|
||||||
@@ -527,19 +519,19 @@ var Panel = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::progress-show-bar',
|
'changed::progress-show-bar',
|
||||||
() => this._initProgressManager()
|
() => this._initProgressManager()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::progress-show-count',
|
'changed::progress-show-count',
|
||||||
() => this._initProgressManager()
|
() => this._initProgressManager()
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
if (isVertical) {
|
if (isVertical) {
|
||||||
this._signalsHandler.add([Me.settings, 'changed::group-apps-label-max-width', () => this._resetGeometry()]);
|
this._signalsHandler.add([SETTINGS, 'changed::group-apps-label-max-width', () => this._resetGeometry()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -556,7 +548,7 @@ var Panel = GObject.registerClass({
|
|||||||
let parent = this.statusArea[propName].container.get_parent();
|
let parent = this.statusArea[propName].container.get_parent();
|
||||||
|
|
||||||
if (parent) {
|
if (parent) {
|
||||||
parent.remove_actor(this.statusArea[propName].container);
|
parent.remove_child(this.statusArea[propName].container);
|
||||||
}
|
}
|
||||||
|
|
||||||
//calling this.statusArea[propName].destroy(); is buggy for now, gnome-shell never
|
//calling this.statusArea[propName].destroy(); is buggy for now, gnome-shell never
|
||||||
@@ -567,19 +559,19 @@ var Panel = GObject.registerClass({
|
|||||||
let panelMenu = this.statusArea[propName];
|
let panelMenu = this.statusArea[propName];
|
||||||
|
|
||||||
this.menuManager.removeMenu(panelMenu.menu);
|
this.menuManager.removeMenu(panelMenu.menu);
|
||||||
Me.persistentStorage[propName].push(panelMenu);
|
PERSISTENTSTORAGE[propName].push(panelMenu);
|
||||||
this.statusArea[propName] = null;
|
this.statusArea[propName] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_getPanelMenu(propName, constr) {
|
_getPanelMenu(propName, constr) {
|
||||||
Me.persistentStorage[propName] = Me.persistentStorage[propName] || [];
|
PERSISTENTSTORAGE[propName] = PERSISTENTSTORAGE[propName] || [];
|
||||||
|
|
||||||
if (!Me.persistentStorage[propName].length) {
|
if (!PERSISTENTSTORAGE[propName].length) {
|
||||||
Me.persistentStorage[propName].push(new constr());
|
PERSISTENTSTORAGE[propName].push(new constr());
|
||||||
}
|
}
|
||||||
|
|
||||||
return Me.persistentStorage[propName].pop();
|
return PERSISTENTSTORAGE[propName].pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
_adjustForOverview() {
|
_adjustForOverview() {
|
||||||
@@ -595,7 +587,40 @@ var Panel = GObject.registerClass({
|
|||||||
this.panelBox[isShown ? 'show' : 'hide']();
|
this.panelBox[isShown ? 'show' : 'hide']();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_toggleFloatingRoundedTheme() {
|
||||||
|
if (this.panelBox.has_style_class_name('top')) {
|
||||||
|
this.panelBox.remove_style_class_name('top');
|
||||||
|
} else if (this.panelBox.has_style_class_name('left')) {
|
||||||
|
this.panelBox.remove_style_class_name('left');
|
||||||
|
} else if (this.panelBox.has_style_class_name('right')) {
|
||||||
|
this.panelBox.remove_style_class_name('right');
|
||||||
|
} else if (this.panelBox.has_style_class_name('bottom')) {
|
||||||
|
this.panelBox.remove_style_class_name('bottom');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SETTINGS.get_boolean('floating-rounded-theme')) {
|
||||||
|
if (!this.panelBox.has_style_class_name('floating')) {
|
||||||
|
this.panelBox.add_style_class_name('floating');
|
||||||
|
}
|
||||||
|
|
||||||
|
let position = this.getPosition();
|
||||||
|
if (position == St.Side.TOP) {
|
||||||
|
this.panelBox.add_style_class_name('top');
|
||||||
|
} else if (position == St.Side.RIGHT) {
|
||||||
|
this.panelBox.add_style_class_name('right');
|
||||||
|
} else if (position == St.Side.BOTTOM) {
|
||||||
|
this.panelBox.add_style_class_name('bottom');
|
||||||
|
} else {
|
||||||
|
this.panelBox.add_style_class_name('left');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.panelBox.has_style_class_name('floating'))
|
||||||
|
this.panelBox.remove_style_class_name('floating');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
_resetGeometry() {
|
_resetGeometry() {
|
||||||
|
this._toggleFloatingRoundedTheme()
|
||||||
this.geom = this.getGeometry();
|
this.geom = this.getGeometry();
|
||||||
this._setPanelPosition();
|
this._setPanelPosition();
|
||||||
this.taskbar.resetAppIcons(true);
|
this.taskbar.resetAppIcons(true);
|
||||||
@@ -618,24 +643,24 @@ var Panel = GObject.registerClass({
|
|||||||
let topPadding = panelBoxTheme.get_padding(St.Side.TOP);
|
let topPadding = panelBoxTheme.get_padding(St.Side.TOP);
|
||||||
let tbPadding = topPadding + panelBoxTheme.get_padding(St.Side.BOTTOM);
|
let tbPadding = topPadding + panelBoxTheme.get_padding(St.Side.BOTTOM);
|
||||||
let position = this.getPosition();
|
let position = this.getPosition();
|
||||||
let length = PanelSettings.getPanelLength(Me.settings, this.monitor.index) / 100;
|
let length = PanelSettings.getPanelLength(SETTINGS, this.monitor.index) / 100;
|
||||||
let anchor = PanelSettings.getPanelAnchor(Me.settings, this.monitor.index);
|
let anchor = PanelSettings.getPanelAnchor(SETTINGS, this.monitor.index);
|
||||||
let anchorPlaceOnMonitor = 0;
|
let anchorPlaceOnMonitor = 0;
|
||||||
let gsTopPanelOffset = 0;
|
let gsTopPanelOffset = 0;
|
||||||
let x = 0, y = 0;
|
let x = 0, y = 0;
|
||||||
let w = 0, h = 0;
|
let w = 0, h = 0;
|
||||||
|
|
||||||
const panelSize = PanelSettings.getPanelSize(Me.settings, this.monitor.index);
|
const panelSize = PanelSettings.getPanelSize(SETTINGS, this.monitor.index);
|
||||||
this.dtpSize = panelSize * scaleFactor;
|
this.dtpSize = panelSize * scaleFactor;
|
||||||
|
|
||||||
if (Me.settings.get_boolean('stockgs-keep-top-panel') && Main.layoutManager.primaryMonitor == this.monitor) {
|
if (SETTINGS.get_boolean('stockgs-keep-top-panel') && Main.layoutManager.primaryMonitor == this.monitor) {
|
||||||
gsTopPanelOffset = Main.layoutManager.panelBox.height - topPadding;
|
gsTopPanelOffset = Main.layoutManager.panelBox.height - topPadding;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.checkIfVertical()) {
|
if (this.checkIfVertical()) {
|
||||||
if (!Me.settings.get_boolean('group-apps')) {
|
if (!SETTINGS.get_boolean('group-apps')) {
|
||||||
// add window title width and side padding of _dtpIconContainer when vertical
|
// add window title width and side padding of _dtpIconContainer when vertical
|
||||||
this.dtpSize += Me.settings.get_int('group-apps-label-max-width') + AppIcons.DEFAULT_PADDING_SIZE * 2 / scaleFactor;
|
this.dtpSize += SETTINGS.get_int('group-apps-label-max-width') + AppIcons.DEFAULT_PADDING_SIZE * 2 / scaleFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.sizeFunc = 'get_preferred_height',
|
this.sizeFunc = 'get_preferred_height',
|
||||||
@@ -686,8 +711,7 @@ var Panel = GObject.registerClass({
|
|||||||
x = x + anchorPlaceOnMonitor;
|
x = x + anchorPlaceOnMonitor;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Me.settings.get_boolean('intellihide') &&
|
if (SETTINGS.get_boolean('floating-rounded-theme')) {
|
||||||
Me.settings.get_boolean('intellihide-floating-rounded-theme')) {
|
|
||||||
if (position == St.Side.BOTTOM || position == St.Side.TOP) {
|
if (position == St.Side.BOTTOM || position == St.Side.TOP) {
|
||||||
x -= FLOATING_MARGIN;
|
x -= FLOATING_MARGIN;
|
||||||
} else { // LEFT or RIGHT
|
} else { // LEFT or RIGHT
|
||||||
@@ -904,10 +928,14 @@ var Panel = GObject.registerClass({
|
|||||||
this.showAppsIconWrapper.popupMenu(Main.layoutManager.dummyCursor);
|
this.showAppsIconWrapper.popupMenu(Main.layoutManager.dummyCursor);
|
||||||
|
|
||||||
return Clutter.EVENT_STOP;
|
return Clutter.EVENT_STOP;
|
||||||
} else if (Main.modalCount > 0 || event.get_source() != actor ||
|
} else {
|
||||||
(!isPress && type != Clutter.EventType.TOUCH_BEGIN) ||
|
const targetActor = global.stage.get_event_actor(event);
|
||||||
(isPress && button != 1)) {
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
if (Main.modalCount > 0 || targetActor != actor ||
|
||||||
|
(!isPress && type != Clutter.EventType.TOUCH_BEGIN) ||
|
||||||
|
(isPress && button != 1)) {
|
||||||
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let params = this.checkIfVertical() ? [stageY, 'y', 'height'] : [stageX, 'x', 'width'];
|
let params = this.checkIfVertical() ? [stageY, 'y', 'height'] : [stageX, 'x', 'width'];
|
||||||
@@ -959,13 +987,16 @@ var Panel = GObject.registerClass({
|
|||||||
|
|
||||||
_setVertical(actor, isVertical) {
|
_setVertical(actor, isVertical) {
|
||||||
let _set = (actor, isVertical) => {
|
let _set = (actor, isVertical) => {
|
||||||
if (!actor || actor instanceof Dash.DashItemContainer || actor instanceof TaskbarItemContainer) {
|
if (!actor || actor instanceof Dash.DashItemContainer || actor instanceof TaskbarItemContainer.TaskbarItemContainer) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (actor instanceof St.BoxLayout) {
|
if (actor instanceof St.BoxLayout) {
|
||||||
actor.vertical = isVertical;
|
actor.vertical = isVertical;
|
||||||
} else if ((actor._delegate || actor) instanceof PanelMenu.ButtonBox && actor != this.statusArea.appMenu) {
|
} else if (
|
||||||
|
actor != this.statusArea.appMenu &&
|
||||||
|
((actor._delegate || actor) instanceof PanelMenu.ButtonBox || actor == this.statusArea.quickSettings)
|
||||||
|
) {
|
||||||
let child = actor.get_first_child();
|
let child = actor.get_first_child();
|
||||||
|
|
||||||
if (isVertical && !actor.visible && !actor._dtpVisibleId) {
|
if (isVertical && !actor.visible && !actor._dtpVisibleId) {
|
||||||
@@ -1006,22 +1037,6 @@ var Panel = GObject.registerClass({
|
|||||||
this._unmappedButtons.splice(this._unmappedButtons.indexOf(actor), 1);
|
this._unmappedButtons.splice(this._unmappedButtons.indexOf(actor), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
_setAppmenuVisible(isVisible) {
|
|
||||||
let parent;
|
|
||||||
let appMenu = this.statusArea.appMenu;
|
|
||||||
|
|
||||||
if(appMenu)
|
|
||||||
parent = appMenu.container.get_parent();
|
|
||||||
|
|
||||||
if (parent) {
|
|
||||||
parent.remove_child(appMenu.container);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isVisible && appMenu) {
|
|
||||||
this._leftBox.insert_child_above(appMenu.container, null);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_formatVerticalClock() {
|
_formatVerticalClock() {
|
||||||
// https://github.com/GNOME/gnome-desktop/blob/master/libgnome-desktop/gnome-wall-clock.c#L310
|
// https://github.com/GNOME/gnome-desktop/blob/master/libgnome-desktop/gnome-wall-clock.c#L310
|
||||||
if (this.statusArea.dateMenu) {
|
if (this.statusArea.dateMenu) {
|
||||||
@@ -1059,7 +1074,7 @@ var Panel = GObject.registerClass({
|
|||||||
let timeParts = time.split('∶');
|
let timeParts = time.split('∶');
|
||||||
|
|
||||||
if (!this._clockFormat) {
|
if (!this._clockFormat) {
|
||||||
this._clockFormat = Me.desktopSettings.get_string('clock-format');
|
this._clockFormat = DESKTOPSETTINGS.get_string('clock-format');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._clockFormat == '12h') {
|
if (this._clockFormat == '12h') {
|
||||||
@@ -1083,13 +1098,18 @@ var Panel = GObject.registerClass({
|
|||||||
// y_fill: true,
|
// y_fill: true,
|
||||||
track_hover: true });
|
track_hover: true });
|
||||||
|
|
||||||
this._showDesktopButton.icon = new St.Icon({ gicon: Gio.icon_new_for_string(SHOW_DESKTOP_ICON), style_class: 'system-status-icon' });
|
this._showDesktopButton.icon = new St.Icon({ gicon: Gio.icon_new_for_string(`${EXTENSION_PATH}/img/show-desktop-symbolic.svg`), style_class: 'system-status-icon' });
|
||||||
|
|
||||||
this._setShowDesktopButtonStyle();
|
this._setShowDesktopButtonStyle();
|
||||||
|
|
||||||
|
this._showDesktopButton.connect('touch-event', (actor, event) => {
|
||||||
|
if (event.type() == Clutter.EventType.TOUCH_BEGIN) {
|
||||||
|
this._onShowDesktopButtonPress();
|
||||||
|
}
|
||||||
|
});
|
||||||
this._showDesktopButton.connect('button-press-event', () => this._onShowDesktopButtonPress());
|
this._showDesktopButton.connect('button-press-event', () => this._onShowDesktopButtonPress());
|
||||||
this._showDesktopButton.connect('enter-event', () => {
|
this._showDesktopButton.connect('enter-event', () => {
|
||||||
if (Me.settings.get_boolean('show-showdesktop-hover')) {
|
if (SETTINGS.get_boolean('show-showdesktop-hover')) {
|
||||||
this._timeoutsHandler.add([T4, SHOW_SHOWDESKTOP_DELAY, () => {
|
this._timeoutsHandler.add([T4, SHOW_SHOWDESKTOP_DELAY, () => {
|
||||||
this._hiddenDesktopWorkspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
|
this._hiddenDesktopWorkspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
|
||||||
this._toggleWorkspaceWindows(true, this._hiddenDesktopWorkspace);
|
this._toggleWorkspaceWindows(true, this._hiddenDesktopWorkspace);
|
||||||
@@ -1098,7 +1118,7 @@ var Panel = GObject.registerClass({
|
|||||||
});
|
});
|
||||||
|
|
||||||
this._showDesktopButton.connect('leave-event', () => {
|
this._showDesktopButton.connect('leave-event', () => {
|
||||||
if (Me.settings.get_boolean('show-showdesktop-hover')) {
|
if (SETTINGS.get_boolean('show-showdesktop-hover')) {
|
||||||
if (this._timeoutsHandler.getId(T4)) {
|
if (this._timeoutsHandler.getId(T4)) {
|
||||||
this._timeoutsHandler.remove(T4);
|
this._timeoutsHandler.remove(T4);
|
||||||
} else if (this._hiddenDesktopWorkspace) {
|
} else if (this._hiddenDesktopWorkspace) {
|
||||||
@@ -1123,21 +1143,21 @@ var Panel = GObject.registerClass({
|
|||||||
|
|
||||||
for (let i = 0; i < this._showDesktopButton.get_children().length; i++) {
|
for (let i = 0; i < this._showDesktopButton.get_children().length; i++) {
|
||||||
if (this._showDesktopButton.get_children()[i] == this._showDesktopButton.icon) {
|
if (this._showDesktopButton.get_children()[i] == this._showDesktopButton.icon) {
|
||||||
this._showDesktopButton.remove_actor(this._showDesktopButton.icon);
|
this._showDesktopButton.remove_child(this._showDesktopButton.icon);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._showDesktopButton) {
|
if (this._showDesktopButton) {
|
||||||
if (Me.settings.get_boolean('show-showdesktop-icon')) {
|
if (SETTINGS.get_boolean('show-showdesktop-icon')) {
|
||||||
this._showDesktopButton.add_actor(this._showDesktopButton.icon);
|
this._showDesktopButton.add_child(this._showDesktopButton.icon);
|
||||||
|
|
||||||
let buttonSize = Me.settings.get_int('showdesktop-button-width') + 'px';
|
let buttonSize = SETTINGS.get_int('showdesktop-button-width') + 'px';
|
||||||
let isVertical = this.checkIfVertical();
|
let isVertical = this.checkIfVertical();
|
||||||
let buttonPadding = isVertical ? buttonSize + ' 0;' : '0 ' + buttonSize + ';';
|
let buttonPadding = isVertical ? buttonSize + ' 0;' : '0 ' + buttonSize + ';';
|
||||||
|
|
||||||
this._showDesktopButton.set_style('padding: ' + buttonPadding);
|
this._showDesktopButton.set_style('padding: ' + buttonPadding);
|
||||||
} else {
|
} else {
|
||||||
let buttonSize = Me.settings.get_int('showdesktop-button-width') + 'px;';
|
let buttonSize = SETTINGS.get_int('showdesktop-button-width') + 'px;';
|
||||||
let isVertical = this.checkIfVertical();
|
let isVertical = this.checkIfVertical();
|
||||||
|
|
||||||
let style = "border: 0 solid " + rgb + "; padding: 0;";
|
let style = "border: 0 solid " + rgb + "; padding: 0;";
|
||||||
@@ -1213,8 +1233,8 @@ var Panel = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_initProgressManager() {
|
_initProgressManager() {
|
||||||
const progressVisible = Me.settings.get_boolean('progress-show-bar');
|
const progressVisible = SETTINGS.get_boolean('progress-show-bar');
|
||||||
const countVisible = Me.settings.get_boolean('progress-show-count');
|
const countVisible = SETTINGS.get_boolean('progress-show-count');
|
||||||
const pm = this.progressManager;
|
const pm = this.progressManager;
|
||||||
|
|
||||||
if(!pm && (progressVisible || countVisible))
|
if(!pm && (progressVisible || countVisible))
|
||||||
@@ -1224,7 +1244,7 @@ var Panel = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var SecondaryPanel = GObject.registerClass({
|
export const SecondaryPanel = GObject.registerClass({
|
||||||
}, class SecondaryPanel extends St.Widget {
|
}, class SecondaryPanel extends St.Widget {
|
||||||
|
|
||||||
_init(params) {
|
_init(params) {
|
||||||
|
|||||||
107
panelManager.js
107
panelManager.js
@@ -27,39 +27,36 @@
|
|||||||
* Some code was also adapted from the upstream Gnome Shell source code.
|
* Some code was also adapted from the upstream Gnome Shell source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Overview from './overview.js';
|
||||||
const { Overview } = Me.imports.overview;
|
import * as Panel from './panel.js';
|
||||||
const { Panel, panelBoxes } = Me.imports.panel;
|
import * as PanelSettings from './panelSettings.js';
|
||||||
const PanelSettings = Me.imports.panelSettings;
|
import * as Proximity from './proximity.js';
|
||||||
const Proximity = Me.imports.proximity;
|
import * as Utils from './utils.js';
|
||||||
const Taskbar = Me.imports.taskbar;
|
import * as DesktopIconsIntegration from './desktopIconsIntegration.js';
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
const DesktopIconsIntegration = Me.imports.desktopIconsIntegration;
|
|
||||||
|
|
||||||
const Gi = imports._gi;
|
import GLib from 'gi://GLib';
|
||||||
const GLib = imports.gi.GLib;
|
import GObject from 'gi://GObject';
|
||||||
const GObject = imports.gi.GObject;
|
import Clutter from 'gi://Clutter';
|
||||||
const Clutter = imports.gi.Clutter;
|
import Meta from 'gi://Meta';
|
||||||
const Meta = imports.gi.Meta;
|
import Shell from 'gi://Shell';
|
||||||
const Shell = imports.gi.Shell;
|
import St from 'gi://St';
|
||||||
const St = imports.gi.St;
|
|
||||||
|
|
||||||
const AppDisplay = imports.ui.appDisplay;
|
import * as BoxPointer from 'resource:///org/gnome/shell/ui/boxpointer.js';
|
||||||
const BoxPointer = imports.ui.boxpointer;
|
import * as LookingGlass from 'resource:///org/gnome/shell/ui/lookingGlass.js';
|
||||||
const Dash = imports.ui.dash;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const IconGrid = imports.ui.iconGrid;
|
import * as PanelMenu from 'resource:///org/gnome/shell/ui/panelMenu.js';
|
||||||
const LookingGlass = imports.ui.lookingGlass;
|
import * as Layout from 'resource:///org/gnome/shell/ui/layout.js';
|
||||||
const Main = imports.ui.main;
|
import {InjectionManager} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
const PanelMenu = imports.ui.panelMenu;
|
import {SETTINGS} from './extension.js';
|
||||||
const Layout = imports.ui.layout;
|
import {SecondaryMonitorDisplay, WorkspacesView} from 'resource:///org/gnome/shell/ui/workspacesView.js';
|
||||||
const WM = imports.ui.windowManager;
|
|
||||||
const { SecondaryMonitorDisplay, WorkspacesView } = imports.ui.workspacesView;
|
|
||||||
|
|
||||||
var PanelManager = class {
|
|
||||||
|
export const PanelManager = class {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.overview = new Overview();
|
this.overview = new Overview.Overview();
|
||||||
this.panelsElementPositions = {};
|
this.panelsElementPositions = {};
|
||||||
|
this._injectionManager = new InjectionManager();
|
||||||
|
|
||||||
this._saveMonitors();
|
this._saveMonitors();
|
||||||
}
|
}
|
||||||
@@ -70,14 +67,14 @@ var PanelManager = class {
|
|||||||
this.proximityManager = new Proximity.ProximityManager();
|
this.proximityManager = new Proximity.ProximityManager();
|
||||||
|
|
||||||
if (this.dtpPrimaryMonitor) {
|
if (this.dtpPrimaryMonitor) {
|
||||||
this.primaryPanel = this._createPanel(this.dtpPrimaryMonitor, Me.settings.get_boolean('stockgs-keep-top-panel'));
|
this.primaryPanel = this._createPanel(this.dtpPrimaryMonitor, SETTINGS.get_boolean('stockgs-keep-top-panel'));
|
||||||
this.allPanels.push(this.primaryPanel);
|
this.allPanels.push(this.primaryPanel);
|
||||||
this.overview.enable(this.primaryPanel);
|
this.overview.enable(this.primaryPanel);
|
||||||
|
|
||||||
this.setFocusedMonitor(this.dtpPrimaryMonitor);
|
this.setFocusedMonitor(this.dtpPrimaryMonitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Me.settings.get_boolean('multi-monitors')) {
|
if (SETTINGS.get_boolean('multi-monitors')) {
|
||||||
Main.layoutManager.monitors.filter(m => m != this.dtpPrimaryMonitor).forEach(m => {
|
Main.layoutManager.monitors.filter(m => m != this.dtpPrimaryMonitor).forEach(m => {
|
||||||
this.allPanels.push(this._createPanel(m, true));
|
this.allPanels.push(this._createPanel(m, true));
|
||||||
});
|
});
|
||||||
@@ -105,7 +102,7 @@ var PanelManager = class {
|
|||||||
if (BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height) {
|
if (BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height) {
|
||||||
let panelManager = this;
|
let panelManager = this;
|
||||||
|
|
||||||
Utils.hookVfunc(BoxPointer.BoxPointer.prototype, 'get_preferred_height', function(forWidth) {
|
this._injectionManager.overrideMethod(BoxPointer.BoxPointer.prototype, 'vfunc_get_preferred_height', () => function(forWidth) {
|
||||||
let alloc = { min_size: 0, natural_size: 0 };
|
let alloc = { min_size: 0, natural_size: 0 };
|
||||||
|
|
||||||
[alloc.min_size, alloc.natural_size] = this.vfunc_get_preferred_height(forWidth);
|
[alloc.min_size, alloc.natural_size] = this.vfunc_get_preferred_height(forWidth);
|
||||||
@@ -153,7 +150,7 @@ var PanelManager = class {
|
|||||||
//listen settings
|
//listen settings
|
||||||
this._signalsHandler.add(
|
this._signalsHandler.add(
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::multi-monitors',
|
'changed::multi-monitors',
|
||||||
'changed::isolate-monitors',
|
'changed::isolate-monitors',
|
||||||
@@ -165,17 +162,17 @@ var PanelManager = class {
|
|||||||
() => this._reset()
|
() => this._reset()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::panel-element-positions',
|
'changed::panel-element-positions',
|
||||||
() => this._updatePanelElementPositions()
|
() => this._updatePanelElementPositions()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::intellihide-key-toggle-text',
|
'changed::intellihide-key-toggle-text',
|
||||||
() => this._setKeyBindings(true)
|
() => this._setKeyBindings(true)
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::panel-sizes',
|
'changed::panel-sizes',
|
||||||
() => {
|
() => {
|
||||||
GLib.idle_add(GLib.PRIORITY_LOW, () => {
|
GLib.idle_add(GLib.PRIORITY_LOW, () => {
|
||||||
@@ -196,20 +193,22 @@ var PanelManager = class {
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
panelBoxes.forEach(c => this._signalsHandler.add(
|
Panel.panelBoxes.forEach(c => this._signalsHandler.add(
|
||||||
[
|
[
|
||||||
Main.panel[c],
|
Main.panel[c],
|
||||||
'actor-added',
|
'child-added',
|
||||||
(parent, child) =>
|
(parent, child) => {
|
||||||
this.primaryPanel &&
|
this.primaryPanel &&
|
||||||
this._adjustPanelMenuButton(this._getPanelMenuButton(child), this.primaryPanel.monitor, this.primaryPanel.getPosition())
|
child instanceof St.Bin &&
|
||||||
|
this._adjustPanelMenuButton(this._getPanelMenuButton(child.get_first_child()), this.primaryPanel.monitor, this.primaryPanel.getPosition())
|
||||||
|
}
|
||||||
]
|
]
|
||||||
));
|
));
|
||||||
|
|
||||||
this._setKeyBindings(true);
|
this._setKeyBindings(true);
|
||||||
|
|
||||||
// keep GS overview.js from blowing away custom panel styles
|
// keep GS overview.js from blowing away custom panel styles
|
||||||
if(!Me.settings.get_boolean('stockgs-keep-top-panel'))
|
if(!SETTINGS.get_boolean('stockgs-keep-top-panel'))
|
||||||
Object.defineProperty(Main.panel, "style", {configurable: true, set(v) {}});
|
Object.defineProperty(Main.panel, "style", {configurable: true, set(v) {}});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -244,7 +243,7 @@ var PanelManager = class {
|
|||||||
} else {
|
} else {
|
||||||
p.panelBox.remove_child(p);
|
p.panelBox.remove_child(p);
|
||||||
p.remove_child(p.panel);
|
p.remove_child(p.panel);
|
||||||
p.panelBox.add(p.panel);
|
p.panelBox.add_child(p.panel);
|
||||||
|
|
||||||
p.panelBox.set_position(clipContainer.x, clipContainer.y);
|
p.panelBox.set_position(clipContainer.x, clipContainer.y);
|
||||||
|
|
||||||
@@ -253,9 +252,7 @@ var PanelManager = class {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height) {
|
this._injectionManager.clear();
|
||||||
Utils.hookVfunc(BoxPointer.BoxPointer.prototype, 'get_preferred_height', BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Main.layoutManager.primaryMonitor) {
|
if (Main.layoutManager.primaryMonitor) {
|
||||||
Main.layoutManager.panelBox.set_position(Main.layoutManager.primaryMonitor.x, Main.layoutManager.primaryMonitor.y);
|
Main.layoutManager.panelBox.set_position(Main.layoutManager.primaryMonitor.x, Main.layoutManager.primaryMonitor.y);
|
||||||
@@ -292,6 +289,10 @@ var PanelManager = class {
|
|||||||
this._desktopIconsUsableArea = null;
|
this._desktopIconsUsableArea = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
toggleDash() {
|
||||||
|
this.overview.toggleDash();
|
||||||
|
}
|
||||||
|
|
||||||
_setDesktopIconsMargins() {
|
_setDesktopIconsMargins() {
|
||||||
this._desktopIconsUsableArea?.resetMargins();
|
this._desktopIconsUsableArea?.resetMargins();
|
||||||
this.allPanels.forEach(p => {
|
this.allPanels.forEach(p => {
|
||||||
@@ -356,12 +357,12 @@ var PanelManager = class {
|
|||||||
} else {
|
} else {
|
||||||
// No idea why atm, but we need the import at the top of this file and to use the
|
// No idea why atm, but we need the import at the top of this file and to use the
|
||||||
// full imports ns here, otherwise SecondaryMonitorDisplay can't be used ¯\_(ツ)_/¯
|
// full imports ns here, otherwise SecondaryMonitorDisplay can't be used ¯\_(ツ)_/¯
|
||||||
view = new imports.ui.workspacesView.SecondaryMonitorDisplay(i,
|
view = new SecondaryMonitorDisplay(i,
|
||||||
this._controls,
|
this._controls,
|
||||||
this._scrollAdjustment,
|
this._scrollAdjustment,
|
||||||
this._fitModeAdjustment,
|
this._fitModeAdjustment,
|
||||||
this._overviewAdjustment);
|
this._overviewAdjustment);
|
||||||
Main.layoutManager.overviewGroup.add_actor(view);
|
Main.layoutManager.overviewGroup.add_child(view);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._workspacesViews.push(view);
|
this._workspacesViews.push(view);
|
||||||
@@ -379,7 +380,7 @@ var PanelManager = class {
|
|||||||
|
|
||||||
Main.layoutManager.monitors.filter(m => m.index != primaryIndex).forEach(m => newMonitors.push(m.index));
|
Main.layoutManager.monitors.filter(m => m.index != primaryIndex).forEach(m => newMonitors.push(m.index));
|
||||||
|
|
||||||
Me.settings.set_value(keyMonitors, new GLib.Variant('ai', newMonitors));
|
SETTINGS.set_value(keyMonitors, new GLib.Variant('ai', newMonitors));
|
||||||
}
|
}
|
||||||
|
|
||||||
checkIfFocusedMonitor(monitor) {
|
checkIfFocusedMonitor(monitor) {
|
||||||
@@ -404,8 +405,8 @@ var PanelManager = class {
|
|||||||
clipContainer.add_child(panelBox);
|
clipContainer.add_child(panelBox);
|
||||||
Main.layoutManager.trackChrome(panelBox, { trackFullscreen: true, affectsStruts: true, affectsInputRegion: true });
|
Main.layoutManager.trackChrome(panelBox, { trackFullscreen: true, affectsStruts: true, affectsInputRegion: true });
|
||||||
|
|
||||||
panel = new Panel(this, monitor, panelBox, isStandalone);
|
panel = new Panel.Panel(this, monitor, panelBox, isStandalone);
|
||||||
panelBox.add(panel);
|
panelBox.add_child(panel);
|
||||||
panel.enable();
|
panel.enable();
|
||||||
|
|
||||||
panelBox.visible = true;
|
panelBox.visible = true;
|
||||||
@@ -424,7 +425,7 @@ var PanelManager = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updatePanelElementPositions() {
|
_updatePanelElementPositions() {
|
||||||
this.panelsElementPositions = PanelSettings.getSettingsJson(Me.settings, 'panel-element-positions');
|
this.panelsElementPositions = PanelSettings.getSettingsJson(SETTINGS, 'panel-element-positions');
|
||||||
this.allPanels.forEach(p => p.updateElementPositions());
|
this.allPanels.forEach(p => p.updateElementPositions());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -444,7 +445,7 @@ var PanelManager = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getBoxPointerPreferredHeight(boxPointer, alloc, monitor) {
|
_getBoxPointerPreferredHeight(boxPointer, alloc, monitor) {
|
||||||
if (boxPointer._dtpInPanel && boxPointer.sourceActor && Me.settings.get_boolean('intellihide')) {
|
if (boxPointer._dtpInPanel && boxPointer.sourceActor && SETTINGS.get_boolean('intellihide')) {
|
||||||
monitor = monitor || Main.layoutManager.findMonitorForActor(boxPointer.sourceActor);
|
monitor = monitor || Main.layoutManager.findMonitorForActor(boxPointer.sourceActor);
|
||||||
let panel = Utils.find(global.zorinTaskbar.panels, p => p.monitor == monitor);
|
let panel = Utils.find(global.zorinTaskbar.panels, p => p.monitor == monitor);
|
||||||
let excess = alloc.natural_size + panel.dtpSize + 10 - monitor.height; // 10 is arbitrary
|
let excess = alloc.natural_size + panel.dtpSize + 10 - monitor.height; // 10 is arbitrary
|
||||||
@@ -498,7 +499,7 @@ var PanelManager = class {
|
|||||||
Utils.removeKeybinding(k);
|
Utils.removeKeybinding(k);
|
||||||
|
|
||||||
if (enable) {
|
if (enable) {
|
||||||
Utils.addKeybinding(k, Me.settings, keys[k], Shell.ActionMode.NORMAL);
|
Utils.addKeybinding(k, SETTINGS, keys[k], Shell.ActionMode.NORMAL);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -507,7 +508,7 @@ var PanelManager = class {
|
|||||||
|
|
||||||
// This class drives long-running icon animations, to keep them running in sync
|
// This class drives long-running icon animations, to keep them running in sync
|
||||||
// with each other.
|
// with each other.
|
||||||
var IconAnimator = class {
|
export const IconAnimator = class {
|
||||||
|
|
||||||
constructor(actor) {
|
constructor(actor) {
|
||||||
this._count = 0;
|
this._count = 0;
|
||||||
|
|||||||
@@ -18,31 +18,31 @@
|
|||||||
* This file is based on code from the Dash to Panel extension
|
* This file is based on code from the Dash to Panel extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var SHOW_APPS_BTN = 'showAppsButton';
|
export const SHOW_APPS_BTN = 'showAppsButton';
|
||||||
var ACTIVITIES_BTN = 'activitiesButton';
|
export const ACTIVITIES_BTN = 'activitiesButton';
|
||||||
var TASKBAR = 'taskbar';
|
export const TASKBAR = 'taskbar';
|
||||||
var DATE_MENU = 'dateMenu';
|
export const DATE_MENU = 'dateMenu';
|
||||||
var SYSTEM_MENU = 'systemMenu';
|
export const SYSTEM_MENU = 'systemMenu';
|
||||||
var LEFT_BOX = 'leftBox';
|
export const LEFT_BOX = 'leftBox';
|
||||||
var CENTER_BOX = 'centerBox';
|
export const CENTER_BOX = 'centerBox';
|
||||||
var RIGHT_BOX = 'rightBox';
|
export const RIGHT_BOX = 'rightBox';
|
||||||
var DESKTOP_BTN = 'desktopButton';
|
export const DESKTOP_BTN = 'desktopButton';
|
||||||
|
|
||||||
var STACKED_TL = 'stackedTL';
|
export const STACKED_TL = 'stackedTL';
|
||||||
var STACKED_BR = 'stackedBR';
|
export const STACKED_BR = 'stackedBR';
|
||||||
var CENTERED = 'centered';
|
export const CENTERED = 'centered';
|
||||||
var CENTERED_MONITOR = 'centerMonitor';
|
export const CENTERED_MONITOR = 'centerMonitor';
|
||||||
|
|
||||||
var TOP = 'TOP';
|
export const TOP = 'TOP';
|
||||||
var BOTTOM = 'BOTTOM';
|
export const BOTTOM = 'BOTTOM';
|
||||||
var LEFT = 'LEFT';
|
export const LEFT = 'LEFT';
|
||||||
var RIGHT = 'RIGHT';
|
export const RIGHT = 'RIGHT';
|
||||||
|
|
||||||
var START = 'START';
|
export const START = 'START';
|
||||||
var MIDDLE = 'MIDDLE';
|
export const MIDDLE = 'MIDDLE';
|
||||||
var END = 'END';
|
export const END = 'END';
|
||||||
|
|
||||||
var defaults = [
|
export const defaults = [
|
||||||
{ element: LEFT_BOX, visible: true, position: STACKED_TL },
|
{ element: LEFT_BOX, visible: true, position: STACKED_TL },
|
||||||
{ element: SHOW_APPS_BTN, visible: false, position: STACKED_TL },
|
{ element: SHOW_APPS_BTN, visible: false, position: STACKED_TL },
|
||||||
{ element: ACTIVITIES_BTN, visible: true, position: STACKED_TL },
|
{ element: ACTIVITIES_BTN, visible: true, position: STACKED_TL },
|
||||||
@@ -54,11 +54,11 @@ var defaults = [
|
|||||||
{ element: DESKTOP_BTN, visible: false, position: STACKED_BR },
|
{ element: DESKTOP_BTN, visible: false, position: STACKED_BR },
|
||||||
];
|
];
|
||||||
|
|
||||||
var optionDialogFunctions = {};
|
export const optionDialogFunctions = {};
|
||||||
|
|
||||||
optionDialogFunctions[DATE_MENU] = '_showDateMenuOptions';
|
optionDialogFunctions[DATE_MENU] = '_showDateMenuOptions';
|
||||||
optionDialogFunctions[DESKTOP_BTN] = '_showDesktopButtonOptions';
|
optionDialogFunctions[DESKTOP_BTN] = '_showDesktopButtonOptions';
|
||||||
|
|
||||||
function checkIfCentered(position) {
|
export function checkIfCentered(position) {
|
||||||
return position == CENTERED || position == CENTERED_MONITOR;
|
return position == CENTERED || position == CENTERED_MONITOR;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,11 +15,10 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Pos from './panelPositions.js';
|
||||||
const Pos = Me.imports.panelPositions;
|
|
||||||
|
|
||||||
/** Return object representing a settings value that is stored as JSON. */
|
/** Return object representing a settings value that is stored as JSON. */
|
||||||
function getSettingsJson(settings, setting) {
|
export function getSettingsJson(settings, setting) {
|
||||||
try {
|
try {
|
||||||
return JSON.parse(settings.get_string(setting));
|
return JSON.parse(settings.get_string(setting));
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
@@ -27,7 +26,7 @@ function getSettingsJson(settings, setting) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/** Write value object as JSON to setting in settings. */
|
/** Write value object as JSON to setting in settings. */
|
||||||
function setSettingsJson(settings, setting, value) {
|
export function setSettingsJson(settings, setting, value) {
|
||||||
try {
|
try {
|
||||||
const json = JSON.stringify(value);
|
const json = JSON.stringify(value);
|
||||||
settings.set_string(setting, json);
|
settings.set_string(setting, json);
|
||||||
@@ -37,7 +36,7 @@ function setSettingsJson(settings, setting, value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns size of panel on a specific monitor, in pixels. */
|
/** Returns size of panel on a specific monitor, in pixels. */
|
||||||
function getPanelSize(settings, monitorIndex) {
|
export function getPanelSize(settings, monitorIndex) {
|
||||||
const sizes = getSettingsJson(settings, 'panel-sizes');
|
const sizes = getSettingsJson(settings, 'panel-sizes');
|
||||||
// Pull in deprecated setting if panel-sizes does not have setting for monitor.
|
// Pull in deprecated setting if panel-sizes does not have setting for monitor.
|
||||||
const fallbackSize = settings.get_int('panel-size');
|
const fallbackSize = settings.get_int('panel-size');
|
||||||
@@ -45,7 +44,7 @@ function getPanelSize(settings, monitorIndex) {
|
|||||||
return sizes[monitorIndex] || fallbackSize || theDefault;
|
return sizes[monitorIndex] || fallbackSize || theDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPanelSize(settings, monitorIndex, value) {
|
export function setPanelSize(settings, monitorIndex, value) {
|
||||||
if (!(Number.isInteger(value) && value <= 128 && value >= 16)) {
|
if (!(Number.isInteger(value) && value <= 128 && value >= 16)) {
|
||||||
log('Not setting invalid panel size: ' + value);
|
log('Not setting invalid panel size: ' + value);
|
||||||
return;
|
return;
|
||||||
@@ -59,13 +58,13 @@ function setPanelSize(settings, monitorIndex, value) {
|
|||||||
* Returns length of panel on a specific monitor, as a whole number percent,
|
* Returns length of panel on a specific monitor, as a whole number percent,
|
||||||
* from settings. e.g. 100
|
* from settings. e.g. 100
|
||||||
*/
|
*/
|
||||||
function getPanelLength(settings, monitorIndex) {
|
export function getPanelLength(settings, monitorIndex) {
|
||||||
const lengths = getSettingsJson(settings, 'panel-lengths');
|
const lengths = getSettingsJson(settings, 'panel-lengths');
|
||||||
const theDefault = 100;
|
const theDefault = 100;
|
||||||
return lengths[monitorIndex] || theDefault;
|
return lengths[monitorIndex] || theDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPanelLength(settings, monitorIndex, value) {
|
export function setPanelLength(settings, monitorIndex, value) {
|
||||||
if (!(Number.isInteger(value) && value <= 100 && value >= 0)) {
|
if (!(Number.isInteger(value) && value <= 100 && value >= 0)) {
|
||||||
log('Not setting invalid panel length: ' + value);
|
log('Not setting invalid panel length: ' + value);
|
||||||
return;
|
return;
|
||||||
@@ -76,14 +75,14 @@ function setPanelLength(settings, monitorIndex, value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns position of panel on a specific monitor. */
|
/** Returns position of panel on a specific monitor. */
|
||||||
function getPanelPosition(settings, monitorIndex) {
|
export function getPanelPosition(settings, monitorIndex) {
|
||||||
const positions = getSettingsJson(settings, 'panel-positions');
|
const positions = getSettingsJson(settings, 'panel-positions');
|
||||||
const fallbackPosition = settings.get_string('panel-position');
|
const fallbackPosition = settings.get_string('panel-position');
|
||||||
const theDefault = Pos.BOTTOM;
|
const theDefault = Pos.BOTTOM;
|
||||||
return positions[monitorIndex] || fallbackPosition || theDefault;
|
return positions[monitorIndex] || fallbackPosition || theDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPanelPosition(settings, monitorIndex, value) {
|
export function setPanelPosition(settings, monitorIndex, value) {
|
||||||
if (!(value === Pos.TOP || value === Pos.BOTTOM || value === Pos.LEFT
|
if (!(value === Pos.TOP || value === Pos.BOTTOM || value === Pos.LEFT
|
||||||
|| value === Pos.RIGHT)) {
|
|| value === Pos.RIGHT)) {
|
||||||
log('Not setting invalid panel position: ' + value);
|
log('Not setting invalid panel position: ' + value);
|
||||||
@@ -95,13 +94,13 @@ function setPanelPosition(settings, monitorIndex, value) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Returns anchor location of panel on a specific monitor. */
|
/** Returns anchor location of panel on a specific monitor. */
|
||||||
function getPanelAnchor(settings, monitorIndex) {
|
export function getPanelAnchor(settings, monitorIndex) {
|
||||||
const anchors = getSettingsJson(settings, 'panel-anchors');
|
const anchors = getSettingsJson(settings, 'panel-anchors');
|
||||||
const theDefault = Pos.MIDDLE;
|
const theDefault = Pos.MIDDLE;
|
||||||
return anchors[monitorIndex] || theDefault;
|
return anchors[monitorIndex] || theDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
function setPanelAnchor(settings, monitorIndex, value) {
|
export function setPanelAnchor(settings, monitorIndex, value) {
|
||||||
if (!(value === Pos.START || value === Pos.MIDDLE || value === Pos.END)) {
|
if (!(value === Pos.START || value === Pos.MIDDLE || value === Pos.END)) {
|
||||||
log('Not setting invalid panel anchor: ' + value);
|
log('Not setting invalid panel anchor: ' + value);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -22,18 +22,9 @@
|
|||||||
* mathematical.coffee@gmail.com
|
* mathematical.coffee@gmail.com
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Utils from './utils.js';
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
|
|
||||||
const Panel = Me.imports.panel;
|
export const PanelStyle = class {
|
||||||
const Taskbar = Me.imports.taskbar;
|
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
|
|
||||||
var PanelStyle = class {
|
|
||||||
|
|
||||||
enable(panel) {
|
enable(panel) {
|
||||||
this.panel = panel;
|
this.panel = panel;
|
||||||
@@ -56,7 +47,7 @@ var PanelStyle = class {
|
|||||||
this._applyStylesRecursively();
|
this._applyStylesRecursively();
|
||||||
|
|
||||||
/* connect signal */
|
/* connect signal */
|
||||||
this._rightBoxActorAddedID = this.panel._rightBox.connect('actor-added',
|
this._rightBoxActorAddedID = this.panel._rightBox.connect('child-added',
|
||||||
(container, actor) => {
|
(container, actor) => {
|
||||||
if(this._rightBoxOperations.length && !this._ignoreAddedChild)
|
if(this._rightBoxOperations.length && !this._ignoreAddedChild)
|
||||||
this._recursiveApply(actor, this._rightBoxOperations);
|
this._recursiveApply(actor, this._rightBoxOperations);
|
||||||
@@ -64,7 +55,7 @@ var PanelStyle = class {
|
|||||||
this._ignoreAddedChild = 0;
|
this._ignoreAddedChild = 0;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
this._centerBoxActorAddedID = this.panel._centerBox.connect('actor-added',
|
this._centerBoxActorAddedID = this.panel._centerBox.connect('child-added',
|
||||||
(container, actor) => {
|
(container, actor) => {
|
||||||
if(this._centerBoxOperations.length && !this._ignoreAddedChild)
|
if(this._centerBoxOperations.length && !this._ignoreAddedChild)
|
||||||
this._recursiveApply(actor, this._centerBoxOperations);
|
this._recursiveApply(actor, this._centerBoxOperations);
|
||||||
@@ -72,7 +63,7 @@ var PanelStyle = class {
|
|||||||
this._ignoreAddedChild = 0;
|
this._ignoreAddedChild = 0;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
this._leftBoxActorAddedID = this.panel._leftBox.connect('actor-added',
|
this._leftBoxActorAddedID = this.panel._leftBox.connect('child-added',
|
||||||
(container, actor) => {
|
(container, actor) => {
|
||||||
if(this._leftBoxOperations.length)
|
if(this._leftBoxOperations.length)
|
||||||
this._recursiveApply(actor, this._leftBoxOperations);
|
this._recursiveApply(actor, this._leftBoxOperations);
|
||||||
|
|||||||
6
po/es.po
6
po/es.po
@@ -255,6 +255,12 @@ msgstr "Importar configuraciones"
|
|||||||
msgid "Quit"
|
msgid "Quit"
|
||||||
msgstr "Salir"
|
msgstr "Salir"
|
||||||
|
|
||||||
|
#: appIcons.js:1497
|
||||||
|
msgid "Quit %d Window"
|
||||||
|
msgid_plural "Quit %d Windows"
|
||||||
|
msgstr[0] "Cerrar %d ventana"
|
||||||
|
msgstr[1] "Cerrar %d ventanas"
|
||||||
|
|
||||||
#: appIcons.js:1515
|
#: appIcons.js:1515
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Ventanas"
|
msgstr "Ventanas"
|
||||||
|
|||||||
252
po/it.po
252
po/it.po
@@ -2,15 +2,16 @@
|
|||||||
# This file is distributed under the same license as the Dash to Panel package.
|
# This file is distributed under the same license as the Dash to Panel package.
|
||||||
# Enrico Bella <enricobe@hotmail.com>, 2018.
|
# Enrico Bella <enricobe@hotmail.com>, 2018.
|
||||||
# Kowalski7cc <kowalski.7cc@gmail.com>, 2020.
|
# Kowalski7cc <kowalski.7cc@gmail.com>, 2020.
|
||||||
|
# Albano Battistella <albanobattistella@gmail.com>, 2023.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-02-08 08:31-0500\n"
|
"POT-Creation-Date: 2023-02-08 08:31-0500\n"
|
||||||
"PO-Revision-Date: 2020-05-15 23:12+0200\n"
|
"PO-Revision-Date: 2023-12-22 20:38+0200\n"
|
||||||
"Last-Translator: l3nn4rt <l3nn4rt@protonmail.com>\n"
|
"Last-Translator: Albano Battistella <albanoattistella@gmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: Italian\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
@@ -35,9 +36,8 @@ msgid "Left"
|
|||||||
msgstr "Sinistra"
|
msgstr "Sinistra"
|
||||||
|
|
||||||
#: prefs.js:318
|
#: prefs.js:318
|
||||||
#, fuzzy
|
|
||||||
msgid "Center"
|
msgid "Center"
|
||||||
msgstr "Allinea al centro dello spazio disponibile"
|
msgstr "Centro"
|
||||||
|
|
||||||
#: prefs.js:319 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:12
|
#: prefs.js:319 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:12
|
||||||
msgid "Right"
|
msgid "Right"
|
||||||
@@ -50,7 +50,7 @@ msgstr "Alto"
|
|||||||
|
|
||||||
#: prefs.js:322 prefs.js:327 ui/SettingsPosition.ui.h:21
|
#: prefs.js:322 prefs.js:327 ui/SettingsPosition.ui.h:21
|
||||||
msgid "Middle"
|
msgid "Middle"
|
||||||
msgstr ""
|
msgstr "A metà"
|
||||||
|
|
||||||
#: prefs.js:323 ui/BoxWindowPreviewOptions.ui.h:37 ui/SettingsPosition.ui.h:10
|
#: prefs.js:323 ui/BoxWindowPreviewOptions.ui.h:37 ui/SettingsPosition.ui.h:10
|
||||||
#: ui/SettingsStyle.ui.h:9
|
#: ui/SettingsStyle.ui.h:9
|
||||||
@@ -59,11 +59,11 @@ msgstr "Basso"
|
|||||||
|
|
||||||
#: prefs.js:326 ui/SettingsPosition.ui.h:20
|
#: prefs.js:326 ui/SettingsPosition.ui.h:20
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr "Inizio"
|
||||||
|
|
||||||
#: prefs.js:328 ui/SettingsPosition.ui.h:22
|
#: prefs.js:328 ui/SettingsPosition.ui.h:22
|
||||||
msgid "End"
|
msgid "End"
|
||||||
msgstr ""
|
msgstr "Fine"
|
||||||
|
|
||||||
#: prefs.js:413
|
#: prefs.js:413
|
||||||
msgid "Show Applications button"
|
msgid "Show Applications button"
|
||||||
@@ -155,7 +155,7 @@ msgstr "Opzioni Mostra Applicazioni"
|
|||||||
|
|
||||||
#: prefs.js:530
|
#: prefs.js:530
|
||||||
msgid "Open icon"
|
msgid "Open icon"
|
||||||
msgstr ""
|
msgstr "Apri icona"
|
||||||
|
|
||||||
#: prefs.js:577
|
#: prefs.js:577
|
||||||
msgid "Show Desktop options"
|
msgid "Show Desktop options"
|
||||||
@@ -164,7 +164,7 @@ msgstr "Opzioni Mostra Desktop"
|
|||||||
#: prefs.js:661
|
#: prefs.js:661
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d ms"
|
msgid "%d ms"
|
||||||
msgstr ""
|
msgstr "%d ms"
|
||||||
|
|
||||||
#: prefs.js:666
|
#: prefs.js:666
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -185,8 +185,8 @@ msgstr ""
|
|||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d icon"
|
msgid "%d icon"
|
||||||
msgid_plural "%d icons"
|
msgid_plural "%d icons"
|
||||||
msgstr[0] ""
|
msgstr[0] "%d icona"
|
||||||
msgstr[1] ""
|
msgstr[1] "%d icone"
|
||||||
|
|
||||||
#: prefs.js:782
|
#: prefs.js:782
|
||||||
msgid "Running Indicator Options"
|
msgid "Running Indicator Options"
|
||||||
@@ -241,9 +241,8 @@ msgid "Advanced Options"
|
|||||||
msgstr "Impostazioni avanzate"
|
msgstr "Impostazioni avanzate"
|
||||||
|
|
||||||
#: prefs.js:2040
|
#: prefs.js:2040
|
||||||
#, fuzzy
|
|
||||||
msgid "App icon animation options"
|
msgid "App icon animation options"
|
||||||
msgstr "Opzioni Mostra Applicazioni"
|
msgstr "Opzioni di animazione dell'icona dell'app"
|
||||||
|
|
||||||
#: prefs.js:2088
|
#: prefs.js:2088
|
||||||
msgid "Export settings"
|
msgid "Export settings"
|
||||||
@@ -288,9 +287,8 @@ msgid "Terminal"
|
|||||||
msgstr "Terminale"
|
msgstr "Terminale"
|
||||||
|
|
||||||
#: appIcons.js:1824
|
#: appIcons.js:1824
|
||||||
#, fuzzy
|
|
||||||
msgid "System Monitor"
|
msgid "System Monitor"
|
||||||
msgstr "Isola monitor"
|
msgstr "Monitor di sistema"
|
||||||
|
|
||||||
#: appIcons.js:1829
|
#: appIcons.js:1829
|
||||||
msgid "Files"
|
msgid "Files"
|
||||||
@@ -330,50 +328,47 @@ msgstr "Ancora niente!"
|
|||||||
|
|
||||||
#: ui/BoxAdvancedOptions.ui.h:2
|
#: ui/BoxAdvancedOptions.ui.h:2
|
||||||
msgid "For real..."
|
msgid "For real..."
|
||||||
msgstr ""
|
msgstr "Per davvero..."
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:1
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Animation type"
|
msgid "Animation type"
|
||||||
msgstr "Durata animazione (ms)"
|
msgstr "Tipo di animazione"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:2
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:2
|
||||||
msgid "Simple"
|
msgid "Simple"
|
||||||
msgstr ""
|
msgstr "Semplice"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:3
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:3
|
||||||
msgid "Ripple"
|
msgid "Ripple"
|
||||||
msgstr ""
|
msgstr "Ondulata"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:4
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:4
|
||||||
msgid "Plank"
|
msgid "Plank"
|
||||||
msgstr ""
|
msgstr "Plank"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:5
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:5
|
||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr ""
|
msgstr "Durata"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:6
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Rotation"
|
msgid "Rotation"
|
||||||
msgstr "Posizione"
|
msgstr "Rotazione"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:7
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:7
|
||||||
msgid "Travel"
|
msgid "Travel"
|
||||||
msgstr ""
|
msgstr "Gamma di movimento"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:8
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:8
|
||||||
msgid "Zoom"
|
msgid "Zoom"
|
||||||
msgstr ""
|
msgstr "Zoom"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:9
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:9
|
||||||
msgid "Convexity"
|
msgid "Convexity"
|
||||||
msgstr ""
|
msgstr "Convessità"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:10
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Extent"
|
msgid "Extent"
|
||||||
msgstr "Estensioni"
|
msgstr "Estensione"
|
||||||
|
|
||||||
#: ui/BoxDotOptions.ui.h:1
|
#: ui/BoxDotOptions.ui.h:1
|
||||||
msgid "Highlight focused application"
|
msgid "Highlight focused application"
|
||||||
@@ -498,16 +493,12 @@ msgid "Font color of the minimized application titles"
|
|||||||
msgstr "Colore font titoli delle applicazioni minimizzate"
|
msgstr "Colore font titoli delle applicazioni minimizzate"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:10
|
#: ui/BoxGroupAppsOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Maximum width (px) of the application titles"
|
msgid "Maximum width (px) of the application titles"
|
||||||
msgstr "Larghezza massima (px) dei titoli delle app (predef. 160)"
|
msgstr "Larghezza massima (px) dei titoli delle applicazioni"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:11
|
#: ui/BoxGroupAppsOptions.ui.h:11
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 160)"
|
msgid "(default is 160)"
|
||||||
msgstr ""
|
msgstr "(predefinito è 160)"
|
||||||
"Dimensione pannello\n"
|
|
||||||
"(predefinito 48)"
|
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:12
|
#: ui/BoxGroupAppsOptions.ui.h:12
|
||||||
msgid "Use a fixed width for the application titles"
|
msgid "Use a fixed width for the application titles"
|
||||||
@@ -532,9 +523,8 @@ msgid "Use the favorite icons as application launchers"
|
|||||||
msgstr "Usa le icone dei Preferiti come lanciatori delle app"
|
msgstr "Usa le icone dei Preferiti come lanciatori delle app"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:1
|
#: ui/BoxIntellihideOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Only hide the panel when it is obstructed by windows"
|
msgid "Only hide the panel when it is obstructed by windows"
|
||||||
msgstr "Nascondi pannello solo quando è ostruito dalle finestre "
|
msgstr "Nascondi il pannello solo quando è ostruito da finestre"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:2
|
#: ui/BoxIntellihideOptions.ui.h:2
|
||||||
msgid "The panel hides from"
|
msgid "The panel hides from"
|
||||||
@@ -557,14 +547,12 @@ msgid "Allow the panel to be revealed while in fullscreen mode"
|
|||||||
msgstr "Permetti al pannello di apparire quando in modalità fullscreen"
|
msgstr "Permetti al pannello di apparire quando in modalità fullscreen"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:10
|
#: ui/BoxIntellihideOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Only hide secondary panels"
|
msgid "Only hide secondary panels"
|
||||||
msgstr "Visualizza l'orologio su pannelli secondari"
|
msgstr "Nascondi solo i pannelli secondari"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:11
|
#: ui/BoxIntellihideOptions.ui.h:11
|
||||||
#, fuzzy
|
|
||||||
msgid "(requires multi-monitors option)"
|
msgid "(requires multi-monitors option)"
|
||||||
msgstr "Opzioni multi-monitor"
|
msgstr "(richiede l'opzione multi-monitor)"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:12
|
#: ui/BoxIntellihideOptions.ui.h:12
|
||||||
msgid "Keyboard shortcut to reveal and hold the panel"
|
msgid "Keyboard shortcut to reveal and hold the panel"
|
||||||
@@ -627,9 +615,8 @@ msgid "Toggle single / Preview multiple"
|
|||||||
msgstr "Commuta finestra singola e mostra anteprime"
|
msgstr "Commuta finestra singola e mostra anteprime"
|
||||||
|
|
||||||
#: ui/BoxMiddleClickOptions.ui.h:9 ui/SettingsAction.ui.h:6
|
#: ui/BoxMiddleClickOptions.ui.h:9 ui/SettingsAction.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Toggle single / Cycle multiple"
|
msgid "Toggle single / Cycle multiple"
|
||||||
msgstr "Commuta finestra singola e mostra anteprime"
|
msgstr "Attiva singolo / Ciclo multiplo"
|
||||||
|
|
||||||
#: ui/BoxMiddleClickOptions.ui.h:11
|
#: ui/BoxMiddleClickOptions.ui.h:11
|
||||||
msgid "Middle-Click action"
|
msgid "Middle-Click action"
|
||||||
@@ -757,9 +744,8 @@ msgid "<i>Show Details</i> menu item"
|
|||||||
msgstr "Visualizza <i>Mostra Dettagli</i>"
|
msgstr "Visualizza <i>Mostra Dettagli</i>"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:1
|
#: ui/BoxShowApplicationsOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Show Applications icon"
|
msgid "Show Applications icon"
|
||||||
msgstr "Opzioni Mostra Applicazioni"
|
msgstr "Mostra l'icona Applicazioni"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:2
|
#: ui/BoxShowApplicationsOptions.ui.h:2
|
||||||
msgid "Show Applications icon side padding (px)"
|
msgid "Show Applications icon side padding (px)"
|
||||||
@@ -772,7 +758,7 @@ msgstr ""
|
|||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:1
|
#: ui/BoxShowDesktopOptions.ui.h:1
|
||||||
msgid "Override Show Desktop line color"
|
msgid "Override Show Desktop line color"
|
||||||
msgstr ""
|
msgstr "Sostituisci Mostra colore linea desktop"
|
||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:2
|
#: ui/BoxShowDesktopOptions.ui.h:2
|
||||||
msgid "Reveal the desktop when hovering the Show Desktop button"
|
msgid "Reveal the desktop when hovering the Show Desktop button"
|
||||||
@@ -788,23 +774,21 @@ msgid "Fade duration (ms)"
|
|||||||
msgstr "Durata dissolvenza (ms)"
|
msgstr "Durata dissolvenza (ms)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:1
|
#: ui/BoxWindowPreviewOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Time (ms) before showing"
|
msgid "Time (ms) before showing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tempo (ms) prima della visualizzazione (400 è l'impostazione predefinita)"
|
"Tempo (ms) prima della visualizzazione"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:2
|
#: ui/BoxWindowPreviewOptions.ui.h:2
|
||||||
msgid "(400 is default)"
|
msgid "(400 is default)"
|
||||||
msgstr ""
|
msgstr "(400 è predefinita)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:3
|
#: ui/BoxWindowPreviewOptions.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "Time (ms) before hiding"
|
msgid "Time (ms) before hiding"
|
||||||
msgstr "Tempo (ms) prima di nascondersi (100 è l'impostazione predefinita)"
|
msgstr "Tempo (ms) prima di nascondersi"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:4
|
#: ui/BoxWindowPreviewOptions.ui.h:4
|
||||||
msgid "(100 is default)"
|
msgid "(100 is default)"
|
||||||
msgstr ""
|
msgstr "(100 è predefinito)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:5
|
#: ui/BoxWindowPreviewOptions.ui.h:5
|
||||||
msgid "Immediate on application icon click"
|
msgid "Immediate on application icon click"
|
||||||
@@ -927,11 +911,10 @@ msgid "Use custom opacity for the previews background"
|
|||||||
msgstr "Usa l'opacità personalizzata per lo sfondo delle anteprime"
|
msgstr "Usa l'opacità personalizzata per lo sfondo delle anteprime"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:35
|
#: ui/BoxWindowPreviewOptions.ui.h:35
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If disabled, the previews background have the same opacity as the panel."
|
"If disabled, the previews background have the same opacity as the panel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Se disabilitato, lo sfondo delle anteprime ha la stessa opacità del pannello"
|
"Se disabilitato, lo sfondo delle anteprime avrà la stessa opacità del pannello."
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:36
|
#: ui/BoxWindowPreviewOptions.ui.h:36
|
||||||
msgid "Close button and header position"
|
msgid "Close button and header position"
|
||||||
@@ -942,15 +925,12 @@ msgid "Display window preview headers"
|
|||||||
msgstr "Visualizza le intestazioni di anteprima della finestra"
|
msgstr "Visualizza le intestazioni di anteprima della finestra"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:40
|
#: ui/BoxWindowPreviewOptions.ui.h:40
|
||||||
#, fuzzy
|
|
||||||
msgid "Icon size (px) of the window preview"
|
msgid "Icon size (px) of the window preview"
|
||||||
msgstr "Dimensione carattere (px) dei titoli di anteprima"
|
msgstr "Dimensioni dell'icona (px) dell'anteprima della finestra"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:41
|
#: ui/BoxWindowPreviewOptions.ui.h:41
|
||||||
#, fuzzy
|
|
||||||
msgid "If disabled, the previews icon size will be based on headerbar size"
|
msgid "If disabled, the previews icon size will be based on headerbar size"
|
||||||
msgstr ""
|
msgstr "Se disabilitato, la dimensione dell'icona delle anteprime sarà basata sulla dimensione della barra di intestazione"
|
||||||
"Se disabilitato, lo sfondo delle anteprime ha la stessa opacità del pannello"
|
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:42
|
#: ui/BoxWindowPreviewOptions.ui.h:42
|
||||||
msgid "Font size (px) of the preview titles"
|
msgid "Font size (px) of the preview titles"
|
||||||
@@ -1003,25 +983,23 @@ msgstr ""
|
|||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:1
|
#: ui/SettingsAbout.ui.h:1
|
||||||
msgid "Info"
|
msgid "Info"
|
||||||
msgstr ""
|
msgstr "Informazioni"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:2
|
#: ui/SettingsAbout.ui.h:2
|
||||||
#, fuzzy
|
|
||||||
msgid "Version"
|
msgid "Version"
|
||||||
msgstr "versione: "
|
msgstr "versione"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:3
|
#: ui/SettingsAbout.ui.h:3
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr "Sorgente"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:4
|
#: ui/SettingsAbout.ui.h:4
|
||||||
msgid "GitHub"
|
msgid "GitHub"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:5
|
#: ui/SettingsAbout.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "Export and Import"
|
msgid "Export and Import"
|
||||||
msgstr "Esporta e importa impostazioni"
|
msgstr "Esporta e importa"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:6
|
#: ui/SettingsAbout.ui.h:6
|
||||||
msgid "Export and import settings"
|
msgid "Export and import settings"
|
||||||
@@ -1067,9 +1045,8 @@ msgid "Toggle windows"
|
|||||||
msgstr "Commuta le finestre"
|
msgstr "Commuta le finestre"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:10
|
#: ui/SettingsAction.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Scroll action"
|
msgid "Scroll action"
|
||||||
msgstr "Azione scorrimento icona"
|
msgstr "Azione di scorrimento"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:11
|
#: ui/SettingsAction.ui.h:11
|
||||||
msgid "Scroll panel action"
|
msgid "Scroll panel action"
|
||||||
@@ -1109,9 +1086,8 @@ msgid "Same as panel"
|
|||||||
msgstr "Stesso del pannello"
|
msgstr "Stesso del pannello"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:20
|
#: ui/SettingsAction.ui.h:20
|
||||||
#, fuzzy
|
|
||||||
msgid "Hotkey overlay"
|
msgid "Hotkey overlay"
|
||||||
msgstr "Sovrimpressione numero"
|
msgstr "Sovrapposizione tasti di scelta rapida"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:21
|
#: ui/SettingsAction.ui.h:21
|
||||||
msgid "Use hotkeys to activate apps"
|
msgid "Use hotkeys to activate apps"
|
||||||
@@ -1126,9 +1102,8 @@ msgstr ""
|
|||||||
"assieme a Shift e Ctrl."
|
"assieme a Shift e Ctrl."
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:1
|
#: ui/SettingsBehavior.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Non raggruppare applicazioni"
|
msgstr "Applicazioni"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:2
|
#: ui/SettingsBehavior.ui.h:2
|
||||||
msgid "Show favorite applications"
|
msgid "Show favorite applications"
|
||||||
@@ -1152,7 +1127,7 @@ msgstr "Non raggruppare applicazioni"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:7
|
#: ui/SettingsBehavior.ui.h:7
|
||||||
msgid "Show notification counter badge"
|
msgid "Show notification counter badge"
|
||||||
msgstr ""
|
msgstr "Mostra il badge del contatore delle notifiche"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:8
|
#: ui/SettingsBehavior.ui.h:8
|
||||||
msgid "Show window previews on hover"
|
msgid "Show window previews on hover"
|
||||||
@@ -1163,9 +1138,8 @@ msgid "Show tooltip on hover"
|
|||||||
msgstr "Mostra suggerimento al passaggio"
|
msgstr "Mostra suggerimento al passaggio"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:10
|
#: ui/SettingsBehavior.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Isolate"
|
msgid "Isolate"
|
||||||
msgstr "Isola monitor"
|
msgstr "Isola"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:11
|
#: ui/SettingsBehavior.ui.h:11
|
||||||
msgid "Isolate Workspaces"
|
msgid "Isolate Workspaces"
|
||||||
@@ -1177,70 +1151,55 @@ msgstr "Isola monitor"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:13
|
#: ui/SettingsBehavior.ui.h:13
|
||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr ""
|
msgstr "Panoramica"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:14
|
#: ui/SettingsBehavior.ui.h:14
|
||||||
msgid "Click empty space to close overview"
|
msgid "Click empty space to close overview"
|
||||||
msgstr ""
|
msgstr "Fare clic su uno spazio vuoto per chiudere la panoramica"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:15
|
#: ui/SettingsBehavior.ui.h:15
|
||||||
msgid "Disable show overview on startup"
|
msgid "Disable show overview on startup"
|
||||||
msgstr ""
|
msgstr "Disabilita mostra panoramica all'avvio"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:1
|
#: ui/SettingsFineTune.ui.h:1
|
||||||
msgid "Font size"
|
msgid "Font size"
|
||||||
msgstr ""
|
msgstr "Dimensione del font"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:2
|
#: ui/SettingsFineTune.ui.h:2
|
||||||
msgid "Tray Font Size"
|
msgid "Tray Font Size"
|
||||||
msgstr ""
|
msgstr "Dimensione font Tray"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:3
|
#: ui/SettingsFineTune.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "(0 = theme default)"
|
msgid "(0 = theme default)"
|
||||||
msgstr ""
|
msgstr "(0 = tema predefinito)"
|
||||||
"Dimens. Font Tray\n"
|
|
||||||
"(0 = predefinito)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:4
|
#: ui/SettingsFineTune.ui.h:4
|
||||||
#, fuzzy
|
|
||||||
msgid "LeftBox Font Size"
|
msgid "LeftBox Font Size"
|
||||||
msgstr ""
|
msgstr "Dimensione font casella sinistra"
|
||||||
"Dimens. Font LeftBox\n"
|
|
||||||
"(0 = predefinito)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:5
|
#: ui/SettingsFineTune.ui.h:5
|
||||||
msgid "Padding"
|
msgid "Padding"
|
||||||
msgstr ""
|
msgstr "Imbottitura"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:6
|
#: ui/SettingsFineTune.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Tray Item Padding"
|
msgid "Tray Item Padding"
|
||||||
msgstr ""
|
msgstr "Imbottitura degli elementi della tray"
|
||||||
"Spaziatura Icone Tray\n"
|
|
||||||
"(-1 = predefinito)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:7
|
#: ui/SettingsFineTune.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "(-1 = theme default)"
|
msgid "(-1 = theme default)"
|
||||||
msgstr ""
|
msgstr "(-1 = tema predefinito)"
|
||||||
"Spaziatura LeftBox\n"
|
|
||||||
"(-1 = predefinito)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:8
|
#: ui/SettingsFineTune.ui.h:8
|
||||||
#, fuzzy
|
|
||||||
msgid "Status Icon Padding"
|
msgid "Status Icon Padding"
|
||||||
msgstr ""
|
msgstr "Imbottitura icona di stato"
|
||||||
"Spaziatura icone stato\n"
|
|
||||||
"(-1 = predefinito)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:9
|
#: ui/SettingsFineTune.ui.h:9
|
||||||
msgid "LeftBox Padding"
|
msgid "LeftBox Padding"
|
||||||
msgstr ""
|
msgstr "Imbottitura della casella sinistra"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:10
|
#: ui/SettingsFineTune.ui.h:10
|
||||||
msgid "Animate"
|
msgid "Animate"
|
||||||
msgstr ""
|
msgstr "Animato"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:11
|
#: ui/SettingsFineTune.ui.h:11
|
||||||
msgid "Animate switching applications"
|
msgid "Animate switching applications"
|
||||||
@@ -1252,49 +1211,43 @@ msgstr "Animazione apertura nuove finestre"
|
|||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:13
|
#: ui/SettingsFineTune.ui.h:13
|
||||||
msgid "Gnome functionality"
|
msgid "Gnome functionality"
|
||||||
msgstr ""
|
msgstr "Funzionalità Gnome"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:14
|
#: ui/SettingsFineTune.ui.h:14
|
||||||
#, fuzzy
|
|
||||||
msgid "Keep original gnome-shell dash"
|
msgid "Keep original gnome-shell dash"
|
||||||
msgstr "Mantieni dash originale di gnome-shell (schermata panoramica)"
|
msgstr "Mantieni dash originale di gnome-shell"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:15
|
#: ui/SettingsFineTune.ui.h:15
|
||||||
msgid "(overview)"
|
msgid "(overview)"
|
||||||
msgstr ""
|
msgstr "(panoramica)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:16
|
#: ui/SettingsFineTune.ui.h:16
|
||||||
msgid "Keep original gnome-shell top panel"
|
msgid "Keep original gnome-shell top panel"
|
||||||
msgstr "Mantieni il pannello superiore della gnome-shell originale"
|
msgstr "Mantieni il pannello superiore della gnome-shell originale"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:17
|
#: ui/SettingsFineTune.ui.h:17
|
||||||
#, fuzzy
|
|
||||||
msgid "Activate panel menu buttons on click only"
|
msgid "Activate panel menu buttons on click only"
|
||||||
msgstr ""
|
msgstr "Attiva i pulsanti del menu del pannello solo con un clic"
|
||||||
"Attiva i pulsanti del menu del pannello (ad es. Menu della data) solo al clic"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:18
|
#: ui/SettingsFineTune.ui.h:18
|
||||||
#, fuzzy
|
|
||||||
msgid "(e.g. date menu)"
|
msgid "(e.g. date menu)"
|
||||||
msgstr "Data e ora"
|
msgstr "(es. menu data)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:19
|
#: ui/SettingsFineTune.ui.h:19
|
||||||
msgid "Force Activities hot corner on primary monitor"
|
msgid "Force Activities hot corner on primary monitor"
|
||||||
msgstr "Forza angolo attivo delle attività sul monitor principale"
|
msgstr "Forza angolo attivo delle attività sul monitor principale"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:20
|
#: ui/SettingsFineTune.ui.h:20
|
||||||
#, fuzzy
|
|
||||||
msgid "App icon secondary menu"
|
msgid "App icon secondary menu"
|
||||||
msgstr "Menu secondario (clic destro) delle icone"
|
msgstr "Menu secondario dell'icona dell'app"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:21
|
#: ui/SettingsFineTune.ui.h:21
|
||||||
#, fuzzy
|
|
||||||
msgid "(right-click menu)"
|
msgid "(right-click menu)"
|
||||||
msgstr "Menu secondario (clic destro) delle icone"
|
msgstr "(menù cliccabile con il tasto destro)"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:1
|
#: ui/SettingsPosition.ui.h:1
|
||||||
msgid "Panel"
|
msgid "Panel"
|
||||||
msgstr ""
|
msgstr "Pannello"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:2
|
#: ui/SettingsPosition.ui.h:2
|
||||||
msgid "Display the main panel on"
|
msgid "Display the main panel on"
|
||||||
@@ -1313,14 +1266,12 @@ msgid "Hide and reveal the panel according to preferences"
|
|||||||
msgstr "Mostra e nascondi il pannello secondo le preferenze"
|
msgstr "Mostra e nascondi il pannello secondo le preferenze"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:6
|
#: ui/SettingsPosition.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Order and Position on monitors"
|
msgid "Order and Position on monitors"
|
||||||
msgstr "Ordinamento e posizione sullo schermo"
|
msgstr "Ordinamento e posizione sui monitor"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:7
|
#: ui/SettingsPosition.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "Monitor"
|
msgid "Monitor"
|
||||||
msgstr "Monitor "
|
msgstr "Monitor"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:8
|
#: ui/SettingsPosition.ui.h:8
|
||||||
msgid "Apply changes to all monitors"
|
msgid "Apply changes to all monitors"
|
||||||
@@ -1331,79 +1282,57 @@ msgid "Panel screen position"
|
|||||||
msgstr "Posizione pannello sullo schermo"
|
msgstr "Posizione pannello sullo schermo"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:14
|
#: ui/SettingsPosition.ui.h:14
|
||||||
#, fuzzy
|
|
||||||
msgid "Panel thickness"
|
msgid "Panel thickness"
|
||||||
msgstr "Pannello Intellihide"
|
msgstr "Spessore del pannello"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:15
|
#: ui/SettingsPosition.ui.h:15
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 48)"
|
msgid "(default is 48)"
|
||||||
msgstr ""
|
msgstr "(predefinito è 48)"
|
||||||
"Dimensione pannello\n"
|
|
||||||
"(predefinito 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:17
|
#: ui/SettingsPosition.ui.h:17
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Panel length (%)"
|
msgid "Panel length (%)"
|
||||||
msgstr ""
|
msgstr "Lunghezza del pannello (%)"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:18
|
#: ui/SettingsPosition.ui.h:18
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 100)"
|
msgid "(default is 100)"
|
||||||
msgstr ""
|
msgstr "(predefinito è 100)"
|
||||||
"Dimensione pannello\n"
|
|
||||||
"(predefinito 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:19
|
#: ui/SettingsPosition.ui.h:19
|
||||||
msgid "Anchor"
|
msgid "Anchor"
|
||||||
msgstr ""
|
msgstr "Ancora"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:23
|
#: ui/SettingsPosition.ui.h:23
|
||||||
#, fuzzy
|
|
||||||
msgid "Taskbar Display"
|
msgid "Taskbar Display"
|
||||||
msgstr "Taskbar"
|
msgstr "Visualizzazione Taskbar"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:1
|
#: ui/SettingsStyle.ui.h:1
|
||||||
msgid "AppIcon style"
|
msgid "AppIcon style"
|
||||||
msgstr ""
|
msgstr "Stile icona dell'app"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:2
|
#: ui/SettingsStyle.ui.h:2
|
||||||
#, fuzzy
|
|
||||||
msgid "App Icon Margin"
|
msgid "App Icon Margin"
|
||||||
msgstr ""
|
msgstr "Margine icona app"
|
||||||
"Margine icone app\n"
|
|
||||||
"(predefinito 8)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:3
|
#: ui/SettingsStyle.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 8)"
|
msgid "(default is 8)"
|
||||||
msgstr ""
|
msgstr "(predefinito è 8)"
|
||||||
"Dimensione pannello\n"
|
|
||||||
"(predefinito 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:4
|
#: ui/SettingsStyle.ui.h:4
|
||||||
#, fuzzy
|
|
||||||
msgid "App Icon Padding"
|
msgid "App Icon Padding"
|
||||||
msgstr ""
|
msgstr "Imbottitura delle icone dell'app"
|
||||||
"Spaziatura icone app\n"
|
|
||||||
"(predefinito 4)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:5
|
#: ui/SettingsStyle.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 4)"
|
msgid "(default is 4)"
|
||||||
msgstr ""
|
msgstr "(predefinito è 4)"
|
||||||
"Dimensione pannello\n"
|
|
||||||
"(predefinito 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:6
|
#: ui/SettingsStyle.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Animate hovering app icons"
|
msgid "Animate hovering app icons"
|
||||||
msgstr "Animazione passaggio tra applicazioni"
|
msgstr "Animazione passaggio tra le icone delle app"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:7
|
#: ui/SettingsStyle.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "Running indicator"
|
msgid "Running indicator"
|
||||||
msgstr "Posizione indicatore di esecuzione"
|
msgstr "Indicatore di esecuzione"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:8
|
#: ui/SettingsStyle.ui.h:8
|
||||||
msgid "Running indicator position"
|
msgid "Running indicator position"
|
||||||
@@ -1446,14 +1375,12 @@ msgid "Running indicator style (Unfocused apps)"
|
|||||||
msgstr "Stile indicatore di esecuzione (app senza focus)"
|
msgstr "Stile indicatore di esecuzione (app senza focus)"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:22
|
#: ui/SettingsStyle.ui.h:22
|
||||||
#, fuzzy
|
|
||||||
msgid "Panel style"
|
msgid "Panel style"
|
||||||
msgstr "Pannello Intellihide"
|
msgstr "Stile del pannello"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:23
|
#: ui/SettingsStyle.ui.h:23
|
||||||
#, fuzzy
|
|
||||||
msgid "Override panel theme background color"
|
msgid "Override panel theme background color"
|
||||||
msgstr "Ignora il colore di sfondo del pannello "
|
msgstr "Sostituisci il colore di sfondo del tema del pannello"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:24
|
#: ui/SettingsStyle.ui.h:24
|
||||||
msgid "Override panel theme background opacity"
|
msgid "Override panel theme background opacity"
|
||||||
@@ -1473,9 +1400,8 @@ msgid "Change opacity when a window gets close to the panel"
|
|||||||
msgstr "Cambia l'opacità quando una finestra è vicina al pannello"
|
msgstr "Cambia l'opacità quando una finestra è vicina al pannello"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:30
|
#: ui/SettingsStyle.ui.h:30
|
||||||
#, fuzzy
|
|
||||||
msgid "Override panel theme gradient"
|
msgid "Override panel theme gradient"
|
||||||
msgstr "Ignora gradiente del pannello "
|
msgstr "Sostituisci il gradiente del tema del pannello"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:32
|
#: ui/SettingsStyle.ui.h:32
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
@@ -1607,7 +1533,7 @@ msgstr "Isola aree di lavoro e monitor nelle impostazioni di Cambio applicazione
|
|||||||
#~ "about/\">Leggi di più</a>"
|
#~ "about/\">Leggi di più</a>"
|
||||||
|
|
||||||
#~ msgid "About"
|
#~ msgid "About"
|
||||||
#~ msgstr "Informazioni su"
|
#~ msgstr "Informazioni"
|
||||||
|
|
||||||
#~ msgid "Top, with plugin icons collapsed to bottom"
|
#~ msgid "Top, with plugin icons collapsed to bottom"
|
||||||
#~ msgstr "In alto, con le icone dei plugin raggruppate in bassoa"
|
#~ msgstr "In alto, con le icone dei plugin raggruppate in bassoa"
|
||||||
|
|||||||
295
po/pl.po
295
po/pl.po
@@ -20,15 +20,15 @@ msgstr ""
|
|||||||
|
|
||||||
#: prefs.js:247
|
#: prefs.js:247
|
||||||
msgid "Show Desktop button height (px)"
|
msgid "Show Desktop button height (px)"
|
||||||
msgstr "Wysokość przycisku <i>Pokaż pulpit</i> (px)"
|
msgstr "Wysokość przycisku <Pokaż pulpit (px)"
|
||||||
|
|
||||||
#: prefs.js:247
|
#: prefs.js:247
|
||||||
msgid "Show Desktop button width (px)"
|
msgid "Show Desktop button width (px)"
|
||||||
msgstr "Szerokość przycisku <i>Pokaż pulpit</i> (px)"
|
msgstr "Szerokość przycisku Pokaż pulpit (px)"
|
||||||
|
|
||||||
#: prefs.js:259
|
#: prefs.js:259
|
||||||
msgid "Unavailable when gnome-shell top panel is present"
|
msgid "Unavailable when gnome-shell top panel is present"
|
||||||
msgstr ""
|
msgstr "Niedostępne, gdy górna belka gnome-shell jest widoczna"
|
||||||
|
|
||||||
#: prefs.js:317 ui/SettingsPosition.ui.h:12 ui/SettingsStyle.ui.h:11
|
#: prefs.js:317 ui/SettingsPosition.ui.h:12 ui/SettingsStyle.ui.h:11
|
||||||
msgid "Left"
|
msgid "Left"
|
||||||
@@ -36,7 +36,7 @@ msgstr "Lewo"
|
|||||||
|
|
||||||
#: prefs.js:318
|
#: prefs.js:318
|
||||||
msgid "Center"
|
msgid "Center"
|
||||||
msgstr ""
|
msgstr "Wyśrodkowane"
|
||||||
|
|
||||||
#: prefs.js:319 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:12
|
#: prefs.js:319 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:12
|
||||||
msgid "Right"
|
msgid "Right"
|
||||||
@@ -49,7 +49,7 @@ msgstr "Góra"
|
|||||||
|
|
||||||
#: prefs.js:322 prefs.js:327 ui/SettingsPosition.ui.h:21
|
#: prefs.js:322 prefs.js:327 ui/SettingsPosition.ui.h:21
|
||||||
msgid "Middle"
|
msgid "Middle"
|
||||||
msgstr ""
|
msgstr "Po środku"
|
||||||
|
|
||||||
#: prefs.js:323 ui/BoxWindowPreviewOptions.ui.h:37 ui/SettingsPosition.ui.h:10
|
#: prefs.js:323 ui/BoxWindowPreviewOptions.ui.h:37 ui/SettingsPosition.ui.h:10
|
||||||
#: ui/SettingsStyle.ui.h:9
|
#: ui/SettingsStyle.ui.h:9
|
||||||
@@ -58,101 +58,91 @@ msgstr "Dół"
|
|||||||
|
|
||||||
#: prefs.js:326 ui/SettingsPosition.ui.h:20
|
#: prefs.js:326 ui/SettingsPosition.ui.h:20
|
||||||
msgid "Start"
|
msgid "Start"
|
||||||
msgstr ""
|
msgstr "Początek"
|
||||||
|
|
||||||
#: prefs.js:328 ui/SettingsPosition.ui.h:22
|
#: prefs.js:328 ui/SettingsPosition.ui.h:22
|
||||||
msgid "End"
|
msgid "End"
|
||||||
msgstr ""
|
msgstr "Koniec"
|
||||||
|
|
||||||
#: prefs.js:413
|
#: prefs.js:413
|
||||||
#, fuzzy
|
|
||||||
msgid "Show Applications button"
|
msgid "Show Applications button"
|
||||||
msgstr "Opcje wyświetlania programów"
|
msgstr "Opcje wyświetlania programów"
|
||||||
|
|
||||||
#: prefs.js:414
|
#: prefs.js:414
|
||||||
#, fuzzy
|
|
||||||
msgid "Activities button"
|
msgid "Activities button"
|
||||||
msgstr "Pokaż przycisk <i>Podgląd</i>"
|
msgstr "Przycisk Podgląd"
|
||||||
|
|
||||||
#: prefs.js:415
|
#: prefs.js:415
|
||||||
#, fuzzy
|
|
||||||
msgid "Taskbar"
|
msgid "Taskbar"
|
||||||
msgstr "Górna strona paska zadań"
|
msgstr "Górna strona paska zadań"
|
||||||
|
|
||||||
#: prefs.js:416
|
#: prefs.js:416
|
||||||
msgid "Date menu"
|
msgid "Date menu"
|
||||||
msgstr ""
|
msgstr "Menu daty"
|
||||||
|
|
||||||
#: prefs.js:417
|
#: prefs.js:417
|
||||||
#, fuzzy
|
|
||||||
msgid "System menu"
|
msgid "System menu"
|
||||||
msgstr "Monitor procesów"
|
msgstr "Monitor procesów"
|
||||||
|
|
||||||
#: prefs.js:418
|
#: prefs.js:418
|
||||||
#, fuzzy
|
|
||||||
msgid "Left box"
|
msgid "Left box"
|
||||||
msgstr "Lewo"
|
msgstr "Po lewej"
|
||||||
|
|
||||||
#: prefs.js:419
|
#: prefs.js:419
|
||||||
msgid "Center box"
|
msgid "Center box"
|
||||||
msgstr ""
|
msgstr "Wyśrodkowanie do okna"
|
||||||
|
|
||||||
#: prefs.js:420
|
#: prefs.js:420
|
||||||
#, fuzzy
|
|
||||||
msgid "Right box"
|
msgid "Right box"
|
||||||
msgstr "Prawo"
|
msgstr "Po prawej"
|
||||||
|
|
||||||
#: prefs.js:421
|
#: prefs.js:421
|
||||||
#, fuzzy
|
|
||||||
msgid "Desktop button"
|
msgid "Desktop button"
|
||||||
msgstr "Pokaż przycisk <i>Pulpit</i>"
|
msgstr "Przycisk Pulpit"
|
||||||
|
|
||||||
#: prefs.js:427
|
#: prefs.js:427
|
||||||
msgid "Move up"
|
msgid "Move up"
|
||||||
msgstr ""
|
msgstr "W górę"
|
||||||
|
|
||||||
#: prefs.js:429
|
#: prefs.js:429
|
||||||
msgid "Move down"
|
msgid "Move down"
|
||||||
msgstr ""
|
msgstr "W dół"
|
||||||
|
|
||||||
#: prefs.js:431
|
#: prefs.js:431
|
||||||
msgid "Visible"
|
msgid "Visible"
|
||||||
msgstr ""
|
msgstr "Widoczny"
|
||||||
|
|
||||||
#: prefs.js:432
|
#: prefs.js:432
|
||||||
#, fuzzy
|
|
||||||
msgid "Select element position"
|
msgid "Select element position"
|
||||||
msgstr "Położenie panelu na ekranie"
|
msgstr "Położenie panelu na ekranie"
|
||||||
|
|
||||||
#: prefs.js:443
|
#: prefs.js:443
|
||||||
msgid "Stacked to top"
|
msgid "Stacked to top"
|
||||||
msgstr ""
|
msgstr "Przypięto do góry"
|
||||||
|
|
||||||
#: prefs.js:443
|
#: prefs.js:443
|
||||||
msgid "Stacked to left"
|
msgid "Stacked to left"
|
||||||
msgstr ""
|
msgstr "Przypięto do lewej"
|
||||||
|
|
||||||
#: prefs.js:444
|
#: prefs.js:444
|
||||||
msgid "Stacked to bottom"
|
msgid "Stacked to bottom"
|
||||||
msgstr ""
|
msgstr "Przypięto do dołu"
|
||||||
|
|
||||||
#: prefs.js:444
|
#: prefs.js:444
|
||||||
msgid "Stacked to right"
|
msgid "Stacked to right"
|
||||||
msgstr ""
|
msgstr "Przypięto do prawej"
|
||||||
|
|
||||||
#: prefs.js:445
|
#: prefs.js:445
|
||||||
msgid "Centered"
|
msgid "Centered"
|
||||||
msgstr ""
|
msgstr "Wyśrodkowano"
|
||||||
|
|
||||||
#: prefs.js:446
|
#: prefs.js:446
|
||||||
#, fuzzy
|
|
||||||
msgid "Monitor Center"
|
msgid "Monitor Center"
|
||||||
msgstr "Monitor "
|
msgstr "Monitor "
|
||||||
|
|
||||||
#: prefs.js:465
|
#: prefs.js:465
|
||||||
#, fuzzy
|
|
||||||
msgid "More options"
|
msgid "More options"
|
||||||
msgstr "Opcje zasilania"
|
msgstr "Więcej opcji"
|
||||||
|
|
||||||
#: prefs.js:497
|
#: prefs.js:497
|
||||||
msgid "Reset to defaults"
|
msgid "Reset to defaults"
|
||||||
@@ -160,11 +150,11 @@ msgstr "Przywróć domyślne"
|
|||||||
|
|
||||||
#: prefs.js:520
|
#: prefs.js:520
|
||||||
msgid "Show Applications options"
|
msgid "Show Applications options"
|
||||||
msgstr "Opcje wyświetlania programów"
|
msgstr "Pokaż opcje programów"
|
||||||
|
|
||||||
#: prefs.js:530
|
#: prefs.js:530
|
||||||
msgid "Open icon"
|
msgid "Open icon"
|
||||||
msgstr ""
|
msgstr "Wybierz ikonę"
|
||||||
|
|
||||||
#: prefs.js:577
|
#: prefs.js:577
|
||||||
msgid "Show Desktop options"
|
msgid "Show Desktop options"
|
||||||
@@ -173,37 +163,36 @@ msgstr "Pokaż opcje pulpitu"
|
|||||||
#: prefs.js:661
|
#: prefs.js:661
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d ms"
|
msgid "%d ms"
|
||||||
msgstr ""
|
msgstr "%d ms"
|
||||||
|
|
||||||
#: prefs.js:666
|
#: prefs.js:666
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d °"
|
msgid "%d °"
|
||||||
msgstr ""
|
msgstr "%d °"
|
||||||
|
|
||||||
#: prefs.js:671 prefs.js:676
|
#: prefs.js:671 prefs.js:676
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d %%"
|
msgid "%d %%"
|
||||||
msgstr ""
|
msgstr "%d %%"
|
||||||
|
|
||||||
#: prefs.js:681
|
#: prefs.js:681
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%.1f"
|
msgid "%.1f"
|
||||||
msgstr ""
|
msgstr "%.1f"
|
||||||
|
|
||||||
#: prefs.js:686
|
#: prefs.js:686
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d icon"
|
msgid "%d icon"
|
||||||
msgid_plural "%d icons"
|
msgid_plural "%d icons"
|
||||||
msgstr[0] ""
|
msgstr[0] "%d ikon"
|
||||||
msgstr[1] ""
|
msgstr[1] "%d ikona"
|
||||||
msgstr[2] ""
|
msgstr[2] "%d ikon"
|
||||||
|
|
||||||
#: prefs.js:782
|
#: prefs.js:782
|
||||||
msgid "Running Indicator Options"
|
msgid "Running Indicator Options"
|
||||||
msgstr "Opcje wskaźnika aktywnych programów"
|
msgstr "Opcje wskaźnika aktywnych programów"
|
||||||
|
|
||||||
#: prefs.js:928
|
#: prefs.js:928
|
||||||
#, fuzzy
|
|
||||||
msgid "Primary monitor"
|
msgid "Primary monitor"
|
||||||
msgstr "Domyślny (Główny monitor)"
|
msgstr "Domyślny (Główny monitor)"
|
||||||
|
|
||||||
@@ -252,7 +241,6 @@ msgid "Advanced Options"
|
|||||||
msgstr "Opcje zaawansowane"
|
msgstr "Opcje zaawansowane"
|
||||||
|
|
||||||
#: prefs.js:2040
|
#: prefs.js:2040
|
||||||
#, fuzzy
|
|
||||||
msgid "App icon animation options"
|
msgid "App icon animation options"
|
||||||
msgstr "Opcje wyświetlania programów"
|
msgstr "Opcje wyświetlania programów"
|
||||||
|
|
||||||
@@ -307,7 +295,7 @@ msgstr "Pliki"
|
|||||||
|
|
||||||
#: appIcons.js:1834
|
#: appIcons.js:1834
|
||||||
msgid "Extensions"
|
msgid "Extensions"
|
||||||
msgstr ""
|
msgstr "Rozszerzenia"
|
||||||
|
|
||||||
#: appIcons.js:1839
|
#: appIcons.js:1839
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
@@ -339,49 +327,47 @@ msgstr "Jeszcze nic!"
|
|||||||
|
|
||||||
#: ui/BoxAdvancedOptions.ui.h:2
|
#: ui/BoxAdvancedOptions.ui.h:2
|
||||||
msgid "For real..."
|
msgid "For real..."
|
||||||
msgstr ""
|
msgstr "Na pewno..."
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:1
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Animation type"
|
msgid "Animation type"
|
||||||
msgstr "Długość animacji (ms)"
|
msgstr "Długość animacji (ms)"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:2
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:2
|
||||||
msgid "Simple"
|
msgid "Simple"
|
||||||
msgstr ""
|
msgstr "Prosta"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:3
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:3
|
||||||
msgid "Ripple"
|
msgid "Ripple"
|
||||||
msgstr ""
|
msgstr "Fala"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:4
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:4
|
||||||
msgid "Plank"
|
msgid "Plank"
|
||||||
msgstr ""
|
msgstr "Mała fala"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:5
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:5
|
||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
msgstr ""
|
msgstr "Trwanie"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:6
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Rotation"
|
msgid "Rotation"
|
||||||
msgstr "Położenie"
|
msgstr "Położenie"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:7
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:7
|
||||||
msgid "Travel"
|
msgid "Travel"
|
||||||
msgstr ""
|
msgstr "Przemieszczanie"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:8
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:8
|
||||||
msgid "Zoom"
|
msgid "Zoom"
|
||||||
msgstr ""
|
msgstr "Powiększenie"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:9
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:9
|
||||||
msgid "Convexity"
|
msgid "Convexity"
|
||||||
msgstr ""
|
msgstr "Wypukłość"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:10
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:10
|
||||||
msgid "Extent"
|
msgid "Extent"
|
||||||
msgstr ""
|
msgstr "Zakres"
|
||||||
|
|
||||||
#: ui/BoxDotOptions.ui.h:1
|
#: ui/BoxDotOptions.ui.h:1
|
||||||
msgid "Highlight focused application"
|
msgid "Highlight focused application"
|
||||||
@@ -400,7 +386,6 @@ msgid "Highlight opacity"
|
|||||||
msgstr "Przeźroczystość podświetlenia"
|
msgstr "Przeźroczystość podświetlenia"
|
||||||
|
|
||||||
#: ui/BoxDotOptions.ui.h:5
|
#: ui/BoxDotOptions.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "Indicator size (px)"
|
msgid "Indicator size (px)"
|
||||||
msgstr "Wysokość wskaźnika (px)"
|
msgstr "Wysokość wskaźnika (px)"
|
||||||
|
|
||||||
@@ -503,21 +488,16 @@ msgid "Font color of the application titles"
|
|||||||
msgstr "Kolor czcionki"
|
msgstr "Kolor czcionki"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:9
|
#: ui/BoxGroupAppsOptions.ui.h:9
|
||||||
#, fuzzy
|
|
||||||
msgid "Font color of the minimized application titles"
|
msgid "Font color of the minimized application titles"
|
||||||
msgstr "Kolor czcionki"
|
msgstr "Kolor czcionki"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:10
|
#: ui/BoxGroupAppsOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Maximum width (px) of the application titles"
|
msgid "Maximum width (px) of the application titles"
|
||||||
msgstr "Maksymalna szerokość (px) etykiet (domyślnie 160)"
|
msgstr "Maksymalna szerokość (px) etykiet (domyślnie 160)"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:11
|
#: ui/BoxGroupAppsOptions.ui.h:11
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 160)"
|
msgid "(default is 160)"
|
||||||
msgstr ""
|
msgstr "(domyślnie 160)"
|
||||||
"Rozmiar panelu\n"
|
|
||||||
"(domyślnie 48)"
|
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:12
|
#: ui/BoxGroupAppsOptions.ui.h:12
|
||||||
msgid "Use a fixed width for the application titles"
|
msgid "Use a fixed width for the application titles"
|
||||||
@@ -542,7 +522,6 @@ msgid "Use the favorite icons as application launchers"
|
|||||||
msgstr "Oddziel ulubione od uruchomionych programów"
|
msgstr "Oddziel ulubione od uruchomionych programów"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:1
|
#: ui/BoxIntellihideOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Only hide the panel when it is obstructed by windows"
|
msgid "Only hide the panel when it is obstructed by windows"
|
||||||
msgstr "Ukryj panel tylko wtedy, gdy jest zasłonięty przez okna "
|
msgstr "Ukryj panel tylko wtedy, gdy jest zasłonięty przez okna "
|
||||||
|
|
||||||
@@ -567,12 +546,10 @@ msgid "Allow the panel to be revealed while in fullscreen mode"
|
|||||||
msgstr "Pozwól, aby panel został odsłonięty w trybie pełnoekranowym"
|
msgstr "Pozwól, aby panel został odsłonięty w trybie pełnoekranowym"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:10
|
#: ui/BoxIntellihideOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Only hide secondary panels"
|
msgid "Only hide secondary panels"
|
||||||
msgstr "Ukryj wyłącznie drugorzędne panele (dla wielu monitorów)"
|
msgstr "Ukryj wyłącznie drugorzędne panele (dla wielu monitorów)"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:11
|
#: ui/BoxIntellihideOptions.ui.h:11
|
||||||
#, fuzzy
|
|
||||||
msgid "(requires multi-monitors option)"
|
msgid "(requires multi-monitors option)"
|
||||||
msgstr "Opcje wielu monitorów"
|
msgstr "Opcje wielu monitorów"
|
||||||
|
|
||||||
@@ -637,7 +614,6 @@ msgid "Toggle single / Preview multiple"
|
|||||||
msgstr "Przełącz pojedyncze / Podejrzyj wiele"
|
msgstr "Przełącz pojedyncze / Podejrzyj wiele"
|
||||||
|
|
||||||
#: ui/BoxMiddleClickOptions.ui.h:9 ui/SettingsAction.ui.h:6
|
#: ui/BoxMiddleClickOptions.ui.h:9 ui/SettingsAction.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Toggle single / Cycle multiple"
|
msgid "Toggle single / Cycle multiple"
|
||||||
msgstr "Przełącz pojedyncze / Podejrzyj wiele"
|
msgstr "Przełącz pojedyncze / Podejrzyj wiele"
|
||||||
|
|
||||||
@@ -655,9 +631,7 @@ msgstr "Kliknięcie środkowym przyciskiem + Shift"
|
|||||||
|
|
||||||
#: ui/BoxMiddleClickOptions.ui.h:14
|
#: ui/BoxMiddleClickOptions.ui.h:14
|
||||||
msgid "Behavior for Shift+Middle-Click."
|
msgid "Behavior for Shift+Middle-Click."
|
||||||
msgstr ""
|
msgstr "Zachowanie dla Shift+środkowy przycisk"
|
||||||
"Konfiguruje działanie kliknięcia środkowym przyciskiem z przytrzymanym "
|
|
||||||
"klawiszem Shift."
|
|
||||||
|
|
||||||
#: ui/BoxOverlayShortcut.ui.h:1
|
#: ui/BoxOverlayShortcut.ui.h:1
|
||||||
msgid "Hotkeys prefix"
|
msgid "Hotkeys prefix"
|
||||||
@@ -749,40 +723,39 @@ msgstr "Użyj tą wartość by ograniczyć liczbę przechwyceń przewijania mysz
|
|||||||
|
|
||||||
#: ui/BoxScrollPanelOptions.ui.h:3
|
#: ui/BoxScrollPanelOptions.ui.h:3
|
||||||
msgid "Show popup when changing workspace"
|
msgid "Show popup when changing workspace"
|
||||||
msgstr ""
|
msgstr "Pokaż wyskakujące okno podczas zmiany przestrzeni roboczej"
|
||||||
|
|
||||||
#: ui/BoxScrollPanelOptions.ui.h:4
|
#: ui/BoxScrollPanelOptions.ui.h:4
|
||||||
msgid "This affects workspace popup when scrolling on the panel only."
|
msgid "This affects workspace popup when scrolling on the panel only."
|
||||||
msgstr ""
|
msgstr "Ma wpływ na wyskakujące okno w przestrzeni roboczej tylko na panelu"
|
||||||
|
|
||||||
#: ui/BoxSecondaryMenuOptions.ui.h:1
|
#: ui/BoxSecondaryMenuOptions.ui.h:1
|
||||||
msgid "Integrate <i>AppMenu</i> items"
|
msgid "Integrate <i>AppMenu</i> items"
|
||||||
msgstr "Zintegruj elementy <i>menu programów</i>"
|
msgstr "Zintegruj elementy <i>Menu programów</i>"
|
||||||
|
|
||||||
#: ui/BoxSecondaryMenuOptions.ui.h:2
|
#: ui/BoxSecondaryMenuOptions.ui.h:2
|
||||||
msgid "<i>Show Details</i> menu item"
|
msgid "<i>Show Details</i> menu item"
|
||||||
msgstr "<i>Wyświetl szczegóły</i>"
|
msgstr "<i>Wyświetl szczegóły</i>"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:1
|
#: ui/BoxShowApplicationsOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Show Applications icon"
|
msgid "Show Applications icon"
|
||||||
msgstr "Opcje wyświetlania programów"
|
msgstr "Opcje wyświetlania programów"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:2
|
#: ui/BoxShowApplicationsOptions.ui.h:2
|
||||||
msgid "Show Applications icon side padding (px)"
|
msgid "Show Applications icon side padding (px)"
|
||||||
msgstr "Wewnętrzny margines przycisku <i>Pokaż programy</i> (px)"
|
msgstr "Wewnętrzny margines przycisku Pokaż programy (px)"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:4
|
#: ui/BoxShowApplicationsOptions.ui.h:4
|
||||||
msgid "Override escape key and return to desktop"
|
msgid "Override escape key and return to desktop"
|
||||||
msgstr ""
|
msgstr "Nadpisz przycisk wyjścia i wróć do pulpitu"
|
||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:1
|
#: ui/BoxShowDesktopOptions.ui.h:1
|
||||||
msgid "Override Show Desktop line color"
|
msgid "Override Show Desktop line color"
|
||||||
msgstr ""
|
msgstr "Nadpisz kolor przycisku Pokaż pulpit"
|
||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:2
|
#: ui/BoxShowDesktopOptions.ui.h:2
|
||||||
msgid "Reveal the desktop when hovering the Show Desktop button"
|
msgid "Reveal the desktop when hovering the Show Desktop button"
|
||||||
msgstr "Pokaż pulpit po najechaniu na przycisk <i>Pokaż pulpit</i>"
|
msgstr "Pokaż pulpit po najechaniu na przycisk Pokaż pulpit"
|
||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:3
|
#: ui/BoxShowDesktopOptions.ui.h:3
|
||||||
msgid "Delay before revealing the desktop (ms)"
|
msgid "Delay before revealing the desktop (ms)"
|
||||||
@@ -793,22 +766,20 @@ msgid "Fade duration (ms)"
|
|||||||
msgstr "Opóźnienie ukrywania (ms)"
|
msgstr "Opóźnienie ukrywania (ms)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:1
|
#: ui/BoxWindowPreviewOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Time (ms) before showing"
|
msgid "Time (ms) before showing"
|
||||||
msgstr "Opóźnienie (ms) przed pokazaniem (domyślnie 100)"
|
msgstr "Opóźnienie (ms) przed pokazaniem (domyślnie 100)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:2
|
#: ui/BoxWindowPreviewOptions.ui.h:2
|
||||||
msgid "(400 is default)"
|
msgid "(400 is default)"
|
||||||
msgstr ""
|
msgstr "(Domyślnie 400)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:3
|
#: ui/BoxWindowPreviewOptions.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "Time (ms) before hiding"
|
msgid "Time (ms) before hiding"
|
||||||
msgstr "Opóźnienie ukrywania miniatur (domyślnie 100 ms)"
|
msgstr "Opóźnienie ukrywania miniatur (domyślnie 100 ms)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:4
|
#: ui/BoxWindowPreviewOptions.ui.h:4
|
||||||
msgid "(100 is default)"
|
msgid "(100 is default)"
|
||||||
msgstr ""
|
msgstr "(Domyślnie 100)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:5
|
#: ui/BoxWindowPreviewOptions.ui.h:5
|
||||||
msgid "Immediate on application icon click"
|
msgid "Immediate on application icon click"
|
||||||
@@ -932,7 +903,6 @@ msgid "Use custom opacity for the previews background"
|
|||||||
msgstr "Własna przeźroczystość dla tła podglądu okna"
|
msgstr "Własna przeźroczystość dla tła podglądu okna"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:35
|
#: ui/BoxWindowPreviewOptions.ui.h:35
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If disabled, the previews background have the same opacity as the panel."
|
"If disabled, the previews background have the same opacity as the panel."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -947,12 +917,10 @@ msgid "Display window preview headers"
|
|||||||
msgstr "Wyświetlaj nagłówek w podglądzie okna"
|
msgstr "Wyświetlaj nagłówek w podglądzie okna"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:40
|
#: ui/BoxWindowPreviewOptions.ui.h:40
|
||||||
#, fuzzy
|
|
||||||
msgid "Icon size (px) of the window preview"
|
msgid "Icon size (px) of the window preview"
|
||||||
msgstr "Wielkość czcionki etykiet (px) etykiet podglądu"
|
msgstr "Wielkość czcionki etykiet (px) etykiet podglądu"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:41
|
#: ui/BoxWindowPreviewOptions.ui.h:41
|
||||||
#, fuzzy
|
|
||||||
msgid "If disabled, the previews icon size will be based on headerbar size"
|
msgid "If disabled, the previews icon size will be based on headerbar size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Jeśli wyłączone, podgląd okna będzie mieć taką samą przeźroczystość jak panel"
|
"Jeśli wyłączone, podgląd okna będzie mieć taką samą przeźroczystość jak panel"
|
||||||
@@ -1002,31 +970,26 @@ msgid "Window peeking mode opacity"
|
|||||||
msgstr "Przeźroczystość podglądanych okien"
|
msgstr "Przeźroczystość podglądanych okien"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:56
|
#: ui/BoxWindowPreviewOptions.ui.h:56
|
||||||
msgid ""
|
msgid "All windows except for the peeked one have their opacity set to the same value."
|
||||||
"All windows except for the peeked one have their opacity set to the same "
|
msgstr "Wszystkie okna, za wyjątkiem okna głównego, mają tą samą przeźroczystość."
|
||||||
"value."
|
|
||||||
msgstr ""
|
|
||||||
"Wszystkie okna, za wyjątkiem okna głównego, mają tą samą przeźroczystość."
|
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:1
|
#: ui/SettingsAbout.ui.h:1
|
||||||
msgid "Info"
|
msgid "Info"
|
||||||
msgstr ""
|
msgstr "Info"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:2
|
#: ui/SettingsAbout.ui.h:2
|
||||||
#, fuzzy
|
|
||||||
msgid "Version"
|
msgid "Version"
|
||||||
msgstr "wersja: "
|
msgstr "Wersja"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:3
|
#: ui/SettingsAbout.ui.h:3
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr "Źródło"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:4
|
#: ui/SettingsAbout.ui.h:4
|
||||||
msgid "GitHub"
|
msgid "GitHub"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:5
|
#: ui/SettingsAbout.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "Export and Import"
|
msgid "Export and Import"
|
||||||
msgstr "Ustawienia eksportu i importu"
|
msgstr "Ustawienia eksportu i importu"
|
||||||
|
|
||||||
@@ -1074,7 +1037,6 @@ msgid "Toggle windows"
|
|||||||
msgstr "Przełącz okna"
|
msgstr "Przełącz okna"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:10
|
#: ui/SettingsAction.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Scroll action"
|
msgid "Scroll action"
|
||||||
msgstr "Działanie przewijania na ikonie"
|
msgstr "Działanie przewijania na ikonie"
|
||||||
|
|
||||||
@@ -1100,7 +1062,7 @@ msgstr "Przełącz między oknami"
|
|||||||
|
|
||||||
#: ui/SettingsAction.ui.h:16
|
#: ui/SettingsAction.ui.h:16
|
||||||
msgid "Change volume"
|
msgid "Change volume"
|
||||||
msgstr ""
|
msgstr "Zmień głośność"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:17
|
#: ui/SettingsAction.ui.h:17
|
||||||
msgid "Scroll icon action"
|
msgid "Scroll icon action"
|
||||||
@@ -1112,10 +1074,9 @@ msgstr "Reakcja na przewijanie myszą nad ikoną programu."
|
|||||||
|
|
||||||
#: ui/SettingsAction.ui.h:19
|
#: ui/SettingsAction.ui.h:19
|
||||||
msgid "Same as panel"
|
msgid "Same as panel"
|
||||||
msgstr ""
|
msgstr "Tak jak panel"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:20
|
#: ui/SettingsAction.ui.h:20
|
||||||
#, fuzzy
|
|
||||||
msgid "Hotkey overlay"
|
msgid "Hotkey overlay"
|
||||||
msgstr "Pokazywanie cyfr"
|
msgstr "Pokazywanie cyfr"
|
||||||
|
|
||||||
@@ -1132,7 +1093,6 @@ msgstr ""
|
|||||||
"Super+(0-9) - możliwe użycie razem z Shift i Ctrl."
|
"Super+(0-9) - możliwe użycie razem z Shift i Ctrl."
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:1
|
#: ui/SettingsBehavior.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Tryb listy (nie scalaj ikon)"
|
msgstr "Tryb listy (nie scalaj ikon)"
|
||||||
|
|
||||||
@@ -1141,7 +1101,6 @@ msgid "Show favorite applications"
|
|||||||
msgstr "Pokaż ulubione programy"
|
msgstr "Pokaż ulubione programy"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:3
|
#: ui/SettingsBehavior.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "Show favorite applications on secondary panels"
|
msgid "Show favorite applications on secondary panels"
|
||||||
msgstr "Pokaż ulubione programy"
|
msgstr "Pokaż ulubione programy"
|
||||||
|
|
||||||
@@ -1159,7 +1118,7 @@ msgstr "Tryb listy (nie scalaj ikon)"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:7
|
#: ui/SettingsBehavior.ui.h:7
|
||||||
msgid "Show notification counter badge"
|
msgid "Show notification counter badge"
|
||||||
msgstr ""
|
msgstr "Pokaż licznik powiadomień"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:8
|
#: ui/SettingsBehavior.ui.h:8
|
||||||
msgid "Show window previews on hover"
|
msgid "Show window previews on hover"
|
||||||
@@ -1170,7 +1129,6 @@ msgid "Show tooltip on hover"
|
|||||||
msgstr "Pokaż szczegóły po najechaniu myszą"
|
msgstr "Pokaż szczegóły po najechaniu myszą"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:10
|
#: ui/SettingsBehavior.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Isolate"
|
msgid "Isolate"
|
||||||
msgstr "Niezależne obszary robocze"
|
msgstr "Niezależne obszary robocze"
|
||||||
|
|
||||||
@@ -1184,33 +1142,29 @@ msgstr "Niezależne obszary robocze"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:13
|
#: ui/SettingsBehavior.ui.h:13
|
||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr ""
|
msgstr "Przegląd"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:14
|
#: ui/SettingsBehavior.ui.h:14
|
||||||
msgid "Click empty space to close overview"
|
msgid "Click empty space to close overview"
|
||||||
msgstr ""
|
msgstr "Kliknij na pustą przestrzeń, aby zamknąć podgląd"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:15
|
#: ui/SettingsBehavior.ui.h:15
|
||||||
msgid "Disable show overview on startup"
|
msgid "Disable show overview on startup"
|
||||||
msgstr ""
|
msgstr "Wyłącz pokazywanie podglądu przy uruchomieniu"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:1
|
#: ui/SettingsFineTune.ui.h:1
|
||||||
msgid "Font size"
|
msgid "Font size"
|
||||||
msgstr ""
|
msgstr "Rozmiar czcionki"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:2
|
#: ui/SettingsFineTune.ui.h:2
|
||||||
msgid "Tray Font Size"
|
msgid "Tray Font Size"
|
||||||
msgstr ""
|
msgstr "Rozmiar czcionki zasobnika"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:3
|
#: ui/SettingsFineTune.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "(0 = theme default)"
|
msgid "(0 = theme default)"
|
||||||
msgstr ""
|
msgstr "(0 - domyślne motywu)"
|
||||||
"Rozmiar czcionki zasobnika\n"
|
|
||||||
"(0 - domyślne motywu)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:4
|
#: ui/SettingsFineTune.ui.h:4
|
||||||
#, fuzzy
|
|
||||||
msgid "LeftBox Font Size"
|
msgid "LeftBox Font Size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Rozmiar czcionki lewej strony panelu\n"
|
"Rozmiar czcionki lewej strony panelu\n"
|
||||||
@@ -1218,36 +1172,27 @@ msgstr ""
|
|||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:5
|
#: ui/SettingsFineTune.ui.h:5
|
||||||
msgid "Padding"
|
msgid "Padding"
|
||||||
msgstr ""
|
msgstr "Odstęp"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:6
|
#: ui/SettingsFineTune.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Tray Item Padding"
|
msgid "Tray Item Padding"
|
||||||
msgstr ""
|
msgstr "Odstęp elementów zasobnika"
|
||||||
"Odstęp elementów zasobnika\n"
|
|
||||||
"(-1 - domyślne motywu)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:7
|
#: ui/SettingsFineTune.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "(-1 = theme default)"
|
msgid "(-1 = theme default)"
|
||||||
msgstr ""
|
msgstr "(-1 - domyślne motywu)"
|
||||||
"Odstęp elementów lewej strony panelu\n"
|
|
||||||
"(-1 - domyślne motywu)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:8
|
#: ui/SettingsFineTune.ui.h:8
|
||||||
#, fuzzy
|
|
||||||
msgid "Status Icon Padding"
|
msgid "Status Icon Padding"
|
||||||
msgstr ""
|
msgstr "Odstęp ikon stanu"
|
||||||
"Odstęp elementów menu systemowego\n"
|
|
||||||
"(-1 - domyślne motywu)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:9
|
#: ui/SettingsFineTune.ui.h:9
|
||||||
msgid "LeftBox Padding"
|
msgid "LeftBox Padding"
|
||||||
msgstr ""
|
msgstr "Do lewej"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:10
|
#: ui/SettingsFineTune.ui.h:10
|
||||||
msgid "Animate"
|
msgid "Animate"
|
||||||
msgstr ""
|
msgstr "Animacja"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:11
|
#: ui/SettingsFineTune.ui.h:11
|
||||||
msgid "Animate switching applications"
|
msgid "Animate switching applications"
|
||||||
@@ -1259,49 +1204,44 @@ msgstr "Animuj uruchamianie nowych programów"
|
|||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:13
|
#: ui/SettingsFineTune.ui.h:13
|
||||||
msgid "Gnome functionality"
|
msgid "Gnome functionality"
|
||||||
msgstr ""
|
msgstr "Funkcja Gnome"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:14
|
#: ui/SettingsFineTune.ui.h:14
|
||||||
#, fuzzy
|
|
||||||
msgid "Keep original gnome-shell dash"
|
msgid "Keep original gnome-shell dash"
|
||||||
msgstr "Zachowaj oryginalny panel (podgląd)"
|
msgstr "Zachowaj oryginalny panel (podgląd)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:15
|
#: ui/SettingsFineTune.ui.h:15
|
||||||
msgid "(overview)"
|
msgid "(overview)"
|
||||||
msgstr ""
|
msgstr "(przegląd)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:16
|
#: ui/SettingsFineTune.ui.h:16
|
||||||
#, fuzzy
|
|
||||||
msgid "Keep original gnome-shell top panel"
|
msgid "Keep original gnome-shell top panel"
|
||||||
msgstr "Zachowaj oryginalny panel (podgląd)"
|
msgstr "Zachowaj oryginalny panel (podgląd)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:17
|
#: ui/SettingsFineTune.ui.h:17
|
||||||
#, fuzzy
|
|
||||||
msgid "Activate panel menu buttons on click only"
|
msgid "Activate panel menu buttons on click only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aktywuj przyciski menu panelu (np. menu kalendarza) tylko po kliknięciu"
|
"Aktywuj przyciski menu panelu (np. menu kalendarza) tylko po kliknięciu"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:18
|
#: ui/SettingsFineTune.ui.h:18
|
||||||
msgid "(e.g. date menu)"
|
msgid "(e.g. date menu)"
|
||||||
msgstr ""
|
msgstr "(np. menu daty)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:19
|
#: ui/SettingsFineTune.ui.h:19
|
||||||
msgid "Force Activities hot corner on primary monitor"
|
msgid "Force Activities hot corner on primary monitor"
|
||||||
msgstr ""
|
msgstr "Wymuś Aktywności gorącego rogu na głównym monitorze"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:20
|
#: ui/SettingsFineTune.ui.h:20
|
||||||
#, fuzzy
|
|
||||||
msgid "App icon secondary menu"
|
msgid "App icon secondary menu"
|
||||||
msgstr "Menu kontekstowe programu (prawy przycisk myszy)"
|
msgstr "Menu kontekstowe programu (prawy przycisk myszy)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:21
|
#: ui/SettingsFineTune.ui.h:21
|
||||||
#, fuzzy
|
|
||||||
msgid "(right-click menu)"
|
msgid "(right-click menu)"
|
||||||
msgstr "Menu kontekstowe programu (prawy przycisk myszy)"
|
msgstr "(prawy przycisk myszy)"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:1
|
#: ui/SettingsPosition.ui.h:1
|
||||||
msgid "Panel"
|
msgid "Panel"
|
||||||
msgstr ""
|
msgstr "Panel"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:2
|
#: ui/SettingsPosition.ui.h:2
|
||||||
msgid "Display the main panel on"
|
msgid "Display the main panel on"
|
||||||
@@ -1321,93 +1261,70 @@ msgstr "Ukryj i odsłoń panel według preferencji"
|
|||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:6
|
#: ui/SettingsPosition.ui.h:6
|
||||||
msgid "Order and Position on monitors"
|
msgid "Order and Position on monitors"
|
||||||
msgstr ""
|
msgstr "Kolejność i pozycja na monitorach"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:7
|
#: ui/SettingsPosition.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "Monitor"
|
msgid "Monitor"
|
||||||
msgstr "Monitor "
|
msgstr "Monitor"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:8
|
#: ui/SettingsPosition.ui.h:8
|
||||||
#, fuzzy
|
|
||||||
msgid "Apply changes to all monitors"
|
msgid "Apply changes to all monitors"
|
||||||
msgstr "Wyświetl panel na wszystkich monitorach"
|
msgstr "Zastosuj zmiany na wszyskich monitorach"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:9
|
#: ui/SettingsPosition.ui.h:9
|
||||||
msgid "Panel screen position"
|
msgid "Panel screen position"
|
||||||
msgstr "Położenie panelu na ekranie"
|
msgstr "Położenie panelu na ekranie"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:14
|
#: ui/SettingsPosition.ui.h:14
|
||||||
#, fuzzy
|
|
||||||
msgid "Panel thickness"
|
msgid "Panel thickness"
|
||||||
msgstr "Inteligentne ukrywanie panelu"
|
msgstr "Inteligentne ukrywanie panelu"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:15
|
#: ui/SettingsPosition.ui.h:15
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 48)"
|
msgid "(default is 48)"
|
||||||
msgstr ""
|
msgstr "(domyślnie 48)"
|
||||||
"Rozmiar panelu\n"
|
|
||||||
"(domyślnie 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:17
|
#: ui/SettingsPosition.ui.h:17
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Panel length (%)"
|
msgid "Panel length (%)"
|
||||||
msgstr ""
|
msgstr "Długość panela (%)"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:18
|
#: ui/SettingsPosition.ui.h:18
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 100)"
|
msgid "(default is 100)"
|
||||||
msgstr ""
|
msgstr "(domyślnie 100)"
|
||||||
"Rozmiar panelu\n"
|
|
||||||
"(domyślnie 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:19
|
#: ui/SettingsPosition.ui.h:19
|
||||||
msgid "Anchor"
|
msgid "Anchor"
|
||||||
msgstr ""
|
msgstr "Zakotwiczenie"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:23
|
#: ui/SettingsPosition.ui.h:23
|
||||||
msgid "Taskbar Display"
|
msgid "Taskbar Display"
|
||||||
msgstr ""
|
msgstr "Wyświetlanie paska zadań"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:1
|
#: ui/SettingsStyle.ui.h:1
|
||||||
msgid "AppIcon style"
|
msgid "AppIcon style"
|
||||||
msgstr ""
|
msgstr "Styl ikon aplikacji"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:2
|
#: ui/SettingsStyle.ui.h:2
|
||||||
#, fuzzy
|
|
||||||
msgid "App Icon Margin"
|
msgid "App Icon Margin"
|
||||||
msgstr ""
|
msgstr "Odstęp między ikonami"
|
||||||
"Odstęp między\n"
|
|
||||||
"ikonami (domyślnie 8)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:3
|
#: ui/SettingsStyle.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 8)"
|
msgid "(default is 8)"
|
||||||
msgstr ""
|
msgstr "(domyślnie 8)"
|
||||||
"Rozmiar panelu\n"
|
|
||||||
"(domyślnie 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:4
|
#: ui/SettingsStyle.ui.h:4
|
||||||
#, fuzzy
|
|
||||||
msgid "App Icon Padding"
|
msgid "App Icon Padding"
|
||||||
msgstr ""
|
msgstr "Wypełnienie ikony aplikacji"
|
||||||
"Wypełnienie wnętrza\n"
|
|
||||||
"ikony (domyślnie 4)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:5
|
#: ui/SettingsStyle.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 4)"
|
msgid "(default is 4)"
|
||||||
msgstr ""
|
msgstr "(domyślnie 4)"
|
||||||
"Rozmiar panelu\n"
|
|
||||||
"(domyślnie 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:6
|
#: ui/SettingsStyle.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Animate hovering app icons"
|
msgid "Animate hovering app icons"
|
||||||
msgstr "Animuj przełączenie programów"
|
msgstr "Animuj przełączenie programów"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:7
|
#: ui/SettingsStyle.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "Running indicator"
|
msgid "Running indicator"
|
||||||
msgstr "Pozycja wskaźnika aktywnych okien"
|
msgstr "Pozycja wskaźnika aktywnych okien"
|
||||||
|
|
||||||
@@ -1441,7 +1358,7 @@ msgstr "Ciągły"
|
|||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:19
|
#: ui/SettingsStyle.ui.h:19
|
||||||
msgid "Ciliora"
|
msgid "Ciliora"
|
||||||
msgstr "Ciliora"
|
msgstr "Rzęski"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:20
|
#: ui/SettingsStyle.ui.h:20
|
||||||
msgid "Metro"
|
msgid "Metro"
|
||||||
@@ -1452,12 +1369,10 @@ msgid "Running indicator style (Unfocused apps)"
|
|||||||
msgstr "Wygląd wskaźnika (okno na drugim planie)"
|
msgstr "Wygląd wskaźnika (okno na drugim planie)"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:22
|
#: ui/SettingsStyle.ui.h:22
|
||||||
#, fuzzy
|
|
||||||
msgid "Panel style"
|
msgid "Panel style"
|
||||||
msgstr "Inteligentne ukrywanie panelu"
|
msgstr "Inteligentne ukrywanie panelu"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:23
|
#: ui/SettingsStyle.ui.h:23
|
||||||
#, fuzzy
|
|
||||||
msgid "Override panel theme background color"
|
msgid "Override panel theme background color"
|
||||||
msgstr "Zastąp kolor panelu "
|
msgstr "Zastąp kolor panelu "
|
||||||
|
|
||||||
@@ -1479,19 +1394,18 @@ msgid "Change opacity when a window gets close to the panel"
|
|||||||
msgstr "Zmiana przeźroczystości w kontakcie z oknem"
|
msgstr "Zmiana przeźroczystości w kontakcie z oknem"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:30
|
#: ui/SettingsStyle.ui.h:30
|
||||||
#, fuzzy
|
|
||||||
msgid "Override panel theme gradient"
|
msgid "Override panel theme gradient"
|
||||||
msgstr "Zastąp kolor panelu gradientem "
|
msgstr "Zastąp kolor panelu gradientem "
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:32
|
#: ui/SettingsStyle.ui.h:32
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Gradient top color and opacity (%)"
|
msgid "Gradient top color and opacity (%)"
|
||||||
msgstr "Góra, kolor i przeźroczystość (%)"
|
msgstr "Gradient górnego koloru i przeźroczystość (%)"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:34
|
#: ui/SettingsStyle.ui.h:34
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Gradient bottom color and opacity (%)"
|
msgid "Gradient bottom color and opacity (%)"
|
||||||
msgstr "Dół, kolor i przeźroczystość (%)"
|
msgstr "Gradient dolnego koloru i przeźroczystość (%)"
|
||||||
|
|
||||||
msgid "Weekday"
|
msgid "Weekday"
|
||||||
msgstr "Dzień tygodnia"
|
msgstr "Dzień tygodnia"
|
||||||
@@ -1600,8 +1514,7 @@ msgstr "Izoluj obszary robocze i monitory w ustawieniach Przełączanie program
|
|||||||
#~ msgstr "Wyloguj"
|
#~ msgstr "Wyloguj"
|
||||||
|
|
||||||
#~ msgid "Update successful, please restart GNOME Shell"
|
#~ msgid "Update successful, please restart GNOME Shell"
|
||||||
#~ msgstr ""
|
#~ msgstr "Aktualizacja zakończona pomyślnie, prosimy zrestartować powłokę GNOME"
|
||||||
#~ "Aktualizacja zakończona pomyślnie, prosimy zrestartować powłokę GNOME"
|
|
||||||
|
|
||||||
#~ msgid "Restart GNOME Shell"
|
#~ msgid "Restart GNOME Shell"
|
||||||
#~ msgstr "Zrestartuj powłokę GNOME"
|
#~ msgstr "Zrestartuj powłokę GNOME"
|
||||||
@@ -1622,13 +1535,13 @@ msgstr "Izoluj obszary robocze i monitory w ustawieniach Przełączanie program
|
|||||||
#~ msgstr "Menu systemowe na wszystkich monitorach"
|
#~ msgstr "Menu systemowe na wszystkich monitorach"
|
||||||
|
|
||||||
#~ msgid "Current Show Applications icon"
|
#~ msgid "Current Show Applications icon"
|
||||||
#~ msgstr "Aktualna ikona przycisku <i>Pokaż programy</i>"
|
#~ msgstr "Aktualna ikona przycisku Pokaż programy"
|
||||||
|
|
||||||
#~ msgid "Select a Show Applications image icon"
|
#~ msgid "Select a Show Applications image icon"
|
||||||
#~ msgstr "Wybierz ikonę przycisku <i>Pokaż programy</i>"
|
#~ msgstr "Wybierz ikonę przycisku Pokaż programy"
|
||||||
|
|
||||||
#~ msgid "Custom Show Applications image icon"
|
#~ msgid "Custom Show Applications image icon"
|
||||||
#~ msgstr "Wybierz własną ikonę przycisku <i>Pokaż programy</i>"
|
#~ msgstr "Wybierz własną ikonę przycisku Pokaż programy"
|
||||||
|
|
||||||
#~ msgid "Taskbar position"
|
#~ msgid "Taskbar position"
|
||||||
#~ msgstr "Położenie paska zadań"
|
#~ msgstr "Położenie paska zadań"
|
||||||
@@ -1657,6 +1570,18 @@ msgstr "Izoluj obszary robocze i monitory w ustawieniach Przełączanie program
|
|||||||
#~ msgid "Fine-Tune"
|
#~ msgid "Fine-Tune"
|
||||||
#~ msgstr "Dostrajanie"
|
#~ msgstr "Dostrajanie"
|
||||||
|
|
||||||
|
#~ msgid "Position"
|
||||||
|
#~ msgstr "Pozycja"
|
||||||
|
|
||||||
|
#~ msgid "Icon style"
|
||||||
|
#~ msgstr "Styl ikony"
|
||||||
|
|
||||||
|
#~ msgid "Normal"
|
||||||
|
#~ msgstr "Normalna"
|
||||||
|
|
||||||
|
#~ msgid "Symbolic"
|
||||||
|
#~ msgstr "Symboliczna"
|
||||||
|
|
||||||
#~ msgid ""
|
#~ msgid ""
|
||||||
#~ "This allows you to update the extension directly from the GitHub "
|
#~ "This allows you to update the extension directly from the GitHub "
|
||||||
#~ "repository."
|
#~ "repository."
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ msgstr "Final"
|
|||||||
|
|
||||||
#: prefs.js:413
|
#: prefs.js:413
|
||||||
msgid "Show Applications button"
|
msgid "Show Applications button"
|
||||||
msgstr "Mostrar botão de plicações"
|
msgstr "Mostrar botão de aplicações"
|
||||||
|
|
||||||
#: prefs.js:414
|
#: prefs.js:414
|
||||||
msgid "Activities button"
|
msgid "Activities button"
|
||||||
@@ -1136,12 +1136,12 @@ msgstr ""
|
|||||||
#: ui/SettingsBehavior.ui.h:1
|
#: ui/SettingsBehavior.ui.h:1
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Mostrar botão de plicações"
|
msgstr "Mostrar botão de aplicações"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:2
|
#: ui/SettingsBehavior.ui.h:2
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Show favorite applications"
|
msgid "Show favorite applications"
|
||||||
msgstr "Mostrar botão de plicações"
|
msgstr "Mostrar botão de aplicações"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:3
|
#: ui/SettingsBehavior.ui.h:3
|
||||||
msgid "Show favorite applications on secondary panels"
|
msgid "Show favorite applications on secondary panels"
|
||||||
@@ -1150,7 +1150,7 @@ msgstr ""
|
|||||||
#: ui/SettingsBehavior.ui.h:4
|
#: ui/SettingsBehavior.ui.h:4
|
||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid "Show running applications"
|
msgid "Show running applications"
|
||||||
msgstr "Mostrar botão de plicações"
|
msgstr "Mostrar botão de aplicações"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:5
|
#: ui/SettingsBehavior.ui.h:5
|
||||||
msgid "Show <i>AppMenu</i> button"
|
msgid "Show <i>AppMenu</i> button"
|
||||||
|
|||||||
250
po/sk.po
250
po/sk.po
@@ -2,29 +2,30 @@
|
|||||||
# Copyright (C) 2018
|
# Copyright (C) 2018
|
||||||
# This file is distributed under the same license as the dash-to-panel package.
|
# This file is distributed under the same license as the dash-to-panel package.
|
||||||
# Jose Riha <jose1711 gmail com>, 2021.
|
# Jose Riha <jose1711 gmail com>, 2021.
|
||||||
|
# Jozef Gaal <preklady@mayday.sk>, 2024.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2023-02-08 08:31-0500\n"
|
"POT-Creation-Date: 2023-02-08 08:31-0500\n"
|
||||||
"PO-Revision-Date: 2021-08-05 14:16+0200\n"
|
"PO-Revision-Date: 2024-12-07 02:10+0100\n"
|
||||||
"Last-Translator: Jose Riha <jose1711@gmail.com>\n"
|
"Last-Translator: Jozef Gaal <preklady@mayday.sk>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: Jozef Gaal <preklady@mayday.sk>\n"
|
||||||
"Language: sk\n"
|
"Language: sk\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Poedit 3.0\n"
|
|
||||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n"
|
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n"
|
||||||
|
"X-Generator: Poedit 3.4.2\n"
|
||||||
|
|
||||||
#: prefs.js:247
|
#: prefs.js:247
|
||||||
msgid "Show Desktop button height (px)"
|
msgid "Show Desktop button height (px)"
|
||||||
msgstr "Výška tlačidla plochy (px)"
|
msgstr "Výška tlačidla zobrazenia plochy (px)"
|
||||||
|
|
||||||
#: prefs.js:247
|
#: prefs.js:247
|
||||||
msgid "Show Desktop button width (px)"
|
msgid "Show Desktop button width (px)"
|
||||||
msgstr "Šírka tlačidla plochy (px)"
|
msgstr "Šírka tlačidla zobrazenia plochy (px)"
|
||||||
|
|
||||||
#: prefs.js:259
|
#: prefs.js:259
|
||||||
msgid "Unavailable when gnome-shell top panel is present"
|
msgid "Unavailable when gnome-shell top panel is present"
|
||||||
@@ -78,11 +79,11 @@ msgstr "Zoznam úloh"
|
|||||||
|
|
||||||
#: prefs.js:416
|
#: prefs.js:416
|
||||||
msgid "Date menu"
|
msgid "Date menu"
|
||||||
msgstr "Menu hodín"
|
msgstr "Ponuka dátumu"
|
||||||
|
|
||||||
#: prefs.js:417
|
#: prefs.js:417
|
||||||
msgid "System menu"
|
msgid "System menu"
|
||||||
msgstr "Systémové menu"
|
msgstr "Ponuka systému"
|
||||||
|
|
||||||
#: prefs.js:418
|
#: prefs.js:418
|
||||||
msgid "Left box"
|
msgid "Left box"
|
||||||
@@ -118,19 +119,19 @@ msgstr "Vyberte umiestnenie prvku"
|
|||||||
|
|
||||||
#: prefs.js:443
|
#: prefs.js:443
|
||||||
msgid "Stacked to top"
|
msgid "Stacked to top"
|
||||||
msgstr "Zvrchu"
|
msgstr "Hore"
|
||||||
|
|
||||||
#: prefs.js:443
|
#: prefs.js:443
|
||||||
msgid "Stacked to left"
|
msgid "Stacked to left"
|
||||||
msgstr "Zľava"
|
msgstr "Vľavo"
|
||||||
|
|
||||||
#: prefs.js:444
|
#: prefs.js:444
|
||||||
msgid "Stacked to bottom"
|
msgid "Stacked to bottom"
|
||||||
msgstr "Zdola"
|
msgstr "Dole"
|
||||||
|
|
||||||
#: prefs.js:444
|
#: prefs.js:444
|
||||||
msgid "Stacked to right"
|
msgid "Stacked to right"
|
||||||
msgstr "Sprava"
|
msgstr "Vpravo"
|
||||||
|
|
||||||
#: prefs.js:445
|
#: prefs.js:445
|
||||||
msgid "Centered"
|
msgid "Centered"
|
||||||
@@ -158,7 +159,7 @@ msgstr "Otvoriť ikonu"
|
|||||||
|
|
||||||
#: prefs.js:577
|
#: prefs.js:577
|
||||||
msgid "Show Desktop options"
|
msgid "Show Desktop options"
|
||||||
msgstr "Nastavenia plochy"
|
msgstr "Nastavenia tlačidla zobrazenia plochy"
|
||||||
|
|
||||||
#: prefs.js:661
|
#: prefs.js:661
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -168,7 +169,7 @@ msgstr "%d ms"
|
|||||||
#: prefs.js:666
|
#: prefs.js:666
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%d °"
|
msgid "%d °"
|
||||||
msgstr ""
|
msgstr "%d °"
|
||||||
|
|
||||||
#: prefs.js:671 prefs.js:676
|
#: prefs.js:671 prefs.js:676
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
@@ -190,7 +191,7 @@ msgstr[2] "%d ikon"
|
|||||||
|
|
||||||
#: prefs.js:782
|
#: prefs.js:782
|
||||||
msgid "Running Indicator Options"
|
msgid "Running Indicator Options"
|
||||||
msgstr "Možnosti indikátora bežiacich aplikácií"
|
msgstr "Možnosti indikátora činnosti"
|
||||||
|
|
||||||
#: prefs.js:928
|
#: prefs.js:928
|
||||||
msgid "Primary monitor"
|
msgid "Primary monitor"
|
||||||
@@ -234,7 +235,7 @@ msgstr "Nastavenie ďalších klávesových skratiek"
|
|||||||
|
|
||||||
#: prefs.js:1898
|
#: prefs.js:1898
|
||||||
msgid "Secondary Menu Options"
|
msgid "Secondary Menu Options"
|
||||||
msgstr "Nastavenie sekundárneho menu"
|
msgstr "Možnosti sekundárnej ponuky"
|
||||||
|
|
||||||
#: prefs.js:1924 ui/SettingsFineTune.ui.h:22
|
#: prefs.js:1924 ui/SettingsFineTune.ui.h:22
|
||||||
msgid "Advanced Options"
|
msgid "Advanced Options"
|
||||||
@@ -327,7 +328,7 @@ msgstr "Zatiaľ nedostupné!"
|
|||||||
|
|
||||||
#: ui/BoxAdvancedOptions.ui.h:2
|
#: ui/BoxAdvancedOptions.ui.h:2
|
||||||
msgid "For real..."
|
msgid "For real..."
|
||||||
msgstr ""
|
msgstr "Naozaj..."
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:1
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:1
|
||||||
msgid "Animation type"
|
msgid "Animation type"
|
||||||
@@ -343,7 +344,7 @@ msgstr "Vlnenie"
|
|||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:4
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:4
|
||||||
msgid "Plank"
|
msgid "Plank"
|
||||||
msgstr "Prekrytie"
|
msgstr "Doska"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:5
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:5
|
||||||
msgid "Duration"
|
msgid "Duration"
|
||||||
@@ -351,7 +352,7 @@ msgstr "Trvanie"
|
|||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:6
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:6
|
||||||
msgid "Rotation"
|
msgid "Rotation"
|
||||||
msgstr "Otočenie"
|
msgstr "Otáčanie"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:7
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:7
|
||||||
msgid "Travel"
|
msgid "Travel"
|
||||||
@@ -363,11 +364,11 @@ msgstr "Priblíženie"
|
|||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:9
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:9
|
||||||
msgid "Convexity"
|
msgid "Convexity"
|
||||||
msgstr "Vypuklina"
|
msgstr "Vypuklosť"
|
||||||
|
|
||||||
#: ui/BoxAnimateAppIconHoverOptions.ui.h:10
|
#: ui/BoxAnimateAppIconHoverOptions.ui.h:10
|
||||||
msgid "Extent"
|
msgid "Extent"
|
||||||
msgstr "Rozšírenie"
|
msgstr "Rozsah"
|
||||||
|
|
||||||
#: ui/BoxDotOptions.ui.h:1
|
#: ui/BoxDotOptions.ui.h:1
|
||||||
msgid "Highlight focused application"
|
msgid "Highlight focused application"
|
||||||
@@ -453,7 +454,7 @@ msgstr "0"
|
|||||||
|
|
||||||
#: ui/BoxDynamicOpacityOptions.ui.h:9
|
#: ui/BoxDynamicOpacityOptions.ui.h:9
|
||||||
msgid "Opacity change animation duration (ms)"
|
msgid "Opacity change animation duration (ms)"
|
||||||
msgstr "Rýchlosť animácie zobrazenia/skrytia panela"
|
msgstr "Dĺžka animácie zmeny priehľadnosti (ms)"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:1
|
#: ui/BoxGroupAppsOptions.ui.h:1
|
||||||
msgid "Font size (px) of the application titles (default is 14)"
|
msgid "Font size (px) of the application titles (default is 14)"
|
||||||
@@ -492,16 +493,12 @@ msgid "Font color of the minimized application titles"
|
|||||||
msgstr "Farba písma názvu minimalizovanej aplikácie"
|
msgstr "Farba písma názvu minimalizovanej aplikácie"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:10
|
#: ui/BoxGroupAppsOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Maximum width (px) of the application titles"
|
msgid "Maximum width (px) of the application titles"
|
||||||
msgstr "Maximálna šírka (px) pre názov aplikácie (predvolená: 160)"
|
msgstr "Maximálna šírka (px) pre názov aplikácie"
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:11
|
#: ui/BoxGroupAppsOptions.ui.h:11
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 160)"
|
msgid "(default is 160)"
|
||||||
msgstr ""
|
msgstr "(predvolená je 160)"
|
||||||
"Dĺžka panela (%)\n"
|
|
||||||
"(predvolená: 100)"
|
|
||||||
|
|
||||||
#: ui/BoxGroupAppsOptions.ui.h:12
|
#: ui/BoxGroupAppsOptions.ui.h:12
|
||||||
msgid "Use a fixed width for the application titles"
|
msgid "Use a fixed width for the application titles"
|
||||||
@@ -525,9 +522,8 @@ msgid "Use the favorite icons as application launchers"
|
|||||||
msgstr "Použiť ikony obľúbených aplikácií ako spúšťače"
|
msgstr "Použiť ikony obľúbených aplikácií ako spúšťače"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:1
|
#: ui/BoxIntellihideOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Only hide the panel when it is obstructed by windows"
|
msgid "Only hide the panel when it is obstructed by windows"
|
||||||
msgstr "Skryť panel iba pri prekrytí oknami aplikácií "
|
msgstr "Skryť panel len vtedy, keď je prekrytý oknami"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:2
|
#: ui/BoxIntellihideOptions.ui.h:2
|
||||||
msgid "The panel hides from"
|
msgid "The panel hides from"
|
||||||
@@ -550,14 +546,12 @@ msgid "Allow the panel to be revealed while in fullscreen mode"
|
|||||||
msgstr "Povoliť zobrazenie panela v režime celej obrazovky"
|
msgstr "Povoliť zobrazenie panela v režime celej obrazovky"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:10
|
#: ui/BoxIntellihideOptions.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Only hide secondary panels"
|
msgid "Only hide secondary panels"
|
||||||
msgstr "Skryť iba sekundárne panely (pre viac monitorov)"
|
msgstr "Skryť iba sekundárne panely"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:11
|
#: ui/BoxIntellihideOptions.ui.h:11
|
||||||
#, fuzzy
|
|
||||||
msgid "(requires multi-monitors option)"
|
msgid "(requires multi-monitors option)"
|
||||||
msgstr "Skryť iba sekundárne panely (pre viac monitorov)"
|
msgstr "(vyžaduje možnosť viacerých monitorov)"
|
||||||
|
|
||||||
#: ui/BoxIntellihideOptions.ui.h:12
|
#: ui/BoxIntellihideOptions.ui.h:12
|
||||||
msgid "Keyboard shortcut to reveal and hold the panel"
|
msgid "Keyboard shortcut to reveal and hold the panel"
|
||||||
@@ -585,7 +579,7 @@ msgstr "Oneskorenie pred skrytím pri štarte (ms)"
|
|||||||
|
|
||||||
#: ui/BoxMiddleClickOptions.ui.h:1
|
#: ui/BoxMiddleClickOptions.ui.h:1
|
||||||
msgid "Shift+Click action"
|
msgid "Shift+Click action"
|
||||||
msgstr "Akcia pri Shift+Click"
|
msgstr "Akcia pri Shift+Kliknutie"
|
||||||
|
|
||||||
#: ui/BoxMiddleClickOptions.ui.h:2
|
#: ui/BoxMiddleClickOptions.ui.h:2
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -640,7 +634,7 @@ msgstr "Shift + prostredné tlačidlo myši."
|
|||||||
|
|
||||||
#: ui/BoxOverlayShortcut.ui.h:1
|
#: ui/BoxOverlayShortcut.ui.h:1
|
||||||
msgid "Hotkeys prefix"
|
msgid "Hotkeys prefix"
|
||||||
msgstr "Skratka"
|
msgstr "Predpona klávesových skratiek"
|
||||||
|
|
||||||
#: ui/BoxOverlayShortcut.ui.h:2
|
#: ui/BoxOverlayShortcut.ui.h:2
|
||||||
msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
|
msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
|
||||||
@@ -686,7 +680,7 @@ msgstr "Skratka pre zobrazenie prehľadu na 2 sekundy"
|
|||||||
|
|
||||||
#: ui/BoxOverlayShortcut.ui.h:13
|
#: ui/BoxOverlayShortcut.ui.h:13
|
||||||
msgid "e.g. <Super>q"
|
msgid "e.g. <Super>q"
|
||||||
msgstr "napr: <Super>q"
|
msgstr "napr. <Super>q"
|
||||||
|
|
||||||
#: ui/BoxOverlayShortcut.ui.h:14
|
#: ui/BoxOverlayShortcut.ui.h:14
|
||||||
msgid "Show window previews on hotkey"
|
msgid "Show window previews on hotkey"
|
||||||
@@ -735,16 +729,15 @@ msgstr ""
|
|||||||
|
|
||||||
#: ui/BoxSecondaryMenuOptions.ui.h:1
|
#: ui/BoxSecondaryMenuOptions.ui.h:1
|
||||||
msgid "Integrate <i>AppMenu</i> items"
|
msgid "Integrate <i>AppMenu</i> items"
|
||||||
msgstr "Zobraziť položky menu <i>aplikácie</i>"
|
msgstr "Integrovať položky <i>ponuky aplikácií</i>"
|
||||||
|
|
||||||
#: ui/BoxSecondaryMenuOptions.ui.h:2
|
#: ui/BoxSecondaryMenuOptions.ui.h:2
|
||||||
msgid "<i>Show Details</i> menu item"
|
msgid "<i>Show Details</i> menu item"
|
||||||
msgstr "Zobraziť menu <i>Detail</i>"
|
msgstr "Položka ponuky <i>Zobraziť podrobnosti</i>"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:1
|
#: ui/BoxShowApplicationsOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Show Applications icon"
|
msgid "Show Applications icon"
|
||||||
msgstr "Zobraziť ikonu <i>aplikácií</i>"
|
msgstr "Zobraziť ikonu aplikácií"
|
||||||
|
|
||||||
#: ui/BoxShowApplicationsOptions.ui.h:2
|
#: ui/BoxShowApplicationsOptions.ui.h:2
|
||||||
msgid "Show Applications icon side padding (px)"
|
msgid "Show Applications icon side padding (px)"
|
||||||
@@ -756,7 +749,7 @@ msgstr "Zmeniť správanie klávesu Esc a vrátiť sa na plochu"
|
|||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:1
|
#: ui/BoxShowDesktopOptions.ui.h:1
|
||||||
msgid "Override Show Desktop line color"
|
msgid "Override Show Desktop line color"
|
||||||
msgstr "Vlastná farba deliacej čiary plochy"
|
msgstr "Prepísať farbu čiary tlačidla zobrazenia plochy"
|
||||||
|
|
||||||
#: ui/BoxShowDesktopOptions.ui.h:2
|
#: ui/BoxShowDesktopOptions.ui.h:2
|
||||||
msgid "Reveal the desktop when hovering the Show Desktop button"
|
msgid "Reveal the desktop when hovering the Show Desktop button"
|
||||||
@@ -771,22 +764,20 @@ msgid "Fade duration (ms)"
|
|||||||
msgstr "Skryť po (ms)"
|
msgstr "Skryť po (ms)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:1
|
#: ui/BoxWindowPreviewOptions.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Time (ms) before showing"
|
msgid "Time (ms) before showing"
|
||||||
msgstr "Pauza (ms) pred zobrazením náhľadu (predvolená: 400)"
|
msgstr "Čas (ms) pred zobrazením"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:2
|
#: ui/BoxWindowPreviewOptions.ui.h:2
|
||||||
msgid "(400 is default)"
|
msgid "(400 is default)"
|
||||||
msgstr ""
|
msgstr "(400 is predvolené)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:3
|
#: ui/BoxWindowPreviewOptions.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "Time (ms) before hiding"
|
msgid "Time (ms) before hiding"
|
||||||
msgstr "Pauza (ms) pred skrytím náhľadu (predvolená: 100)"
|
msgstr "Čas (ms) pred skrytím"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:4
|
#: ui/BoxWindowPreviewOptions.ui.h:4
|
||||||
msgid "(100 is default)"
|
msgid "(100 is default)"
|
||||||
msgstr ""
|
msgstr "(100 is predvolené)"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:5
|
#: ui/BoxWindowPreviewOptions.ui.h:5
|
||||||
msgid "Immediate on application icon click"
|
msgid "Immediate on application icon click"
|
||||||
@@ -909,10 +900,10 @@ msgid "Use custom opacity for the previews background"
|
|||||||
msgstr "Použiť vlastné nastavenie priehľadnosti náhľadov"
|
msgstr "Použiť vlastné nastavenie priehľadnosti náhľadov"
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:35
|
#: ui/BoxWindowPreviewOptions.ui.h:35
|
||||||
#, fuzzy
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"If disabled, the previews background have the same opacity as the panel."
|
"If disabled, the previews background have the same opacity as the panel."
|
||||||
msgstr "Pri vypnutí sa použije hodnota priehľadnosti panela"
|
msgstr ""
|
||||||
|
"Ak je vypnuté, pozadie náhľadov bude mať rovnakú nepriehľadnosť ako panel."
|
||||||
|
|
||||||
#: ui/BoxWindowPreviewOptions.ui.h:36
|
#: ui/BoxWindowPreviewOptions.ui.h:36
|
||||||
msgid "Close button and header position"
|
msgid "Close button and header position"
|
||||||
@@ -979,25 +970,23 @@ msgstr "Všetky okna, okrem aktívneho, majú rovnaké nastavenie priehľadnosti
|
|||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:1
|
#: ui/SettingsAbout.ui.h:1
|
||||||
msgid "Info"
|
msgid "Info"
|
||||||
msgstr ""
|
msgstr "Informácie"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:2
|
#: ui/SettingsAbout.ui.h:2
|
||||||
#, fuzzy
|
|
||||||
msgid "Version"
|
msgid "Version"
|
||||||
msgstr "verzia: "
|
msgstr "Verzia"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:3
|
#: ui/SettingsAbout.ui.h:3
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr ""
|
msgstr "Zdroj"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:4
|
#: ui/SettingsAbout.ui.h:4
|
||||||
msgid "GitHub"
|
msgid "GitHub"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:5
|
#: ui/SettingsAbout.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "Export and Import"
|
msgid "Export and Import"
|
||||||
msgstr "Export a import nastavení"
|
msgstr "Export a import"
|
||||||
|
|
||||||
#: ui/SettingsAbout.ui.h:6
|
#: ui/SettingsAbout.ui.h:6
|
||||||
msgid "Export and import settings"
|
msgid "Export and import settings"
|
||||||
@@ -1042,13 +1031,12 @@ msgid "Toggle windows"
|
|||||||
msgstr "Prepínanie okien"
|
msgstr "Prepínanie okien"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:10
|
#: ui/SettingsAction.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Scroll action"
|
msgid "Scroll action"
|
||||||
msgstr "Akcia kolieska myši"
|
msgstr "Akcia kolieska myši"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:11
|
#: ui/SettingsAction.ui.h:11
|
||||||
msgid "Scroll panel action"
|
msgid "Scroll panel action"
|
||||||
msgstr "Akcia panelu pri skrolovaní"
|
msgstr "Akcia kolieska myši na paneli"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:12
|
#: ui/SettingsAction.ui.h:12
|
||||||
msgid "Behavior when mouse scrolling over the panel."
|
msgid "Behavior when mouse scrolling over the panel."
|
||||||
@@ -1072,7 +1060,7 @@ msgstr "Upraviť hlasitosť"
|
|||||||
|
|
||||||
#: ui/SettingsAction.ui.h:17
|
#: ui/SettingsAction.ui.h:17
|
||||||
msgid "Scroll icon action"
|
msgid "Scroll icon action"
|
||||||
msgstr "Akcia kolieska myši"
|
msgstr "Akcia kolieska myši na ikone"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:18
|
#: ui/SettingsAction.ui.h:18
|
||||||
msgid "Behavior when mouse scrolling over an application icon."
|
msgid "Behavior when mouse scrolling over an application icon."
|
||||||
@@ -1083,9 +1071,8 @@ msgid "Same as panel"
|
|||||||
msgstr "Rovnaké ako panel"
|
msgstr "Rovnaké ako panel"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:20
|
#: ui/SettingsAction.ui.h:20
|
||||||
#, fuzzy
|
|
||||||
msgid "Hotkey overlay"
|
msgid "Hotkey overlay"
|
||||||
msgstr "Zobraziť číslo"
|
msgstr "Klávesové skratky"
|
||||||
|
|
||||||
#: ui/SettingsAction.ui.h:21
|
#: ui/SettingsAction.ui.h:21
|
||||||
msgid "Use hotkeys to activate apps"
|
msgid "Use hotkeys to activate apps"
|
||||||
@@ -1100,9 +1087,8 @@ msgstr ""
|
|||||||
"použiť v kombinácií s Shift a Ctrl."
|
"použiť v kombinácií s Shift a Ctrl."
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:1
|
#: ui/SettingsBehavior.ui.h:1
|
||||||
#, fuzzy
|
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Nezoskupené aplikácie"
|
msgstr "Aplikácie"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:2
|
#: ui/SettingsBehavior.ui.h:2
|
||||||
msgid "Show favorite applications"
|
msgid "Show favorite applications"
|
||||||
@@ -1118,7 +1104,7 @@ msgstr "Zobraziť bežiace aplikácie"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:5
|
#: ui/SettingsBehavior.ui.h:5
|
||||||
msgid "Show <i>AppMenu</i> button"
|
msgid "Show <i>AppMenu</i> button"
|
||||||
msgstr "Zobraziť tlačidlo aplikácií"
|
msgstr "Zobraziť tlačidlo <i>ponuky aplikácií</i>"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:6
|
#: ui/SettingsBehavior.ui.h:6
|
||||||
msgid "Ungroup applications"
|
msgid "Ungroup applications"
|
||||||
@@ -1126,7 +1112,7 @@ msgstr "Nezoskupené aplikácie"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:7
|
#: ui/SettingsBehavior.ui.h:7
|
||||||
msgid "Show notification counter badge"
|
msgid "Show notification counter badge"
|
||||||
msgstr ""
|
msgstr "Zobraziť znak počítadla oznámení"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:8
|
#: ui/SettingsBehavior.ui.h:8
|
||||||
msgid "Show window previews on hover"
|
msgid "Show window previews on hover"
|
||||||
@@ -1137,9 +1123,8 @@ msgid "Show tooltip on hover"
|
|||||||
msgstr "Zobraziť tip okna pri podržaní myši"
|
msgstr "Zobraziť tip okna pri podržaní myši"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:10
|
#: ui/SettingsBehavior.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Isolate"
|
msgid "Isolate"
|
||||||
msgstr "Oddeliť monitory"
|
msgstr "Oddeliť"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:11
|
#: ui/SettingsBehavior.ui.h:11
|
||||||
msgid "Isolate Workspaces"
|
msgid "Isolate Workspaces"
|
||||||
@@ -1151,7 +1136,7 @@ msgstr "Oddeliť monitory"
|
|||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:13
|
#: ui/SettingsBehavior.ui.h:13
|
||||||
msgid "Overview"
|
msgid "Overview"
|
||||||
msgstr ""
|
msgstr "Prehľad"
|
||||||
|
|
||||||
#: ui/SettingsBehavior.ui.h:14
|
#: ui/SettingsBehavior.ui.h:14
|
||||||
msgid "Click empty space to close overview"
|
msgid "Click empty space to close overview"
|
||||||
@@ -1163,59 +1148,43 @@ msgstr "Vypnúť zobrazenie prehľadu po štarte"
|
|||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:1
|
#: ui/SettingsFineTune.ui.h:1
|
||||||
msgid "Font size"
|
msgid "Font size"
|
||||||
msgstr ""
|
msgstr "Veľkosť písma"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:2
|
#: ui/SettingsFineTune.ui.h:2
|
||||||
msgid "Tray Font Size"
|
msgid "Tray Font Size"
|
||||||
msgstr ""
|
msgstr "Veľkosť písma systémového bloku"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:3
|
#: ui/SettingsFineTune.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "(0 = theme default)"
|
msgid "(0 = theme default)"
|
||||||
msgstr ""
|
msgstr "(0 = predvolené témou)"
|
||||||
"Veľkosť písma stavovej oblasti\n"
|
|
||||||
"(0 = určená motívom)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:4
|
#: ui/SettingsFineTune.ui.h:4
|
||||||
#, fuzzy
|
|
||||||
msgid "LeftBox Font Size"
|
msgid "LeftBox Font Size"
|
||||||
msgstr ""
|
msgstr "Veľkosť písma ľavého bloku"
|
||||||
"Veľkosť písma ľavého bloku\n"
|
|
||||||
"(0 = určená motívom)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:5
|
#: ui/SettingsFineTune.ui.h:5
|
||||||
msgid "Padding"
|
msgid "Padding"
|
||||||
msgstr ""
|
msgstr "Odsadenie"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:6
|
#: ui/SettingsFineTune.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Tray Item Padding"
|
msgid "Tray Item Padding"
|
||||||
msgstr ""
|
msgstr "Odsadenie položky v systémovom bloku"
|
||||||
"Odsadenie položiek v systémovej oblasti\n"
|
|
||||||
"(-1 = určené motívom)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:7
|
#: ui/SettingsFineTune.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "(-1 = theme default)"
|
msgid "(-1 = theme default)"
|
||||||
msgstr ""
|
msgstr "(-1 = predvolené témou)"
|
||||||
"Odsadenie v ľavom bloku\n"
|
|
||||||
"(-1 = určené motívom)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:8
|
#: ui/SettingsFineTune.ui.h:8
|
||||||
#, fuzzy
|
|
||||||
msgid "Status Icon Padding"
|
msgid "Status Icon Padding"
|
||||||
msgstr ""
|
msgstr "Odsadenie stavových ikon"
|
||||||
"Odsadenie medzi stavovými ikonami\n"
|
|
||||||
"(-1 = určené motívom)"
|
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:9
|
#: ui/SettingsFineTune.ui.h:9
|
||||||
msgid "LeftBox Padding"
|
msgid "LeftBox Padding"
|
||||||
msgstr ""
|
msgstr "Odsadenie ľavého bloku"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:10
|
#: ui/SettingsFineTune.ui.h:10
|
||||||
#, fuzzy
|
|
||||||
msgid "Animate"
|
msgid "Animate"
|
||||||
msgstr "Typ animácie"
|
msgstr "Animovať"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:11
|
#: ui/SettingsFineTune.ui.h:11
|
||||||
msgid "Animate switching applications"
|
msgid "Animate switching applications"
|
||||||
@@ -1227,48 +1196,43 @@ msgstr "Animovať vytváranie nových okien"
|
|||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:13
|
#: ui/SettingsFineTune.ui.h:13
|
||||||
msgid "Gnome functionality"
|
msgid "Gnome functionality"
|
||||||
msgstr ""
|
msgstr "Funkcionalita Gnome"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:14
|
#: ui/SettingsFineTune.ui.h:14
|
||||||
#, fuzzy
|
|
||||||
msgid "Keep original gnome-shell dash"
|
msgid "Keep original gnome-shell dash"
|
||||||
msgstr "Ponechať pôvodný 'gnome-shell dash' (prehľad úloh)"
|
msgstr "Ponechať pôvodný gnome-shell dash"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:15
|
#: ui/SettingsFineTune.ui.h:15
|
||||||
msgid "(overview)"
|
msgid "(overview)"
|
||||||
msgstr ""
|
msgstr "(prehľad)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:16
|
#: ui/SettingsFineTune.ui.h:16
|
||||||
msgid "Keep original gnome-shell top panel"
|
msgid "Keep original gnome-shell top panel"
|
||||||
msgstr "Ponechať pôvodný horný panel gnome-shell"
|
msgstr "Ponechať pôvodný horný panel gnome-shell"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:17
|
#: ui/SettingsFineTune.ui.h:17
|
||||||
#, fuzzy
|
|
||||||
msgid "Activate panel menu buttons on click only"
|
msgid "Activate panel menu buttons on click only"
|
||||||
msgstr "Aktivovať tlačidlá na paneli iba po stlačení (napr. menu hodín)"
|
msgstr "Aktivovať tlačidlá ponuky na paneli iba pri kliknutí"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:18
|
#: ui/SettingsFineTune.ui.h:18
|
||||||
#, fuzzy
|
|
||||||
msgid "(e.g. date menu)"
|
msgid "(e.g. date menu)"
|
||||||
msgstr "Menu hodín"
|
msgstr "(napr. ponuka s dátumom)"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:19
|
#: ui/SettingsFineTune.ui.h:19
|
||||||
msgid "Force Activities hot corner on primary monitor"
|
msgid "Force Activities hot corner on primary monitor"
|
||||||
msgstr "Vynútiť aktívny roh na primárnom monitore"
|
msgstr "Vynútiť aktívny roh na primárnom monitore"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:20
|
#: ui/SettingsFineTune.ui.h:20
|
||||||
#, fuzzy
|
|
||||||
msgid "App icon secondary menu"
|
msgid "App icon secondary menu"
|
||||||
msgstr "Nastavenie pravého kliknutia na ikonu aplikácie"
|
msgstr "Sekundárna ponuka ikony aplikácie"
|
||||||
|
|
||||||
#: ui/SettingsFineTune.ui.h:21
|
#: ui/SettingsFineTune.ui.h:21
|
||||||
#, fuzzy
|
|
||||||
msgid "(right-click menu)"
|
msgid "(right-click menu)"
|
||||||
msgstr "Nastavenie pravého kliknutia na ikonu aplikácie"
|
msgstr "(ponuka pravého tlačidla myši)"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:1
|
#: ui/SettingsPosition.ui.h:1
|
||||||
msgid "Panel"
|
msgid "Panel"
|
||||||
msgstr ""
|
msgstr "Panel"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:2
|
#: ui/SettingsPosition.ui.h:2
|
||||||
msgid "Display the main panel on"
|
msgid "Display the main panel on"
|
||||||
@@ -1287,14 +1251,12 @@ msgid "Hide and reveal the panel according to preferences"
|
|||||||
msgstr "Zobraziť/skryť panel podľa nastavení"
|
msgstr "Zobraziť/skryť panel podľa nastavení"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:6
|
#: ui/SettingsPosition.ui.h:6
|
||||||
#, fuzzy
|
|
||||||
msgid "Order and Position on monitors"
|
msgid "Order and Position on monitors"
|
||||||
msgstr "Poradie a pozícia na monitore"
|
msgstr "Poradie a pozícia na monitoroch"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:7
|
#: ui/SettingsPosition.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "Monitor"
|
msgid "Monitor"
|
||||||
msgstr "Monitor "
|
msgstr "Monitor"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:8
|
#: ui/SettingsPosition.ui.h:8
|
||||||
msgid "Apply changes to all monitors"
|
msgid "Apply changes to all monitors"
|
||||||
@@ -1305,90 +1267,65 @@ msgid "Panel screen position"
|
|||||||
msgstr "Pozícia panela na obrazovke"
|
msgstr "Pozícia panela na obrazovke"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:14
|
#: ui/SettingsPosition.ui.h:14
|
||||||
#, fuzzy
|
|
||||||
msgid "Panel thickness"
|
msgid "Panel thickness"
|
||||||
msgstr ""
|
msgstr "Šírka panela"
|
||||||
"Šírka panela\n"
|
|
||||||
"(predvolená: 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:15
|
#: ui/SettingsPosition.ui.h:15
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 48)"
|
msgid "(default is 48)"
|
||||||
msgstr ""
|
msgstr "(predvolená je 48)"
|
||||||
"Šírka panela\n"
|
|
||||||
"(predvolená: 48)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:17
|
#: ui/SettingsPosition.ui.h:17
|
||||||
#, fuzzy, no-c-format
|
#, no-c-format
|
||||||
msgid "Panel length (%)"
|
msgid "Panel length (%)"
|
||||||
msgstr ""
|
msgstr "Dĺžka panela (%)"
|
||||||
"Dĺžka panela (%)\n"
|
|
||||||
"(predvolená: 100)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:18
|
#: ui/SettingsPosition.ui.h:18
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 100)"
|
msgid "(default is 100)"
|
||||||
msgstr ""
|
msgstr "(predvolená je 100)"
|
||||||
"Dĺžka panela (%)\n"
|
|
||||||
"(predvolená: 100)"
|
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:19
|
#: ui/SettingsPosition.ui.h:19
|
||||||
msgid "Anchor"
|
msgid "Anchor"
|
||||||
msgstr "Ukotvenie"
|
msgstr "Ukotvenie"
|
||||||
|
|
||||||
#: ui/SettingsPosition.ui.h:23
|
#: ui/SettingsPosition.ui.h:23
|
||||||
#, fuzzy
|
|
||||||
msgid "Taskbar Display"
|
msgid "Taskbar Display"
|
||||||
msgstr "Zoznam úloh"
|
msgstr "Zobrazenie panela úloh"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:1
|
#: ui/SettingsStyle.ui.h:1
|
||||||
msgid "AppIcon style"
|
msgid "AppIcon style"
|
||||||
msgstr ""
|
msgstr "Štýl ikony aplikácií"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:2
|
#: ui/SettingsStyle.ui.h:2
|
||||||
#, fuzzy
|
|
||||||
msgid "App Icon Margin"
|
msgid "App Icon Margin"
|
||||||
msgstr ""
|
msgstr "Rozostup ikon aplikácií"
|
||||||
"Rozostup ikon aplikácií\n"
|
|
||||||
"(predvolený: 8)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:3
|
#: ui/SettingsStyle.ui.h:3
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 8)"
|
msgid "(default is 8)"
|
||||||
msgstr ""
|
msgstr "(predvolené je 8)"
|
||||||
"Rozostup ikon aplikácií\n"
|
|
||||||
"(predvolený: 8)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:4
|
#: ui/SettingsStyle.ui.h:4
|
||||||
#, fuzzy
|
|
||||||
msgid "App Icon Padding"
|
msgid "App Icon Padding"
|
||||||
msgstr ""
|
msgstr "Odsadenie ikon aplikácií"
|
||||||
"Odsadenie ikon aplikácií\n"
|
|
||||||
"(predvolené: 4)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:5
|
#: ui/SettingsStyle.ui.h:5
|
||||||
#, fuzzy
|
|
||||||
msgid "(default is 4)"
|
msgid "(default is 4)"
|
||||||
msgstr ""
|
msgstr "(predvolené je 4)"
|
||||||
"Odsadenie ikon aplikácií\n"
|
|
||||||
"(predvolené: 4)"
|
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:6
|
#: ui/SettingsStyle.ui.h:6
|
||||||
msgid "Animate hovering app icons"
|
msgid "Animate hovering app icons"
|
||||||
msgstr "Animovať prepínanie medzi ikonami aplikácií"
|
msgstr "Animovať prepínanie medzi ikonami aplikácií"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:7
|
#: ui/SettingsStyle.ui.h:7
|
||||||
#, fuzzy
|
|
||||||
msgid "Running indicator"
|
msgid "Running indicator"
|
||||||
msgstr "Pozícia indikátora"
|
msgstr "Indikátor činnosti"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:8
|
#: ui/SettingsStyle.ui.h:8
|
||||||
msgid "Running indicator position"
|
msgid "Running indicator position"
|
||||||
msgstr "Pozícia indikátora"
|
msgstr "Pozícia indikátora činnosti"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:13
|
#: ui/SettingsStyle.ui.h:13
|
||||||
msgid "Running indicator style (Focused app)"
|
msgid "Running indicator style (Focused app)"
|
||||||
msgstr "Štýl indikátora bežiacich aplikácií (na popredí)"
|
msgstr "Štýl indikátora bežiacich aplikácií (na popredí)činnosti"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:14
|
#: ui/SettingsStyle.ui.h:14
|
||||||
msgid "Dots"
|
msgid "Dots"
|
||||||
@@ -1404,7 +1341,7 @@ msgstr "Čiarky"
|
|||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:17
|
#: ui/SettingsStyle.ui.h:17
|
||||||
msgid "Segmented"
|
msgid "Segmented"
|
||||||
msgstr "Segmenty"
|
msgstr "Segmentované"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:18
|
#: ui/SettingsStyle.ui.h:18
|
||||||
msgid "Solid"
|
msgid "Solid"
|
||||||
@@ -1423,18 +1360,16 @@ msgid "Running indicator style (Unfocused apps)"
|
|||||||
msgstr "Štýl indikátora bežiacich aplikácií (na pozadí)"
|
msgstr "Štýl indikátora bežiacich aplikácií (na pozadí)"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:22
|
#: ui/SettingsStyle.ui.h:22
|
||||||
#, fuzzy
|
|
||||||
msgid "Panel style"
|
msgid "Panel style"
|
||||||
msgstr "Inteligentné skrývanie (Intellihide)"
|
msgstr "Štýl panelu"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:23
|
#: ui/SettingsStyle.ui.h:23
|
||||||
#, fuzzy
|
|
||||||
msgid "Override panel theme background color"
|
msgid "Override panel theme background color"
|
||||||
msgstr "Vlastná farba pozadia panela (ignorovať motív) "
|
msgstr "Prepísať farbu pozadia témy panela"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:24
|
#: ui/SettingsStyle.ui.h:24
|
||||||
msgid "Override panel theme background opacity"
|
msgid "Override panel theme background opacity"
|
||||||
msgstr "Vlastná priehľadnosť panela (ignorovať motív)"
|
msgstr "Prepísať nepriehľadnosť pozadia témy panela"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:26
|
#: ui/SettingsStyle.ui.h:26
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
@@ -1450,9 +1385,8 @@ msgid "Change opacity when a window gets close to the panel"
|
|||||||
msgstr "Zmeniť priehľadnosť pri priblížení okna"
|
msgstr "Zmeniť priehľadnosť pri priblížení okna"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:30
|
#: ui/SettingsStyle.ui.h:30
|
||||||
#, fuzzy
|
|
||||||
msgid "Override panel theme gradient"
|
msgid "Override panel theme gradient"
|
||||||
msgstr "Vlastné nastavenie farebného prechodu panela (ignorovať motív) "
|
msgstr "Prepísať gradient témy panela"
|
||||||
|
|
||||||
#: ui/SettingsStyle.ui.h:32
|
#: ui/SettingsStyle.ui.h:32
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
|
|||||||
100
prefs.js
100
prefs.js
@@ -21,22 +21,17 @@
|
|||||||
* Some code was also adapted from the upstream Gnome Shell source code.
|
* Some code was also adapted from the upstream Gnome Shell source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const GdkPixbuf = imports.gi.GdkPixbuf;
|
import GdkPixbuf from 'gi://GdkPixbuf';
|
||||||
const Gio = imports.gi.Gio;
|
import Gio from 'gi://Gio';
|
||||||
const GLib = imports.gi.GLib;
|
import GLib from 'gi://GLib';
|
||||||
const GObject = imports.gi.GObject;
|
import GObject from 'gi://GObject';
|
||||||
const Gtk = imports.gi.Gtk;
|
import Gtk from 'gi://Gtk';
|
||||||
const Adw = imports.gi.Adw;
|
import Gdk from 'gi://Gdk';
|
||||||
const Gdk = imports.gi.Gdk;
|
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as PanelSettings from './panelSettings.js';
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
import * as Pos from './panelPositions.js';
|
||||||
const Gettext = imports.gettext.domain(Me.metadata['gettext-domain']);
|
|
||||||
const _ = Gettext.gettext;
|
import {ExtensionPreferences, gettext as _, ngettext} from 'resource:///org/gnome/Shell/Extensions/js/extensions/prefs.js';
|
||||||
const N_ = function(e) { return e };
|
|
||||||
const PanelSettings = Me.imports.panelSettings;
|
|
||||||
const Pos = Me.imports.panelPositions;
|
|
||||||
|
|
||||||
const SCALE_UPDATE_TIMEOUT = 500;
|
const SCALE_UPDATE_TIMEOUT = 500;
|
||||||
const DEFAULT_PANEL_SIZES = [ 96, 64, 48, 32, 24 ];
|
const DEFAULT_PANEL_SIZES = [ 96, 64, 48, 32, 24 ];
|
||||||
@@ -146,51 +141,55 @@ function checkHotkeyPrefix(settings) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mergeObjects(main, bck) {
|
function mergeObjects(main, bck) {
|
||||||
for (var prop in bck) {
|
for (const prop in bck) {
|
||||||
if (!main.hasOwnProperty(prop) && bck.hasOwnProperty(prop)) {
|
if (!main.hasOwnProperty(prop) && bck.hasOwnProperty(prop)) {
|
||||||
main[prop] = bck[prop];
|
main[prop] = bck[prop];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return main;
|
return main;
|
||||||
};
|
}
|
||||||
|
|
||||||
const Preferences = class {
|
const Preferences = class {
|
||||||
|
|
||||||
constructor(window) {
|
constructor(window, settings, gnomeInterfaceSettings, path) {
|
||||||
this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.zorin-taskbar');
|
// this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.zorin-taskbar');
|
||||||
this._gnomeInterfaceSettings = ExtensionUtils.getSettings('org.gnome.desktop.interface');
|
|
||||||
this._rtl = (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL);
|
this._rtl = (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL);
|
||||||
this._builder = new Gtk.Builder();
|
this._builder = new Gtk.Builder();
|
||||||
this._builder.set_scope(new BuilderScope(this));
|
this._builder.set_scope(new BuilderScope(this));
|
||||||
this._builder.set_translation_domain(Me.metadata['gettext-domain']);
|
this._settings = settings;
|
||||||
|
this._gnomeInterfaceSettings = gnomeInterfaceSettings;
|
||||||
|
this._path = path;
|
||||||
|
|
||||||
|
this._metadata = ExtensionPreferences.lookupByURL(import.meta.url).metadata;
|
||||||
|
this._builder.set_translation_domain(this._metadata['gettext-domain']);
|
||||||
|
|
||||||
window.set_search_enabled(true);
|
window.set_search_enabled(true);
|
||||||
|
|
||||||
// dialogs
|
// dialogs
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxShowDesktopOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxShowDesktopOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxDynamicOpacityOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxDynamicOpacityOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxIntellihideOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxIntellihideOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxShowDateMenuOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxShowDateMenuOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxWindowPreviewOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxWindowPreviewOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxGroupAppsOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxGroupAppsOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxMiddleClickOptions.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxMiddleClickOptions.ui');
|
||||||
this._builder.add_from_file(Me.path + '/ui/BoxOverlayShortcut.ui');
|
this._builder.add_from_file(this._path + '/ui/BoxOverlayShortcut.ui');
|
||||||
|
|
||||||
// pages
|
// pages
|
||||||
this._builder.add_from_file(Me.path + '/ui/SettingsStyle.ui');
|
this._builder.add_from_file(this._path + '/ui/SettingsStyle.ui');
|
||||||
let pageStyle = this._builder.get_object('style');
|
let pageStyle = this._builder.get_object('style');
|
||||||
window.add(pageStyle);
|
window.add(pageStyle);
|
||||||
|
|
||||||
this._builder.add_from_file(Me.path + '/ui/SettingsPosition.ui');
|
this._builder.add_from_file(this._path + '/ui/SettingsPosition.ui');
|
||||||
let pagePosition = this._builder.get_object('position');
|
let pagePosition = this._builder.get_object('position');
|
||||||
window.add(pagePosition);
|
window.add(pagePosition);
|
||||||
|
|
||||||
this._builder.add_from_file(Me.path + '/ui/SettingsBehavior.ui');
|
this._builder.add_from_file(this._path + '/ui/SettingsBehavior.ui');
|
||||||
let pageBehavior = this._builder.get_object('behavior');
|
let pageBehavior = this._builder.get_object('behavior');
|
||||||
window.add(pageBehavior);
|
window.add(pageBehavior);
|
||||||
|
|
||||||
this._builder.add_from_file(Me.path + '/ui/SettingsAction.ui');
|
this._builder.add_from_file(this._path + '/ui/SettingsAction.ui');
|
||||||
let pageAction = this._builder.get_object('action');
|
let pageAction = this._builder.get_object('action');
|
||||||
window.add(pageAction);
|
window.add(pageAction);
|
||||||
|
|
||||||
@@ -627,6 +626,12 @@ const Preferences = class {
|
|||||||
|
|
||||||
this._updateWidgetSettingsForMonitor(this._currentMonitorIndex);
|
this._updateWidgetSettingsForMonitor(this._currentMonitorIndex);
|
||||||
|
|
||||||
|
//panel style
|
||||||
|
this._settings.bind('floating-rounded-theme',
|
||||||
|
this._builder.get_object('floating_rounded_theme_switch'),
|
||||||
|
'active',
|
||||||
|
Gio.SettingsBindFlags.DEFAULT);
|
||||||
|
|
||||||
//dynamic opacity
|
//dynamic opacity
|
||||||
this._settings.bind('trans-use-custom-opacity',
|
this._settings.bind('trans-use-custom-opacity',
|
||||||
this._builder.get_object('trans_opacity_override_switch'),
|
this._builder.get_object('trans_opacity_override_switch'),
|
||||||
@@ -700,11 +705,6 @@ const Preferences = class {
|
|||||||
'sensitive',
|
'sensitive',
|
||||||
Gio.SettingsBindFlags.DEFAULT);
|
Gio.SettingsBindFlags.DEFAULT);
|
||||||
|
|
||||||
this._settings.bind('intellihide-floating-rounded-theme',
|
|
||||||
this._builder.get_object('intellihide_floating_rounded_theme_switch'),
|
|
||||||
'active',
|
|
||||||
Gio.SettingsBindFlags.DEFAULT);
|
|
||||||
|
|
||||||
this._settings.bind('intellihide-hide-from-windows',
|
this._settings.bind('intellihide-hide-from-windows',
|
||||||
this._builder.get_object('intellihide_window_hide_switch'),
|
this._builder.get_object('intellihide_window_hide_switch'),
|
||||||
'active',
|
'active',
|
||||||
@@ -757,7 +757,6 @@ const Preferences = class {
|
|||||||
let dialog = this._createPreferencesDialog(_('Intellihide options'), box, () =>
|
let dialog = this._createPreferencesDialog(_('Intellihide options'), box, () =>
|
||||||
{
|
{
|
||||||
// restore default settings
|
// restore default settings
|
||||||
this._settings.set_value('intellihide-floating-rounded-theme', this._settings.get_default_value('intellihide-floating-rounded-theme'));
|
|
||||||
this._settings.set_value('intellihide-hide-from-windows', this._settings.get_default_value('intellihide-hide-from-windows'));
|
this._settings.set_value('intellihide-hide-from-windows', this._settings.get_default_value('intellihide-hide-from-windows'));
|
||||||
this._settings.set_value('intellihide-behaviour', this._settings.get_default_value('intellihide-behaviour'));
|
this._settings.set_value('intellihide-behaviour', this._settings.get_default_value('intellihide-behaviour'));
|
||||||
this._settings.set_value('intellihide-use-pressure', this._settings.get_default_value('intellihide-use-pressure'));
|
this._settings.set_value('intellihide-use-pressure', this._settings.get_default_value('intellihide-use-pressure'));
|
||||||
@@ -1053,7 +1052,7 @@ const Preferences = class {
|
|||||||
{objectName: 'panel_length_scale', valueName: '', range: LENGTH_MARKS }
|
{objectName: 'panel_length_scale', valueName: '', range: LENGTH_MARKS }
|
||||||
];
|
];
|
||||||
|
|
||||||
for(var idx in sizeScales) {
|
for(const idx in sizeScales) {
|
||||||
let size_scale = this._builder.get_object(sizeScales[idx].objectName);
|
let size_scale = this._builder.get_object(sizeScales[idx].objectName);
|
||||||
let range = sizeScales[idx].range;
|
let range = sizeScales[idx].range;
|
||||||
size_scale.set_range(range[range.length - 1], range[0]);
|
size_scale.set_range(range[range.length - 1], range[0]);
|
||||||
@@ -1142,9 +1141,9 @@ const BuilderScope = GObject.registerClass({
|
|||||||
panel_size_scale_value_changed_cb(scale) {
|
panel_size_scale_value_changed_cb(scale) {
|
||||||
// Avoid settings the size continuously
|
// Avoid settings the size continuously
|
||||||
if (this._preferences._panel_size_timeout > 0)
|
if (this._preferences._panel_size_timeout > 0)
|
||||||
Mainloop.source_remove(this._preferences._panel_size_timeout);
|
GLib.Source.remove(this._preferences._panel_size_timeout);
|
||||||
|
|
||||||
this._preferences._panel_size_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, (() => {
|
this._preferences._panel_size_timeout = GLib.timeout_add(GLib.PRIORITY_DEFAULT, SCALE_UPDATE_TIMEOUT, () => {
|
||||||
const value = scale.get_value();
|
const value = scale.get_value();
|
||||||
const monitorSync = this._preferences._settings.get_boolean('panel-element-positions-monitors-sync');
|
const monitorSync = this._preferences._settings.get_boolean('panel-element-positions-monitors-sync');
|
||||||
const monitorsToSetFor = monitorSync ? this._preferences.monitors : [this._preferences._currentMonitorIndex];
|
const monitorsToSetFor = monitorSync ? this._preferences.monitors : [this._preferences._currentMonitorIndex];
|
||||||
@@ -1154,17 +1153,18 @@ const BuilderScope = GObject.registerClass({
|
|||||||
|
|
||||||
this._preferences._panel_size_timeout = 0;
|
this._preferences._panel_size_timeout = 0;
|
||||||
return GLib.SOURCE_REMOVE;
|
return GLib.SOURCE_REMOVE;
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function init() {
|
export default class ZorinTaskbarPreferences extends ExtensionPreferences {
|
||||||
ExtensionUtils.initTranslations();
|
fillPreferencesWindow(window) {
|
||||||
}
|
window._settings = this.getSettings('org.gnome.shell.extensions.zorin-taskbar');
|
||||||
|
window._gnomeInterfaceSettings = this.getSettings('org.gnome.desktop.interface');
|
||||||
|
|
||||||
function fillPreferencesWindow(window) {
|
// use default width or window
|
||||||
// use default width or window
|
window.set_default_size(0, 625);
|
||||||
window.set_default_size(0, 625);
|
|
||||||
|
|
||||||
let preferences = new Preferences(window);
|
let preferences = new Preferences(window, window._settings, window._gnomeInterfaceSettings, this.path);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
39
progress.js
39
progress.js
@@ -20,19 +20,22 @@
|
|||||||
* and code from the Dash to Panel extension
|
* and code from the Dash to Panel extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import Cairo from 'cairo';
|
||||||
const Gio = imports.gi.Gio;
|
import Gio from 'gi://Gio';
|
||||||
const Cairo = imports.cairo;
|
import Clutter from 'gi://Clutter';
|
||||||
const Clutter = imports.gi.Clutter;
|
import Pango from 'gi://Pango';
|
||||||
const Pango = imports.gi.Pango;
|
import St from 'gi://St';
|
||||||
const St = imports.gi.St;
|
import * as Utils from './utils.js';
|
||||||
const Signals = imports.signals;
|
import {SETTINGS} from './extension.js';
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
|
import {EventEmitter} from 'resource:///org/gnome/shell/misc/signals.js';
|
||||||
|
|
||||||
|
|
||||||
var ProgressManager = class {
|
export const ProgressManager = class extends EventEmitter {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
this._entriesByDBusName = {};
|
this._entriesByDBusName = {};
|
||||||
|
|
||||||
this._launcher_entry_dbus_signal_id =
|
this._launcher_entry_dbus_signal_id =
|
||||||
@@ -163,11 +166,12 @@ var ProgressManager = class {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Signals.addSignalMethods(ProgressManager.prototype);
|
|
||||||
|
|
||||||
class AppProgress {
|
export class AppProgress extends EventEmitter {
|
||||||
|
|
||||||
constructor(dbusName, appId, properties) {
|
constructor(dbusName, appId, properties) {
|
||||||
|
super();
|
||||||
|
|
||||||
this._dbusName = dbusName;
|
this._dbusName = dbusName;
|
||||||
this._appId = appId;
|
this._appId = appId;
|
||||||
this._count = 0;
|
this._count = 0;
|
||||||
@@ -263,11 +267,11 @@ class AppProgress {
|
|||||||
if (property == 'count') {
|
if (property == 'count') {
|
||||||
this.setCount(other[property].get_int64());
|
this.setCount(other[property].get_int64());
|
||||||
} else if (property == 'count-visible') {
|
} else if (property == 'count-visible') {
|
||||||
this.setCountVisible(Me.settings.get_boolean('progress-show-count') && other[property].get_boolean());
|
this.setCountVisible(SETTINGS.get_boolean('progress-show-count') && other[property].get_boolean());
|
||||||
} else if (property == 'progress') {
|
} else if (property == 'progress') {
|
||||||
this.setProgress(other[property].get_double());
|
this.setProgress(other[property].get_double());
|
||||||
} else if (property == 'progress-visible') {
|
} else if (property == 'progress-visible') {
|
||||||
this.setProgressVisible(Me.settings.get_boolean('progress-show-bar') && other[property].get_boolean());
|
this.setProgressVisible(SETTINGS.get_boolean('progress-show-bar') && other[property].get_boolean());
|
||||||
} else if (property == 'urgent') {
|
} else if (property == 'urgent') {
|
||||||
this.setUrgent(other[property].get_boolean());
|
this.setUrgent(other[property].get_boolean());
|
||||||
} else {
|
} else {
|
||||||
@@ -277,11 +281,10 @@ class AppProgress {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
Signals.addSignalMethods(AppProgress.prototype);
|
|
||||||
|
|
||||||
|
|
||||||
var ProgressIndicator = class {
|
export const ProgressIndicator = class {
|
||||||
|
|
||||||
constructor(source, progressManager) {
|
constructor(source, progressManager) {
|
||||||
this._source = source;
|
this._source = source;
|
||||||
@@ -406,13 +409,13 @@ var ProgressIndicator = class {
|
|||||||
if (hasColor)
|
if (hasColor)
|
||||||
this._progressbar_background = color
|
this._progressbar_background = color
|
||||||
else
|
else
|
||||||
this._progressbar_background = new Clutter.Color({red: 204, green: 204, blue: 204, alpha: 255});
|
this._progressbar_background = new Utils.ColorUtils.Color({red: 204, green: 204, blue: 204, alpha: 255});
|
||||||
|
|
||||||
[hasColor, color] = node.lookup_color('-progress-bar-border', false);
|
[hasColor, color] = node.lookup_color('-progress-bar-border', false);
|
||||||
if (hasColor)
|
if (hasColor)
|
||||||
this._progressbar_border = color;
|
this._progressbar_border = color;
|
||||||
else
|
else
|
||||||
this._progressbar_border = new Clutter.Color({red: 230, green: 230, blue: 230, alpha: 255});
|
this._progressbar_border = new Utils.ColorUtils.Color({red: 230, green: 230, blue: 230, alpha: 255});
|
||||||
|
|
||||||
this._updateProgressOverlay();
|
this._updateProgressOverlay();
|
||||||
}
|
}
|
||||||
|
|||||||
17
proximity.js
17
proximity.js
@@ -18,13 +18,12 @@
|
|||||||
* This file is based on code from the Dash to Panel extension
|
* This file is based on code from the Dash to Panel extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Meta = imports.gi.Meta;
|
import Meta from 'gi://Meta';
|
||||||
|
import Mtk from 'gi://Mtk';
|
||||||
|
|
||||||
const Layout = imports.ui.layout;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const Main = imports.ui.main;
|
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Utils from './utils.js';
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
|
|
||||||
//timeout intervals
|
//timeout intervals
|
||||||
const MIN_UPDATE_MS = 200;
|
const MIN_UPDATE_MS = 200;
|
||||||
@@ -32,13 +31,13 @@ const MIN_UPDATE_MS = 200;
|
|||||||
//timeout names
|
//timeout names
|
||||||
const T1 = 'limitUpdateTimeout';
|
const T1 = 'limitUpdateTimeout';
|
||||||
|
|
||||||
var Mode = {
|
export const Mode = {
|
||||||
ALL_WINDOWS: 0,
|
ALL_WINDOWS: 0,
|
||||||
FOCUSED_WINDOWS: 1,
|
FOCUSED_WINDOWS: 1,
|
||||||
MAXIMIZED_WINDOWS: 2
|
MAXIMIZED_WINDOWS: 2
|
||||||
};
|
};
|
||||||
|
|
||||||
class ProximityWatch {
|
export class ProximityWatch {
|
||||||
|
|
||||||
constructor(actor, monitorIndex, mode, xThreshold, yThreshold, handler) {
|
constructor(actor, monitorIndex, mode, xThreshold, yThreshold, handler) {
|
||||||
this.actor = actor;
|
this.actor = actor;
|
||||||
@@ -60,7 +59,7 @@ class ProximityWatch {
|
|||||||
_updateWatchRect() {
|
_updateWatchRect() {
|
||||||
let [actorX, actorY] = this.actor.get_position();
|
let [actorX, actorY] = this.actor.get_position();
|
||||||
|
|
||||||
this.rect = new Meta.Rectangle({
|
this.rect = new Mtk.Rectangle({
|
||||||
x: actorX - this.threshold[0],
|
x: actorX - this.threshold[0],
|
||||||
y: actorY - this.threshold[1],
|
y: actorY - this.threshold[1],
|
||||||
width: this.actor.width + this.threshold[0] * 2,
|
width: this.actor.width + this.threshold[0] * 2,
|
||||||
@@ -69,7 +68,7 @@ class ProximityWatch {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var ProximityManager = class {
|
export const ProximityManager = class {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this._counter = 1;
|
this._counter = 1;
|
||||||
|
|||||||
@@ -189,10 +189,10 @@
|
|||||||
<summary>Keybinding toggle intellihide</summary>
|
<summary>Keybinding toggle intellihide</summary>
|
||||||
<description>Keybinding to reveal the panel while in intellihide mode</description>
|
<description>Keybinding to reveal the panel while in intellihide mode</description>
|
||||||
</key>
|
</key>
|
||||||
<key type="b" name="intellihide-floating-rounded-theme">
|
<key type="b" name="floating-rounded-theme">
|
||||||
<default>true</default>
|
<default>false</default>
|
||||||
<summary>Floating rounded theme</summary>
|
<summary>Floating rounded theme</summary>
|
||||||
<description>Display the panel with a floating rounded theme while in intellihide mode</description>
|
<description>Display the panel with a floating rounded theme</description>
|
||||||
</key>
|
</key>
|
||||||
<key type="as" name="panel-context-menu-commands">
|
<key type="as" name="panel-context-menu-commands">
|
||||||
<default>[]</default>
|
<default>[]</default>
|
||||||
|
|||||||
@@ -22,34 +22,39 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#zorintaskbarTaskbar .dash-item-container > StWidget,
|
#zorintaskbarTaskbar .dash-item-container > StWidget,
|
||||||
.zorintaskbarMainPanel .show-apps {
|
.zorintaskbarMainPanel .dash-item-container .show-apps {
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zorintaskbarScrollview .app-well-app .overview-icon,
|
|
||||||
.zorintaskbarMainPanel .show-apps .overview-icon {
|
|
||||||
background: none;
|
|
||||||
border: none;
|
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zorintaskbarScrollview .app-well-app .overview-label {
|
#zorintaskbarScrollview .overview-tile,
|
||||||
/* must match TITLE_RIGHT_PADDING in apppicons.js */
|
.zorintaskbarMainPanel .overview-tile {
|
||||||
padding-right: 8px;
|
background: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zorintaskbarScrollview .app-well-app .favorite {
|
#zorintaskbarScrollview .overview-tile .overview-label {
|
||||||
|
/* must match TITLE_RIGHT_PADDING in apppicons.js */
|
||||||
|
padding-right: 8px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zorintaskbarMainPanel .dash-item-container .show-apps .overview-icon {
|
||||||
|
color: #FFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zorintaskbarTaskbar .dash-item-container .overview-tile:hover,
|
||||||
|
#zorintaskbarTaskbar .dash-item-container .overview-tile .dtp-container .overview-icon,
|
||||||
|
#zorintaskbarScrollview .overview-tile:hover .dtp-container.animate-appicon-hover,
|
||||||
|
.zorintaskbarMainPanel .dash-item-container .show-apps:hover .overview-icon {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#zorintaskbarScrollview .overview-tile .favorite {
|
||||||
/*background-color: rgba(80, 150, 255, 0.4);*/
|
/*background-color: rgba(80, 150, 255, 0.4);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
#zorintaskbarScrollview .app-well-app-running-dot {
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#zorintaskbarTaskbar .scrollview-fade {
|
#zorintaskbarTaskbar .scrollview-fade {
|
||||||
background-gradient-end: rgba(0, 0, 0, 0);
|
background-gradient-end: rgba(0, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
.zorintaskbarSecondaryMenu {
|
.zorintaskbarSecondaryMenu {
|
||||||
@@ -57,13 +62,13 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.zorintaskbarMainPanel.vertical .panel-button {
|
.zorintaskbarMainPanel.vertical .panel-button {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zorintaskbarMainPanel.vertical .panel-button.vertical *,
|
.zorintaskbarMainPanel.vertical .panel-button.vertical *,
|
||||||
.zorintaskbarMainPanel.vertical .panel-button.clock-display * {
|
.zorintaskbarMainPanel.vertical .panel-button.clock-display * {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zorintaskbarMainPanel.vertical .panel-button > *,
|
.zorintaskbarMainPanel.vertical .panel-button > *,
|
||||||
@@ -71,7 +76,7 @@
|
|||||||
.zorintaskbarMainPanel.vertical .panel-button.vertical .system-status-icon,
|
.zorintaskbarMainPanel.vertical .panel-button.vertical .system-status-icon,
|
||||||
.zorintaskbarMainPanel.vertical .panel-button.clock-display > *,
|
.zorintaskbarMainPanel.vertical .panel-button.clock-display > *,
|
||||||
.zorintaskbarMainPanel.vertical .panel-button.clock-display .clock {
|
.zorintaskbarMainPanel.vertical .panel-button.clock-display .clock {
|
||||||
padding: 8px 0;
|
padding: 8px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.zorintaskbarMainPanel.vertical .panel-button.clock-display {
|
.zorintaskbarMainPanel.vertical .panel-button.clock-display {
|
||||||
@@ -100,17 +105,28 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.popup-menu.panel-menu {
|
.popup-menu.panel-menu {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#panel #panelLeft, #panel #panelCenter {
|
#panel #panelLeft, #panel #panelCenter {
|
||||||
spacing: 0px;
|
spacing: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#panelBox.floating {
|
#panelBox.floating {
|
||||||
padding: 8px;
|
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
#panelBox.floating.top {
|
||||||
|
padding: 8px 8px 0 8px;
|
||||||
|
}
|
||||||
|
#panelBox.floating.right {
|
||||||
|
padding: 8px 8px 8px 0;
|
||||||
|
}
|
||||||
|
#panelBox.floating.bottom {
|
||||||
|
padding: 0 8px 8px 8px;
|
||||||
|
}
|
||||||
|
#panelBox.floating.left {
|
||||||
|
padding: 8px 0 8px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
#panelBox.floating #panel,
|
#panelBox.floating #panel,
|
||||||
#panelBox.floating .panel-button,
|
#panelBox.floating .panel-button,
|
||||||
@@ -129,15 +145,14 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#zorintaskbarScrollview .notification-badge {
|
#zorintaskbarScrollview .notification-badge {
|
||||||
background-color: rgba(255,0,0,0.8);
|
background-color: rgba(255,0,0,0.8);
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#zorintaskbarScrollview .progress-bar {
|
#zorintaskbarScrollview .progress-bar {
|
||||||
/* Customization of the progress bar style, e.g.:
|
/* Customization of the progress bar style, e.g.:
|
||||||
-progress-bar-background: rgba(0.8, 0.8, 0.8, 1);
|
-progress-bar-background: rgba(0.8, 0.8, 0.8, 1);
|
||||||
-progress-bar-border: rgba(0.9, 0.9, 0.9, 1);
|
-progress-bar-border: rgba(0.9, 0.9, 0.9, 1); */
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.preview-container,
|
.preview-container,
|
||||||
|
|||||||
147
taskbar.js
147
taskbar.js
@@ -22,45 +22,41 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
import Clutter from 'gi://Clutter';
|
||||||
const Gio = imports.gi.Gio;
|
import Gio from 'gi://Gio';
|
||||||
const GLib = imports.gi.GLib;
|
import GLib from 'gi://GLib';
|
||||||
const GObject = imports.gi.GObject;
|
import GObject from 'gi://GObject';
|
||||||
const Gtk = imports.gi.Gtk;
|
import Graphene from 'gi://Graphene';
|
||||||
const Signals = imports.signals;
|
import Shell from 'gi://Shell';
|
||||||
const Meta = imports.gi.Meta;
|
import St from 'gi://St';
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
|
|
||||||
const SearchController = imports.ui.main.overview._overview._controls._searchController;
|
import * as AppFavorites from 'resource:///org/gnome/shell/ui/appFavorites.js';
|
||||||
const AppDisplay = imports.ui.main.overview._overview._controls.appDisplay;
|
import * as Dash from 'resource:///org/gnome/shell/ui/dash.js';
|
||||||
const AppFavorites = imports.ui.appFavorites;
|
import * as DND from 'resource:///org/gnome/shell/ui/dnd.js';
|
||||||
const Dash = imports.ui.dash;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const DND = imports.ui.dnd;
|
import {EventEmitter} from 'resource:///org/gnome/shell/misc/signals.js';
|
||||||
const IconGrid = imports.ui.iconGrid;
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
|
||||||
const Workspace = imports.ui.workspace;
|
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as AppIcons from './appIcons.js';
|
||||||
const AppIcons = Me.imports.appIcons;
|
import * as PanelManager from './panelManager.js';
|
||||||
const Panel = Me.imports.panel;
|
import * as PanelSettings from './panelSettings.js';
|
||||||
const PanelManager = Me.imports.panelManager;
|
import * as Pos from './panelPositions.js';
|
||||||
const PanelSettings = Me.imports.panelSettings;
|
import * as Utils from './utils.js';
|
||||||
const Pos = Me.imports.panelPositions;
|
import * as WindowPreview from './windowPreview.js';
|
||||||
const Utils = Me.imports.utils;
|
import {SETTINGS} from './extension.js';
|
||||||
const WindowPreview = Me.imports.windowPreview;
|
|
||||||
|
|
||||||
var DASH_ANIMATION_TIME = Dash.DASH_ANIMATION_TIME / (Dash.DASH_ANIMATION_TIME > 1 ? 1000 : 1);
|
const SearchController = Main.overview.searchController;
|
||||||
var DASH_ITEM_HOVER_TIMEOUT = Dash.DASH_ITEM_HOVER_TIMEOUT;
|
|
||||||
var MIN_ICON_SIZE = 4;
|
export const DASH_ANIMATION_TIME = .2; // Dash.DASH_ANIMATION_TIME is now private
|
||||||
var APPICON_MARGIN = 4;
|
const DASH_ITEM_HOVER_TIMEOUT = .3; // Dash.DASH_ITEM_HOVER_TIMEOUT is now private
|
||||||
var APPICON_PADDING = 8;
|
export const MIN_ICON_SIZE = 4;
|
||||||
|
export const APPICON_MARGIN = 4;
|
||||||
|
export const APPICON_PADDING = 8;
|
||||||
|
|
||||||
const T1 = 'ensureAppIconVisibilityTimeout'
|
const T1 = 'ensureAppIconVisibilityTimeout'
|
||||||
const T2 = 'showLabelTimeout'
|
const T2 = 'showLabelTimeout'
|
||||||
const T3 = 'resetHoverTimeout'
|
const T3 = 'resetHoverTimeout'
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extend DashItemContainer
|
* Extend DashItemContainer
|
||||||
*
|
*
|
||||||
@@ -70,9 +66,9 @@ const T3 = 'resetHoverTimeout'
|
|||||||
* thus use this ugly pattern.
|
* thus use this ugly pattern.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function extendDashItemContainer(dashItemContainer) {
|
export function extendDashItemContainer(dashItemContainer) {
|
||||||
dashItemContainer.showLabel = AppIcons.ItemShowLabel;
|
dashItemContainer.showLabel = AppIcons.ItemShowLabel;
|
||||||
};
|
}
|
||||||
|
|
||||||
/* This class is a fork of the upstream DashActor class (ui.dash.js)
|
/* This class is a fork of the upstream DashActor class (ui.dash.js)
|
||||||
*
|
*
|
||||||
@@ -80,7 +76,7 @@ function extendDashItemContainer(dashItemContainer) {
|
|||||||
* - modified chldBox calculations for when 'show-apps-at-top' option is checked
|
* - modified chldBox calculations for when 'show-apps-at-top' option is checked
|
||||||
* - handle horizontal dash
|
* - handle horizontal dash
|
||||||
*/
|
*/
|
||||||
var TaskbarActor = GObject.registerClass({
|
export const TaskbarActor = GObject.registerClass({
|
||||||
}, class TaskbarActor extends St.Widget {
|
}, class TaskbarActor extends St.Widget {
|
||||||
_init(delegate) {
|
_init(delegate) {
|
||||||
this._delegate = delegate;
|
this._delegate = delegate;
|
||||||
@@ -110,7 +106,7 @@ var TaskbarActor = GObject.registerClass({
|
|||||||
|
|
||||||
scrollview.allocate(childBox);
|
scrollview.allocate(childBox);
|
||||||
|
|
||||||
let [value, , upper, , , pageSize] = scrollview[orientation[0] + 'scroll'].adjustment.get_values();
|
let [value, , upper, , , pageSize] = scrollview[orientation[0] + 'adjustment'].get_values();
|
||||||
upper = Math.floor(upper);
|
upper = Math.floor(upper);
|
||||||
scrollview._dtpFadeSize = upper > pageSize ? this._delegate.iconSize : 0;
|
scrollview._dtpFadeSize = upper > pageSize ? this._delegate.iconSize : 0;
|
||||||
|
|
||||||
@@ -161,9 +157,11 @@ var TaskbarActor = GObject.registerClass({
|
|||||||
* - Sync minimization application target position.
|
* - Sync minimization application target position.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
var Taskbar = class {
|
export const Taskbar = class extends EventEmitter {
|
||||||
|
|
||||||
constructor(panel) {
|
constructor(panel) {
|
||||||
|
super();
|
||||||
|
|
||||||
this.dtpPanel = panel;
|
this.dtpPanel = panel;
|
||||||
|
|
||||||
// start at smallest size due to running indicator drawing area expanding but not shrinking
|
// start at smallest size due to running indicator drawing area expanding but not shrinking
|
||||||
@@ -186,12 +184,12 @@ var Taskbar = class {
|
|||||||
|
|
||||||
this._container = new TaskbarActor(this);
|
this._container = new TaskbarActor(this);
|
||||||
this._scrollView = new St.ScrollView({ name: 'zorintaskbarScrollview',
|
this._scrollView = new St.ScrollView({ name: 'zorintaskbarScrollview',
|
||||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
hscrollbar_policy: St.PolicyType.NEVER,
|
||||||
vscrollbar_policy: Gtk.PolicyType.NEVER,
|
vscrollbar_policy: St.PolicyType.NEVER,
|
||||||
enable_mouse_scrolling: true });
|
enable_mouse_scrolling: true });
|
||||||
|
|
||||||
this._scrollView.connect('scroll-event', this._onScrollEvent.bind(this));
|
this._scrollView.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||||
this._scrollView.add_actor(this._box);
|
this._scrollView.add_child(this._box);
|
||||||
|
|
||||||
this._showAppsIconWrapper = panel.showAppsIconWrapper;
|
this._showAppsIconWrapper = panel.showAppsIconWrapper;
|
||||||
this._showAppsIconWrapper.connect('menu-state-changed', (showAppsIconWrapper, opened) => {
|
this._showAppsIconWrapper.connect('menu-state-changed', (showAppsIconWrapper, opened) => {
|
||||||
@@ -215,31 +213,33 @@ var Taskbar = class {
|
|||||||
this._hookUpLabel(this._showAppsIcon, this._showAppsIconWrapper);
|
this._hookUpLabel(this._showAppsIcon, this._showAppsIconWrapper);
|
||||||
|
|
||||||
this._container.add_child(new St.Widget({ width: 0, reactive: false }));
|
this._container.add_child(new St.Widget({ width: 0, reactive: false }));
|
||||||
this._container.add_actor(this._scrollView);
|
this._container.add_child(this._scrollView);
|
||||||
|
|
||||||
let orientation = panel.getOrientation();
|
let orientation = panel.getOrientation();
|
||||||
let fadeStyle = 'background-gradient-direction:' + orientation;
|
let fadeStyle = 'background-gradient-direction:' + orientation;
|
||||||
let fade1 = new St.Widget({ style_class: 'scrollview-fade', reactive: false });
|
let fade1 = new St.Widget({ style_class: 'scrollview-fade', reactive: false });
|
||||||
let fade2 = new St.Widget({ style_class: 'scrollview-fade',
|
let fade2 = new St.Widget({ style_class: 'scrollview-fade',
|
||||||
reactive: false,
|
reactive: false,
|
||||||
pivot_point: new imports.gi.Graphene.Point({ x: .5, y: .5 }),
|
pivot_point: new Graphene.Point({ x: .5, y: .5 }),
|
||||||
rotation_angle_z: 180 });
|
rotation_angle_z: 180 });
|
||||||
|
|
||||||
fade1.set_style(fadeStyle);
|
fade1.set_style(fadeStyle);
|
||||||
fade2.set_style(fadeStyle);
|
fade2.set_style(fadeStyle);
|
||||||
|
|
||||||
this._container.add_actor(fade1);
|
this._container.add_child(fade1);
|
||||||
this._container.add_actor(fade2);
|
this._container.add_child(fade2);
|
||||||
|
|
||||||
this.previewMenu = new WindowPreview.PreviewMenu(panel);
|
this.previewMenu = new WindowPreview.PreviewMenu(panel);
|
||||||
this.previewMenu.enable();
|
this.previewMenu.enable();
|
||||||
|
|
||||||
let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL;
|
let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL;
|
||||||
this.actor = new St.Bin({ child: this._container,
|
this.actor = new St.Bin({
|
||||||
y_align: St.Align.START, x_align:rtl?St.Align.END:St.Align.START
|
child: this._container,
|
||||||
|
y_align: Clutter.ActorAlign.START,
|
||||||
|
x_align: rtl ? Clutter.ActorAlign.END : Clutter.ActorAlign.START
|
||||||
});
|
});
|
||||||
|
|
||||||
let adjustment = this._scrollView[orientation[0] + 'scroll'].adjustment;
|
const adjustment = this._scrollView[orientation[0] + 'adjustment'];
|
||||||
|
|
||||||
this._workId = Main.initializeDeferredWork(this._box, this._redisplay.bind(this));
|
this._workId = Main.initializeDeferredWork(this._box, this._redisplay.bind(this));
|
||||||
|
|
||||||
@@ -269,9 +269,9 @@ var Taskbar = class {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
this._appSystem,
|
this._appSystem,
|
||||||
'app-state-changed',
|
'app-state-changed',
|
||||||
this._queueRedisplay.bind(this)
|
this._queueRedisplay.bind(this)
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
AppFavorites.getAppFavorites(),
|
AppFavorites.getAppFavorites(),
|
||||||
@@ -290,7 +290,7 @@ var Taskbar = class {
|
|||||||
'window-left-monitor'
|
'window-left-monitor'
|
||||||
],
|
],
|
||||||
() => {
|
() => {
|
||||||
if (Me.settings.get_boolean('isolate-monitors')) {
|
if (SETTINGS.get_boolean('isolate-monitors')) {
|
||||||
this._queueRedisplay();
|
this._queueRedisplay();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -317,7 +317,7 @@ var Taskbar = class {
|
|||||||
this._syncShowAppsButtonToggled.bind(this)
|
this._syncShowAppsButtonToggled.bind(this)
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::show-favorites',
|
'changed::show-favorites',
|
||||||
'changed::show-running-apps',
|
'changed::show-running-apps',
|
||||||
@@ -329,7 +329,7 @@ var Taskbar = class {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
'changed::group-apps',
|
'changed::group-apps',
|
||||||
() => {
|
() => {
|
||||||
setAttributes()
|
setAttributes()
|
||||||
@@ -337,7 +337,7 @@ var Taskbar = class {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::group-apps-use-launchers',
|
'changed::group-apps-use-launchers',
|
||||||
'changed::taskbar-locked'
|
'changed::taskbar-locked'
|
||||||
@@ -358,11 +358,11 @@ var Taskbar = class {
|
|||||||
);
|
);
|
||||||
|
|
||||||
let setAttributes = () => {
|
let setAttributes = () => {
|
||||||
this.isGroupApps = Me.settings.get_boolean('group-apps');
|
this.isGroupApps = SETTINGS.get_boolean('group-apps');
|
||||||
this.usingLaunchers = !this.isGroupApps && Me.settings.get_boolean('group-apps-use-launchers');
|
this.usingLaunchers = !this.isGroupApps && SETTINGS.get_boolean('group-apps-use-launchers');
|
||||||
this.showFavorites = Me.settings.get_boolean('show-favorites') &&
|
this.showFavorites = SETTINGS.get_boolean('show-favorites') &&
|
||||||
(this.dtpPanel.isPrimary || Me.settings.get_boolean('show-favorites-all-monitors'))
|
(this.dtpPanel.isPrimary || SETTINGS.get_boolean('show-favorites-all-monitors'))
|
||||||
this.showRunningApps = Me.settings.get_boolean('show-running-apps')
|
this.showRunningApps = SETTINGS.get_boolean('show-running-apps')
|
||||||
this.allowSplitApps = this.usingLaunchers || (!this.isGroupApps && !this.showFavorites)
|
this.allowSplitApps = this.usingLaunchers || (!this.isGroupApps && !this.showFavorites)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -407,7 +407,7 @@ var Taskbar = class {
|
|||||||
|
|
||||||
let adjustment, delta;
|
let adjustment, delta;
|
||||||
|
|
||||||
adjustment = this._scrollView[orientation[0] + 'scroll'].get_adjustment();
|
adjustment = this._scrollView[orientation[0] + 'adjustment'];
|
||||||
|
|
||||||
let increment = adjustment.step_increment;
|
let increment = adjustment.step_increment;
|
||||||
|
|
||||||
@@ -454,7 +454,9 @@ var Taskbar = class {
|
|||||||
if (initial != this.fullScrollView && !this._waitIdleId) {
|
if (initial != this.fullScrollView && !this._waitIdleId) {
|
||||||
this._waitIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
|
this._waitIdleId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
|
||||||
this._getAppIcons().forEach(a => a.updateTitleStyle())
|
this._getAppIcons().forEach(a => a.updateTitleStyle())
|
||||||
this._waitIdleId = 0
|
this._waitIdleId = 0;
|
||||||
|
|
||||||
|
return GLib.SOURCE_REMOVE;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -512,7 +514,7 @@ var Taskbar = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onDragMotion(dragEvent) {
|
_onDragMotion(dragEvent) {
|
||||||
let app = Dash.getAppFromSource(dragEvent.source);
|
let app = Dash.Dash.getAppFromSource(dragEvent.source);
|
||||||
if (app == null)
|
if (app == null)
|
||||||
return DND.DragMotionResult.CONTINUE;
|
return DND.DragMotionResult.CONTINUE;
|
||||||
|
|
||||||
@@ -584,7 +586,7 @@ var Taskbar = class {
|
|||||||
{
|
{
|
||||||
setSizeManually: true,
|
setSizeManually: true,
|
||||||
showLabel: false,
|
showLabel: false,
|
||||||
isDraggable: !Me.settings.get_boolean('taskbar-locked'),
|
isDraggable: !SETTINGS.get_boolean('taskbar-locked'),
|
||||||
},
|
},
|
||||||
this.previewMenu,
|
this.previewMenu,
|
||||||
this.iconAnimator
|
this.iconAnimator
|
||||||
@@ -726,7 +728,7 @@ var Taskbar = class {
|
|||||||
|
|
||||||
_adjustIconSize() {
|
_adjustIconSize() {
|
||||||
const thisMonitorIndex = this.dtpPanel.monitor.index;
|
const thisMonitorIndex = this.dtpPanel.monitor.index;
|
||||||
let panelSize = PanelSettings.getPanelSize(Me.settings, thisMonitorIndex);
|
let panelSize = PanelSettings.getPanelSize(SETTINGS, thisMonitorIndex);
|
||||||
let availSize = panelSize - APPICON_PADDING * 2;
|
let availSize = panelSize - APPICON_PADDING * 2;
|
||||||
let minIconSize = MIN_ICON_SIZE + panelSize % 2;
|
let minIconSize = MIN_ICON_SIZE + panelSize % 2;
|
||||||
|
|
||||||
@@ -958,8 +960,8 @@ var Taskbar = class {
|
|||||||
icon.updateHotkeyNumberOverlay();
|
icon.updateHotkeyNumberOverlay();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (Me.settings.get_boolean('hot-keys') &&
|
if (SETTINGS.get_boolean('hot-keys') &&
|
||||||
Me.settings.get_string('hotkeys-overlay-combo') === 'ALWAYS')
|
SETTINGS.get_string('hotkeys-overlay-combo') === 'ALWAYS')
|
||||||
this.toggleNumberOverlay(true);
|
this.toggleNumberOverlay(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1196,14 +1198,13 @@ var Taskbar = class {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Signals.addSignalMethods(Taskbar.prototype);
|
export const TaskbarItemContainer = GObject.registerClass({
|
||||||
|
|
||||||
var TaskbarItemContainer = GObject.registerClass({
|
|
||||||
|
|
||||||
}, class TaskbarItemContainer extends Dash.DashItemContainer {
|
}, class TaskbarItemContainer extends Dash.DashItemContainer {
|
||||||
|
|
||||||
_init() {
|
_init() {
|
||||||
super._init()
|
super._init()
|
||||||
|
this.x_expand = this.y_expand = false
|
||||||
}
|
}
|
||||||
|
|
||||||
vfunc_allocate(box) {
|
vfunc_allocate(box) {
|
||||||
@@ -1241,7 +1242,7 @@ var TaskbarItemContainer = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var DragPlaceholderItem = GObject.registerClass({
|
const DragPlaceholderItem = GObject.registerClass({
|
||||||
}, class DragPlaceholderItem extends St.Widget {
|
}, class DragPlaceholderItem extends St.Widget {
|
||||||
|
|
||||||
_init(appIcon, iconSize, isVertical) {
|
_init(appIcon, iconSize, isVertical) {
|
||||||
@@ -1255,7 +1256,7 @@ var DragPlaceholderItem = GObject.registerClass({
|
|||||||
height: iconSize
|
height: iconSize
|
||||||
});
|
});
|
||||||
|
|
||||||
this.add_actor(this._clone);
|
this.add_child(this._clone);
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
@@ -1264,7 +1265,7 @@ var DragPlaceholderItem = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function getAppStableSequence(app, monitor) {
|
export function getAppStableSequence(app, monitor) {
|
||||||
let windows = AppIcons.getInterestingWindows(app, monitor);
|
let windows = AppIcons.getInterestingWindows(app, monitor);
|
||||||
|
|
||||||
return windows.reduce((prevWindow, window) => {
|
return windows.reduce((prevWindow, window) => {
|
||||||
@@ -1272,10 +1273,10 @@ function getAppStableSequence(app, monitor) {
|
|||||||
}, Infinity);
|
}, Infinity);
|
||||||
}
|
}
|
||||||
|
|
||||||
function sortWindowsCompareFunction(windowA, windowB) {
|
export function sortWindowsCompareFunction(windowA, windowB) {
|
||||||
return getWindowStableSequence(windowA) - getWindowStableSequence(windowB);
|
return getWindowStableSequence(windowA) - getWindowStableSequence(windowB);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getWindowStableSequence(window) {
|
export function getWindowStableSequence(window) {
|
||||||
return ('_dtpPosition' in window ? window._dtpPosition : window.get_stable_sequence());
|
return ('_dtpPosition' in window ? window._dtpPosition : window.get_stable_sequence());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,21 +18,17 @@
|
|||||||
* This file is based on code from the Dash to Panel extension
|
* This file is based on code from the Dash to Panel extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
import GdkPixbuf from 'gi://GdkPixbuf';
|
||||||
const GdkPixbuf = imports.gi.GdkPixbuf;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const Main = imports.ui.main;
|
import St from 'gi://St';
|
||||||
const Meta = imports.gi.Meta;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const Config = imports.misc.config;
|
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Proximity from './proximity.js';
|
||||||
const Panel = Me.imports.panel;
|
import * as Utils from './utils.js';
|
||||||
const Proximity = Me.imports.proximity;
|
import {SETTINGS} from './extension.js';
|
||||||
const Utils = Me.imports.utils;
|
|
||||||
|
|
||||||
const TRANS_DYNAMIC_DISTANCE = 20;
|
const TRANS_DYNAMIC_DISTANCE = 20;
|
||||||
|
|
||||||
var DynamicTransparency = class {
|
export const DynamicTransparency = class {
|
||||||
|
|
||||||
constructor(dtpPanel) {
|
constructor(dtpPanel) {
|
||||||
this._dtpPanel = dtpPanel;
|
this._dtpPanel = dtpPanel;
|
||||||
@@ -77,7 +73,7 @@ var DynamicTransparency = class {
|
|||||||
() => this._updateAlphaAndSet()
|
() => this._updateAlphaAndSet()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::trans-use-custom-opacity',
|
'changed::trans-use-custom-opacity',
|
||||||
'changed::trans-panel-opacity',
|
'changed::trans-panel-opacity',
|
||||||
@@ -87,7 +83,7 @@ var DynamicTransparency = class {
|
|||||||
() => this._updateAlphaAndSet()
|
() => this._updateAlphaAndSet()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::trans-dynamic-behavior',
|
'changed::trans-dynamic-behavior',
|
||||||
'changed::trans-use-dynamic-opacity'
|
'changed::trans-use-dynamic-opacity'
|
||||||
@@ -100,7 +96,7 @@ var DynamicTransparency = class {
|
|||||||
_updateProximityWatch() {
|
_updateProximityWatch() {
|
||||||
this._proximityManager.removeWatch(this._proximityWatchId);
|
this._proximityManager.removeWatch(this._proximityWatchId);
|
||||||
|
|
||||||
if (Me.settings.get_boolean('trans-use-dynamic-opacity')) {
|
if (SETTINGS.get_boolean('trans-use-dynamic-opacity')) {
|
||||||
let isVertical = this._dtpPanel.checkIfVertical();
|
let isVertical = this._dtpPanel.checkIfVertical();
|
||||||
let threshold = TRANS_DYNAMIC_DISTANCE;
|
let threshold = TRANS_DYNAMIC_DISTANCE;
|
||||||
|
|
||||||
@@ -110,7 +106,7 @@ var DynamicTransparency = class {
|
|||||||
this._proximityWatchId = this._proximityManager.createWatch(
|
this._proximityWatchId = this._proximityManager.createWatch(
|
||||||
this._dtpPanel.panelBox.get_parent(),
|
this._dtpPanel.panelBox.get_parent(),
|
||||||
this._dtpPanel.monitor.index,
|
this._dtpPanel.monitor.index,
|
||||||
Proximity.Mode[Me.settings.get_string('trans-dynamic-behavior')],
|
Proximity.Mode[SETTINGS.get_string('trans-dynamic-behavior')],
|
||||||
isVertical ? threshold : 0,
|
isVertical ? threshold : 0,
|
||||||
isVertical ? 0 : threshold,
|
isVertical ? 0 : threshold,
|
||||||
overlap => {
|
overlap => {
|
||||||
@@ -147,11 +143,11 @@ var DynamicTransparency = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updateAlpha(themeBackground) {
|
_updateAlpha(themeBackground) {
|
||||||
if (this._windowOverlap && !Main.overview.visibleTarget && Me.settings.get_boolean('trans-use-dynamic-opacity')) {
|
if (this._windowOverlap && !Main.overview.visibleTarget && SETTINGS.get_boolean('trans-use-dynamic-opacity')) {
|
||||||
this.alpha = Me.settings.get_double('trans-dynamic-anim-target');
|
this.alpha = SETTINGS.get_double('trans-dynamic-anim-target');
|
||||||
} else {
|
} else {
|
||||||
this.alpha = Me.settings.get_boolean('trans-use-custom-opacity') ?
|
this.alpha = SETTINGS.get_boolean('trans-use-custom-opacity') ?
|
||||||
Me.settings.get_double('trans-panel-opacity') :
|
SETTINGS.get_double('trans-panel-opacity') :
|
||||||
(themeBackground || this._getThemeBackground()).alpha * 0.003921569; // 1 / 255 = 0.003921569
|
(themeBackground || this._getThemeBackground()).alpha * 0.003921569; // 1 / 255 = 0.003921569
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,23 +11,6 @@
|
|||||||
<property name="margin-start">32</property>
|
<property name="margin-start">32</property>
|
||||||
<property name="margin-end">32</property>
|
<property name="margin-end">32</property>
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="AdwPreferencesGroup">
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<object class="AdwActionRow">
|
|
||||||
<property name="title" translatable="yes">Floating rounded theme</property>
|
|
||||||
<child>
|
|
||||||
<object class="GtkSwitch" id="intellihide_floating_rounded_theme_switch">
|
|
||||||
<property name="valign">center</property>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
</object>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwPreferencesGroup">
|
<object class="AdwPreferencesGroup">
|
||||||
|
|
||||||
@@ -107,7 +90,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="AdwActionRow">
|
<object class="AdwActionRow">
|
||||||
<property name="title" translatable="yes">Keyboard shortcut to reveal and hold the panel</property>
|
<property name="title" translatable="yes">Keyboard shortcut to reveal and hold the panel</property>
|
||||||
<property name="subtitle" translatable="yes">Syntax: <Shift>, <Ctrl>, <Alt>, <Super></property>
|
<property name="subtitle" translatable="yes">Syntax: &lt;Shift&gt;, &lt;Ctrl&gt;, &lt;Alt&gt;, &lt;Super&gt;</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkEntry" id="intellihide_toggle_entry">
|
<object class="GtkEntry" id="intellihide_toggle_entry">
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
<child>
|
<child>
|
||||||
<object class="AdwActionRow">
|
<object class="AdwActionRow">
|
||||||
<property name="title" translatable="yes">Shortcut to show the overlay for 2 seconds</property>
|
<property name="title" translatable="yes">Shortcut to show the overlay for 2 seconds</property>
|
||||||
<property name="subtitle" translatable="yes">Syntax: <Shift>, <Ctrl>, <Alt>, <Super></property>
|
<property name="subtitle" translatable="yes">Syntax: &lt;Shift&gt;, &lt;Ctrl&gt;, &lt;Alt&gt;, &lt;Super&gt;</property>
|
||||||
<child>
|
<child>
|
||||||
<object class="GtkEntry" id="shortcut_entry">
|
<object class="GtkEntry" id="shortcut_entry">
|
||||||
<property name="valign">center</property>
|
<property name="valign">center</property>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<requires lib="gtk" version="4.0"/>
|
<requires lib="gtk" version="4.0"/>
|
||||||
|
|
||||||
<object class="AdwPreferencesPage" id="action">
|
<object class="AdwPreferencesPage" id="action">
|
||||||
<property name="title">Action</property>
|
<property name="title" translatable="yes">Action</property>
|
||||||
<property name="icon_name">view-pin-symbolic</property>
|
<property name="icon_name">view-pin-symbolic</property>
|
||||||
|
|
||||||
<!-- group click action -->
|
<!-- group click action -->
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<interface>
|
<interface>
|
||||||
<requires lib="gtk" version="4.0"/>
|
<requires lib="gtk" version="4.0"/>
|
||||||
<object class="AdwPreferencesPage" id="behavior">
|
<object class="AdwPreferencesPage" id="behavior">
|
||||||
<property name="title">Behavior</property>
|
<property name="title" translatable="yes">Behavior</property>
|
||||||
<property name="icon_name">preferences-system-symbolic</property>
|
<property name="icon_name">preferences-system-symbolic</property>
|
||||||
|
|
||||||
<!-- group applications -->
|
<!-- group applications -->
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
<!-- group hover -->
|
<!-- group hover -->
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwPreferencesGroup" id="behavior_group_hover">
|
<object class="AdwPreferencesGroup" id="behavior_group_hover">
|
||||||
<property name="title">Hover</property>
|
<property name="title" translatable="yes">Hover</property>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwActionRow">
|
<object class="AdwActionRow">
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
</object>
|
</object>
|
||||||
|
|
||||||
<object class="AdwPreferencesPage" id="position">
|
<object class="AdwPreferencesPage" id="position">
|
||||||
<property name="title">Position</property>
|
<property name="title" translatable="yes">Position</property>
|
||||||
<property name="icon_name">find-location-symbolic</property>
|
<property name="icon_name">find-location-symbolic</property>
|
||||||
|
|
||||||
<!-- group panel -->
|
<!-- group panel -->
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
</object>
|
</object>
|
||||||
|
|
||||||
<object class="AdwPreferencesPage" id="style">
|
<object class="AdwPreferencesPage" id="style">
|
||||||
<property name="title">Style</property>
|
<property name="title" translatable="yes">Style</property>
|
||||||
<property name="icon_name">applications-graphics-symbolic</property>
|
<property name="icon_name">applications-graphics-symbolic</property>
|
||||||
|
|
||||||
<!-- group panel intellihide -->
|
<!-- group panel intellihide -->
|
||||||
@@ -50,6 +50,17 @@
|
|||||||
<object class="AdwPreferencesGroup" id="style_group_dynamic_trans2">
|
<object class="AdwPreferencesGroup" id="style_group_dynamic_trans2">
|
||||||
<property name="title" translatable="yes">Panel style</property>
|
<property name="title" translatable="yes">Panel style</property>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<object class="AdwActionRow">
|
||||||
|
<property name="title" translatable="yes">Floating rounded theme</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkSwitch" id="floating_rounded_theme_switch">
|
||||||
|
<property name="valign">center</property>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
</child>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<object class="AdwActionRow">
|
<object class="AdwActionRow">
|
||||||
<property name="title" translatable="yes">Override panel theme background opacity</property>
|
<property name="title" translatable="yes">Override panel theme background opacity</property>
|
||||||
|
|||||||
192
utils.js
192
utils.js
@@ -21,27 +21,24 @@
|
|||||||
* Some code was also adapted from the upstream Gnome Shell source code.
|
* Some code was also adapted from the upstream Gnome Shell source code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
import Clutter from 'gi://Clutter';
|
||||||
const GdkPixbuf = imports.gi.GdkPixbuf;
|
import Cogl from 'gi://Cogl';
|
||||||
const Gi = imports._gi;
|
import GdkPixbuf from 'gi://GdkPixbuf';
|
||||||
const Gio = imports.gi.Gio;
|
import Gio from 'gi://Gio';
|
||||||
const GLib = imports.gi.GLib;
|
import GLib from 'gi://GLib';
|
||||||
const Gtk = imports.gi.Gtk;
|
import Graphene from 'gi://Graphene';
|
||||||
const Meta = imports.gi.Meta;
|
import Meta from 'gi://Meta';
|
||||||
const Shell = imports.gi.Shell;
|
import Shell from 'gi://Shell';
|
||||||
const St = imports.gi.St;
|
import St from 'gi://St';
|
||||||
const Mainloop = imports.mainloop;
|
import * as Util from 'resource:///org/gnome/shell/misc/util.js';
|
||||||
const Config = imports.misc.config;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const Util = imports.misc.util;
|
import * as MessageTray from 'resource:///org/gnome/shell/ui/messageTray.js';
|
||||||
const Main = imports.ui.main;
|
|
||||||
const MessageTray = imports.ui.messageTray;
|
|
||||||
|
|
||||||
var TRANSLATION_DOMAIN = imports.misc.extensionUtils.getCurrentExtension().metadata['gettext-domain'];
|
const SCROLL_TIME = Util.SCROLL_TIME / (Util.SCROLL_TIME > 1 ? 1000 : 1);
|
||||||
var SCROLL_TIME = Util.SCROLL_TIME / (Util.SCROLL_TIME > 1 ? 1000 : 1);
|
|
||||||
|
|
||||||
// simplify global signals and function injections handling
|
// simplify global signals and function injections handling
|
||||||
// abstract class
|
// abstract class
|
||||||
var BasicHandler = class {
|
export const BasicHandler = class {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this._storage = new Object();
|
this._storage = new Object();
|
||||||
@@ -101,7 +98,7 @@ var BasicHandler = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Manage global signals
|
// Manage global signals
|
||||||
var GlobalSignalsHandler = class extends BasicHandler {
|
export const GlobalSignalsHandler = class extends BasicHandler {
|
||||||
|
|
||||||
_create(item) {
|
_create(item) {
|
||||||
let handlers = [];
|
let handlers = [];
|
||||||
@@ -134,7 +131,7 @@ var GlobalSignalsHandler = class extends BasicHandler {
|
|||||||
* Manage function injection: both instances and prototype can be overridden
|
* Manage function injection: both instances and prototype can be overridden
|
||||||
* and restored
|
* and restored
|
||||||
*/
|
*/
|
||||||
var InjectionsHandler = class extends BasicHandler {
|
export const InjectionsHandler = class extends BasicHandler {
|
||||||
|
|
||||||
_create(item) {
|
_create(item) {
|
||||||
let object = item[0];
|
let object = item[0];
|
||||||
@@ -157,7 +154,7 @@ var InjectionsHandler = class extends BasicHandler {
|
|||||||
/**
|
/**
|
||||||
* Manage timeouts: the added timeouts have their id reset on completion
|
* Manage timeouts: the added timeouts have their id reset on completion
|
||||||
*/
|
*/
|
||||||
var TimeoutsHandler = class extends BasicHandler {
|
export const TimeoutsHandler = class extends BasicHandler {
|
||||||
|
|
||||||
_create(item) {
|
_create(item) {
|
||||||
let name = item[0];
|
let name = item[0];
|
||||||
@@ -166,9 +163,11 @@ var TimeoutsHandler = class extends BasicHandler {
|
|||||||
|
|
||||||
this._remove(item);
|
this._remove(item);
|
||||||
|
|
||||||
this[name] = Mainloop.timeout_add(delay, () => {
|
this[name] = GLib.timeout_add(GLib.PRIORITY_DEFAULT, delay, () => {
|
||||||
this[name] = 0;
|
this[name] = 0;
|
||||||
timeoutHandler();
|
timeoutHandler();
|
||||||
|
|
||||||
|
return GLib.SOURCE_REMOVE;
|
||||||
});
|
});
|
||||||
|
|
||||||
return [[name]];
|
return [[name]];
|
||||||
@@ -182,7 +181,7 @@ var TimeoutsHandler = class extends BasicHandler {
|
|||||||
let name = item[0];
|
let name = item[0];
|
||||||
|
|
||||||
if (this[name]) {
|
if (this[name]) {
|
||||||
Mainloop.source_remove(this[name]);
|
GLib.Source.remove(this[name]);
|
||||||
this[name] = 0;
|
this[name] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -194,7 +193,7 @@ var TimeoutsHandler = class extends BasicHandler {
|
|||||||
|
|
||||||
// This is wrapper to maintain compatibility with GNOME-Shell 3.30+ as well as
|
// This is wrapper to maintain compatibility with GNOME-Shell 3.30+ as well as
|
||||||
// previous versions.
|
// previous versions.
|
||||||
var DisplayWrapper = {
|
export const DisplayWrapper = {
|
||||||
getScreen() {
|
getScreen() {
|
||||||
return global.screen || global.display;
|
return global.screen || global.display;
|
||||||
},
|
},
|
||||||
@@ -209,7 +208,7 @@ var DisplayWrapper = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let unredirectEnabled = true
|
let unredirectEnabled = true
|
||||||
var setDisplayUnredirect = (enable) => {
|
export const setDisplayUnredirect = (enable) => {
|
||||||
if (enable && !unredirectEnabled)
|
if (enable && !unredirectEnabled)
|
||||||
Meta.enable_unredirect_for_display(global.display);
|
Meta.enable_unredirect_for_display(global.display);
|
||||||
else if (!enable && unredirectEnabled)
|
else if (!enable && unredirectEnabled)
|
||||||
@@ -218,40 +217,34 @@ var setDisplayUnredirect = (enable) => {
|
|||||||
unredirectEnabled = enable;
|
unredirectEnabled = enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
var getSystemMenuInfo = function() {
|
export const getSystemMenuInfo = function() {
|
||||||
if (Config.PACKAGE_VERSION < '43')
|
|
||||||
return {
|
|
||||||
name: 'aggregateMenu',
|
|
||||||
constructor: imports.ui.panel.AggregateMenu
|
|
||||||
};
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
name: 'quickSettings',
|
name: 'quickSettings',
|
||||||
constructor: imports.ui.panel.QuickSettings
|
constructor: Main.panel.statusArea.quickSettings.constructor
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
var getCurrentWorkspace = function() {
|
export const getCurrentWorkspace = function() {
|
||||||
return DisplayWrapper.getWorkspaceManager().get_active_workspace();
|
return DisplayWrapper.getWorkspaceManager().get_active_workspace();
|
||||||
};
|
};
|
||||||
|
|
||||||
var getWorkspaceByIndex = function(index) {
|
export const getWorkspaceByIndex = function(index) {
|
||||||
return DisplayWrapper.getWorkspaceManager().get_workspace_by_index(index);
|
return DisplayWrapper.getWorkspaceManager().get_workspace_by_index(index);
|
||||||
};
|
};
|
||||||
|
|
||||||
var getWorkspaceCount = function() {
|
export const getWorkspaceCount = function() {
|
||||||
return DisplayWrapper.getWorkspaceManager().n_workspaces;
|
return DisplayWrapper.getWorkspaceManager().n_workspaces;
|
||||||
};
|
};
|
||||||
|
|
||||||
var getStageTheme = function() {
|
export const getStageTheme = function() {
|
||||||
return St.ThemeContext.get_for_stage(global.stage);
|
return St.ThemeContext.get_for_stage(global.stage);
|
||||||
};
|
};
|
||||||
|
|
||||||
var getScaleFactor = function() {
|
export const getScaleFactor = function() {
|
||||||
return getStageTheme().scale_factor || 1;
|
return getStageTheme().scale_factor || 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
var findIndex = function(array, predicate) {
|
export const findIndex = function(array, predicate) {
|
||||||
if (array) {
|
if (array) {
|
||||||
if (Array.prototype.findIndex) {
|
if (Array.prototype.findIndex) {
|
||||||
return array.findIndex(predicate);
|
return array.findIndex(predicate);
|
||||||
@@ -267,7 +260,7 @@ var findIndex = function(array, predicate) {
|
|||||||
return -1;
|
return -1;
|
||||||
};
|
};
|
||||||
|
|
||||||
var find = function(array, predicate) {
|
export const find = function(array, predicate) {
|
||||||
let index = findIndex(array, predicate);
|
let index = findIndex(array, predicate);
|
||||||
|
|
||||||
if (index > -1) {
|
if (index > -1) {
|
||||||
@@ -275,8 +268,8 @@ var find = function(array, predicate) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var mergeObjects = function(main, bck) {
|
export const mergeObjects = function(main, bck) {
|
||||||
for (var prop in bck) {
|
for (const prop in bck) {
|
||||||
if (!main.hasOwnProperty(prop) && bck.hasOwnProperty(prop)) {
|
if (!main.hasOwnProperty(prop) && bck.hasOwnProperty(prop)) {
|
||||||
main[prop] = bck[prop];
|
main[prop] = bck[prop];
|
||||||
}
|
}
|
||||||
@@ -285,24 +278,14 @@ var mergeObjects = function(main, bck) {
|
|||||||
return main;
|
return main;
|
||||||
};
|
};
|
||||||
|
|
||||||
var hookVfunc = function(proto, symbol, func) {
|
export const getTrackedActorData = (actor) => {
|
||||||
if (!func) return
|
|
||||||
|
|
||||||
if (Gi.gobject_prototype_symbol && proto[Gi.gobject_prototype_symbol]) {
|
|
||||||
proto[Gi.gobject_prototype_symbol][Gi.hook_up_vfunc_symbol] (symbol, func);
|
|
||||||
} else {
|
|
||||||
proto[Gi.hook_up_vfunc_symbol] (symbol, func);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
var getTrackedActorData = (actor) => {
|
|
||||||
let trackedIndex = Main.layoutManager._findActor(actor);
|
let trackedIndex = Main.layoutManager._findActor(actor);
|
||||||
|
|
||||||
if (trackedIndex >= 0)
|
if (trackedIndex >= 0)
|
||||||
return Main.layoutManager._trackedActors[trackedIndex]
|
return Main.layoutManager._trackedActors[trackedIndex]
|
||||||
}
|
}
|
||||||
|
|
||||||
var getTransformedAllocation = function(actor) {
|
export const getTransformedAllocation = function(actor) {
|
||||||
let extents = actor.get_transformed_extents();
|
let extents = actor.get_transformed_extents();
|
||||||
let topLeft = extents.get_top_left();
|
let topLeft = extents.get_top_left();
|
||||||
let bottomRight = extents.get_bottom_right();
|
let bottomRight = extents.get_bottom_right();
|
||||||
@@ -310,13 +293,13 @@ var getTransformedAllocation = function(actor) {
|
|||||||
return { x1: topLeft.x, x2: bottomRight.x, y1: topLeft.y, y2: bottomRight.y };
|
return { x1: topLeft.x, x2: bottomRight.x, y1: topLeft.y, y2: bottomRight.y };
|
||||||
};
|
};
|
||||||
|
|
||||||
var setClip = function(actor, x, y, width, height) {
|
export const setClip = function(actor, x, y, width, height) {
|
||||||
actor.set_clip(0, 0, width, height);
|
actor.set_clip(0, 0, width, height);
|
||||||
actor.set_position(x, y);
|
actor.set_position(x, y);
|
||||||
actor.set_size(width, height);
|
actor.set_size(width, height);
|
||||||
};
|
};
|
||||||
|
|
||||||
var addKeybinding = function(key, settings, handler, modes) {
|
export const addKeybinding = function(key, settings, handler, modes) {
|
||||||
if (!Main.wm._allowedKeybindings[key]) {
|
if (!Main.wm._allowedKeybindings[key]) {
|
||||||
Main.wm.addKeybinding(
|
Main.wm.addKeybinding(
|
||||||
key,
|
key,
|
||||||
@@ -328,19 +311,19 @@ var addKeybinding = function(key, settings, handler, modes) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var removeKeybinding = function(key) {
|
export const removeKeybinding = function(key) {
|
||||||
if (Main.wm._allowedKeybindings[key]) {
|
if (Main.wm._allowedKeybindings[key]) {
|
||||||
Main.wm.removeKeybinding(key);
|
Main.wm.removeKeybinding(key);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var getrgbColor = function(color) {
|
export const getrgbColor = function(color) {
|
||||||
color = typeof color === 'string' ? Clutter.color_from_string(color)[1] : color;
|
color = typeof color === 'string' ? ColorUtils.color_from_string(color)[1] : color;
|
||||||
|
|
||||||
return { red: color.red, green: color.green, blue: color.blue };
|
return { red: color.red, green: color.green, blue: color.blue };
|
||||||
};
|
};
|
||||||
|
|
||||||
var getrgbaColor = function(color, alpha, offset) {
|
export const getrgbaColor = function(color, alpha, offset) {
|
||||||
if (alpha <= 0) {
|
if (alpha <= 0) {
|
||||||
return 'transparent; ';
|
return 'transparent; ';
|
||||||
}
|
}
|
||||||
@@ -360,14 +343,14 @@ var getrgbaColor = function(color, alpha, offset) {
|
|||||||
return 'rgba(' + rgb.red + ',' + rgb.green + ',' + rgb.blue + ',' + (Math.floor(alpha * 100) * 0.01) + '); ' ;
|
return 'rgba(' + rgb.red + ',' + rgb.green + ',' + rgb.blue + ',' + (Math.floor(alpha * 100) * 0.01) + '); ' ;
|
||||||
};
|
};
|
||||||
|
|
||||||
var checkIfColorIsBright = function(color) {
|
export const checkIfColorIsBright = function(color) {
|
||||||
let rgb = getrgbColor(color);
|
let rgb = getrgbColor(color);
|
||||||
let brightness = 0.2126 * rgb.red + 0.7152 * rgb.green + 0.0722 * rgb.blue;
|
let brightness = 0.2126 * rgb.red + 0.7152 * rgb.green + 0.0722 * rgb.blue;
|
||||||
|
|
||||||
return brightness > 128;
|
return brightness > 128;
|
||||||
};
|
};
|
||||||
|
|
||||||
var getMouseScrollDirection = function(event) {
|
export const getMouseScrollDirection = function(event) {
|
||||||
let direction;
|
let direction;
|
||||||
|
|
||||||
switch (event.get_scroll_direction()) {
|
switch (event.get_scroll_direction()) {
|
||||||
@@ -384,7 +367,7 @@ var getMouseScrollDirection = function(event) {
|
|||||||
return direction;
|
return direction;
|
||||||
};
|
};
|
||||||
|
|
||||||
var checkIfWindowHasTransient = function(window) {
|
export const checkIfWindowHasTransient = function(window) {
|
||||||
let hasTransient;
|
let hasTransient;
|
||||||
|
|
||||||
window.foreach_transient(t => !(hasTransient = true));
|
window.foreach_transient(t => !(hasTransient = true));
|
||||||
@@ -392,7 +375,7 @@ var checkIfWindowHasTransient = function(window) {
|
|||||||
return hasTransient;
|
return hasTransient;
|
||||||
};
|
};
|
||||||
|
|
||||||
var activateSiblingWindow = function(windows, direction, startWindow) {
|
export const activateSiblingWindow = function(windows, direction, startWindow) {
|
||||||
let windowIndex = windows.indexOf(global.display.focus_window);
|
let windowIndex = windows.indexOf(global.display.focus_window);
|
||||||
let nextWindowIndex = windowIndex < 0 ?
|
let nextWindowIndex = windowIndex < 0 ?
|
||||||
startWindow ? windows.indexOf(startWindow) : 0 :
|
startWindow ? windows.indexOf(startWindow) : 0 :
|
||||||
@@ -409,7 +392,7 @@ var activateSiblingWindow = function(windows, direction, startWindow) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
var animateWindowOpacity = function(window, tweenOpts) {
|
export const animateWindowOpacity = function(window, tweenOpts) {
|
||||||
//there currently is a mutter bug with the windowactor opacity, starting with 3.34
|
//there currently is a mutter bug with the windowactor opacity, starting with 3.34
|
||||||
//https://gitlab.gnome.org/GNOME/mutter/issues/836
|
//https://gitlab.gnome.org/GNOME/mutter/issues/836
|
||||||
|
|
||||||
@@ -438,7 +421,7 @@ var animateWindowOpacity = function(window, tweenOpts) {
|
|||||||
animate(window, tweenOpts);
|
animate(window, tweenOpts);
|
||||||
};
|
};
|
||||||
|
|
||||||
var animate = function(actor, options) {
|
export const animate = function(actor, options) {
|
||||||
//the original animations used Tweener instead of Clutter animations, so we
|
//the original animations used Tweener instead of Clutter animations, so we
|
||||||
//use "time" and "delay" properties defined in seconds, as opposed to Clutter
|
//use "time" and "delay" properties defined in seconds, as opposed to Clutter
|
||||||
//animations "duration" and "delay" which are defined in milliseconds
|
//animations "duration" and "delay" which are defined in milliseconds
|
||||||
@@ -471,15 +454,15 @@ var animate = function(actor, options) {
|
|||||||
actor.ease.apply(actor, params);
|
actor.ease.apply(actor, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
var isAnimating = function(actor, prop) {
|
export const isAnimating = function(actor, prop) {
|
||||||
return !!actor.get_transition(prop);
|
return !!actor.get_transition(prop);
|
||||||
}
|
}
|
||||||
|
|
||||||
var stopAnimations = function(actor) {
|
export const stopAnimations = function(actor) {
|
||||||
actor.remove_all_transitions();
|
actor.remove_all_transitions();
|
||||||
}
|
}
|
||||||
|
|
||||||
var getIndicators = function(delegate) {
|
export const getIndicators = function(delegate) {
|
||||||
if (delegate instanceof St.BoxLayout) {
|
if (delegate instanceof St.BoxLayout) {
|
||||||
return delegate;
|
return delegate;
|
||||||
}
|
}
|
||||||
@@ -487,11 +470,11 @@ var getIndicators = function(delegate) {
|
|||||||
return delegate.indicators;
|
return delegate.indicators;
|
||||||
}
|
}
|
||||||
|
|
||||||
var getPoint = function(coords) {
|
export const getPoint = function(coords) {
|
||||||
return new imports.gi.Graphene.Point(coords);
|
return new Graphene.Point(coords);
|
||||||
}
|
}
|
||||||
|
|
||||||
var notify = function(text, iconName, action, isTransient) {
|
export const notify = function(text, iconName, action, isTransient) {
|
||||||
let source = new MessageTray.SystemNotificationSource();
|
let source = new MessageTray.SystemNotificationSource();
|
||||||
let notification = new MessageTray.Notification(source, 'Dash to Panel', text);
|
let notification = new MessageTray.Notification(source, 'Dash to Panel', text);
|
||||||
let notifyFunc = source.showNotification || source.notify;
|
let notifyFunc = source.showNotification || source.notify;
|
||||||
@@ -522,9 +505,9 @@ var notify = function(text, iconName, action, isTransient) {
|
|||||||
* it would be clamp to the current one in any case.
|
* it would be clamp to the current one in any case.
|
||||||
* Return the amount of shift applied
|
* Return the amount of shift applied
|
||||||
*/
|
*/
|
||||||
var ensureActorVisibleInScrollView = function(scrollView, actor, fadeSize, onComplete) {
|
export const ensureActorVisibleInScrollView = function(scrollView, actor, fadeSize, onComplete) {
|
||||||
let vadjustment = scrollView.vscroll.adjustment;
|
const vadjustment = scrollView.vadjustment;
|
||||||
let hadjustment = scrollView.hscroll.adjustment;
|
const hadjustment = scrollView.hadjustment;
|
||||||
let [vvalue, vlower, vupper, vstepIncrement, vpageIncrement, vpageSize] = vadjustment.get_values();
|
let [vvalue, vlower, vupper, vstepIncrement, vpageIncrement, vpageSize] = vadjustment.get_values();
|
||||||
let [hvalue, hlower, hupper, hstepIncrement, hpageIncrement, hpageSize] = hadjustment.get_values();
|
let [hvalue, hlower, hupper, hstepIncrement, hpageIncrement, hpageSize] = hadjustment.get_values();
|
||||||
|
|
||||||
@@ -579,7 +562,12 @@ var ensureActorVisibleInScrollView = function(scrollView, actor, fadeSize, onCom
|
|||||||
/**
|
/**
|
||||||
* ColorUtils is adapted from https://github.com/micheleg/dash-to-dock
|
* ColorUtils is adapted from https://github.com/micheleg/dash-to-dock
|
||||||
*/
|
*/
|
||||||
var ColorUtils = {
|
let colorNs = Clutter.Color ? Clutter : Cogl
|
||||||
|
|
||||||
|
export const ColorUtils = {
|
||||||
|
color_from_string: colorNs.color_from_string,
|
||||||
|
Color: colorNs.Color,
|
||||||
|
|
||||||
colorLuminance(r, g, b, dlum) {
|
colorLuminance(r, g, b, dlum) {
|
||||||
// Darken or brighten color by a fraction dlum
|
// Darken or brighten color by a fraction dlum
|
||||||
// Each rgb value is modified by the same fraction.
|
// Each rgb value is modified by the same fraction.
|
||||||
@@ -690,7 +678,7 @@ const MAX_CACHED_ITEMS = 1000;
|
|||||||
const BATCH_SIZE_TO_DELETE = 50;
|
const BATCH_SIZE_TO_DELETE = 50;
|
||||||
const DOMINANT_COLOR_ICON_SIZE = 64;
|
const DOMINANT_COLOR_ICON_SIZE = 64;
|
||||||
|
|
||||||
var DominantColorExtractor = class {
|
export const DominantColorExtractor = class {
|
||||||
|
|
||||||
constructor(app){
|
constructor(app){
|
||||||
this._app = app;
|
this._app = app;
|
||||||
@@ -701,14 +689,9 @@ var DominantColorExtractor = class {
|
|||||||
*/
|
*/
|
||||||
_getIconPixBuf() {
|
_getIconPixBuf() {
|
||||||
let iconTexture = this._app.create_icon_texture(16);
|
let iconTexture = this._app.create_icon_texture(16);
|
||||||
let isGtk3 = !!Gtk.IconTheme.prototype.set_custom_theme;
|
|
||||||
|
|
||||||
if (themeLoader === null) {
|
if (themeLoader === null) {
|
||||||
let ifaceSettings = new Gio.Settings({ schema: "org.gnome.desktop.interface" });
|
themeLoader = new St.IconTheme();
|
||||||
let themeFunc = isGtk3 ? 'set_custom_theme' : 'set_theme_name';
|
|
||||||
|
|
||||||
themeLoader = new Gtk.IconTheme(),
|
|
||||||
themeLoader[themeFunc](ifaceSettings.get_string('icon-theme')); // Make sure the correct theme is loaded
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Unable to load the icon texture, use fallback
|
// Unable to load the icon texture, use fallback
|
||||||
@@ -730,19 +713,11 @@ var DominantColorExtractor = class {
|
|||||||
|
|
||||||
// Get the pixel buffer from the icon theme
|
// Get the pixel buffer from the icon theme
|
||||||
if (iconTexture instanceof Gio.ThemedIcon) {
|
if (iconTexture instanceof Gio.ThemedIcon) {
|
||||||
let params = [iconTexture.get_names()[0], DOMINANT_COLOR_ICON_SIZE, 0];
|
let icon_info = themeLoader.lookup_icon(iconTexture.get_names()[0],
|
||||||
|
DOMINANT_COLOR_ICON_SIZE, 0);
|
||||||
if (!isGtk3) {
|
|
||||||
params.splice(1, 0, null);
|
|
||||||
params.splice(3, 1, 1, 1, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
let icon_info = themeLoader.lookup_icon.apply(themeLoader, params);
|
|
||||||
|
|
||||||
if (icon_info !== null) {
|
if (icon_info !== null) {
|
||||||
if (isGtk3) return icon_info.load_icon();
|
return icon_info.load_icon();
|
||||||
|
|
||||||
return GdkPixbuf.Pixbuf.new_from_file(icon_info.get_file().get_path());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -880,7 +855,7 @@ var DominantColorExtractor = class {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var drawRoundedLine = function(cr, x, y, width, height, isRoundLeft, isRoundRight, stroke, fill) {
|
export const drawRoundedLine = function(cr, x, y, width, height, isRoundLeft, isRoundRight, stroke, fill) {
|
||||||
if (height > width) {
|
if (height > width) {
|
||||||
y += Math.floor((height - width) / 2.0);
|
y += Math.floor((height - width) / 2.0);
|
||||||
height = width;
|
height = width;
|
||||||
@@ -888,8 +863,8 @@ var drawRoundedLine = function(cr, x, y, width, height, isRoundLeft, isRoundRigh
|
|||||||
|
|
||||||
height = 2.0 * Math.floor(height / 2.0);
|
height = 2.0 * Math.floor(height / 2.0);
|
||||||
|
|
||||||
var leftRadius = isRoundLeft ? height / 2.0 : 0.0;
|
const leftRadius = isRoundLeft ? height / 2.0 : 0.0;
|
||||||
var rightRadius = isRoundRight ? height / 2.0 : 0.0;
|
const rightRadius = isRoundRight ? height / 2.0 : 0.0;
|
||||||
|
|
||||||
cr.moveTo(x + width - rightRadius, y);
|
cr.moveTo(x + width - rightRadius, y);
|
||||||
cr.lineTo(x + leftRadius, y);
|
cr.lineTo(x + leftRadius, y);
|
||||||
@@ -912,28 +887,3 @@ var drawRoundedLine = function(cr, x, y, width, height, isRoundLeft, isRoundRigh
|
|||||||
cr.setSource(stroke);
|
cr.setSource(stroke);
|
||||||
cr.stroke();
|
cr.stroke();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if an app exists in the system.
|
|
||||||
*/
|
|
||||||
var checkedCommandsMap = new Map();
|
|
||||||
|
|
||||||
function checkIfCommandExists(app) {
|
|
||||||
let answer = checkedCommandsMap.get(app);
|
|
||||||
if (answer === undefined) {
|
|
||||||
// Command is a shell built in, use shell to call it.
|
|
||||||
// Quotes around app value are important. They let command operate
|
|
||||||
// on the whole value, instead of having shell interpret it.
|
|
||||||
let cmd = "sh -c 'command -v \"" + app + "\"'";
|
|
||||||
try {
|
|
||||||
let out = GLib.spawn_command_line_sync(cmd);
|
|
||||||
// out contains 1: stdout, 2: stderr, 3: exit code
|
|
||||||
answer = out[3] == 0;
|
|
||||||
} catch (ex) {
|
|
||||||
answer = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
checkedCommandsMap.set(app, answer);
|
|
||||||
}
|
|
||||||
return answer;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -18,24 +18,19 @@
|
|||||||
* This file is based on code from the Dash to Panel extension
|
* This file is based on code from the Dash to Panel extension
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const GObject = imports.gi.GObject;
|
import GObject from 'gi://GObject';
|
||||||
const Clutter = imports.gi.Clutter;
|
import Clutter from 'gi://Clutter';
|
||||||
const GLib = imports.gi.GLib;
|
import GLib from 'gi://GLib';
|
||||||
const Graphene = imports.gi.Graphene;
|
import Graphene from 'gi://Graphene';
|
||||||
const Gtk = imports.gi.Gtk;
|
import * as Main from 'resource:///org/gnome/shell/ui/main.js';
|
||||||
const Main = imports.ui.main;
|
import Meta from 'gi://Meta';
|
||||||
const Mainloop = imports.mainloop;
|
import * as PopupMenu from 'resource:///org/gnome/shell/ui/popupMenu.js';
|
||||||
const Meta = imports.gi.Meta;
|
import St from 'gi://St';
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
|
||||||
const Signals = imports.signals;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
const WindowManager = imports.ui.windowManager;
|
|
||||||
const Workspace = imports.ui.workspace;
|
|
||||||
|
|
||||||
const Me = imports.misc.extensionUtils.getCurrentExtension();
|
import * as Taskbar from './taskbar.js';
|
||||||
const Panel = Me.imports.panel;
|
import * as Utils from './utils.js';
|
||||||
const Taskbar = Me.imports.taskbar;
|
import {SETTINGS} from './extension.js';
|
||||||
const Utils = Me.imports.utils;
|
import {gettext as _} from 'resource:///org/gnome/shell/extensions/extension.js';
|
||||||
|
|
||||||
//timeout intervals
|
//timeout intervals
|
||||||
const ENSURE_VISIBLE_MS = 200;
|
const ENSURE_VISIBLE_MS = 200;
|
||||||
@@ -74,7 +69,7 @@ let scaleFactor = 1;
|
|||||||
let animationTime = 0;
|
let animationTime = 0;
|
||||||
let aspectRatio = {};
|
let aspectRatio = {};
|
||||||
|
|
||||||
var PreviewMenu = GObject.registerClass({
|
export const PreviewMenu = GObject.registerClass({
|
||||||
Signals: { 'open-state-changed': {} }
|
Signals: { 'open-state-changed': {} }
|
||||||
}, class PreviewMenu extends St.Widget {
|
}, class PreviewMenu extends St.Widget {
|
||||||
|
|
||||||
@@ -108,13 +103,13 @@ var PreviewMenu = GObject.registerClass({
|
|||||||
this._box = new St.BoxLayout({ vertical: this.isVertical });
|
this._box = new St.BoxLayout({ vertical: this.isVertical });
|
||||||
this._scrollView = new St.ScrollView({
|
this._scrollView = new St.ScrollView({
|
||||||
name: 'zorintaskbarPreviewScrollview',
|
name: 'zorintaskbarPreviewScrollview',
|
||||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
hscrollbar_policy: St.PolicyType.NEVER,
|
||||||
vscrollbar_policy: Gtk.PolicyType.NEVER,
|
vscrollbar_policy: St.PolicyType.NEVER,
|
||||||
enable_mouse_scrolling: true,
|
enable_mouse_scrolling: true,
|
||||||
y_expand: !this.isVertical
|
y_expand: !this.isVertical
|
||||||
});
|
});
|
||||||
|
|
||||||
this._scrollView.add_actor(this._box);
|
this._scrollView.add_child(this._box);
|
||||||
this.menu.add_child(this._scrollView);
|
this.menu.add_child(this._scrollView);
|
||||||
this.add_child(this.menu);
|
this.add_child(this.menu);
|
||||||
}
|
}
|
||||||
@@ -157,7 +152,7 @@ var PreviewMenu = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
Me.settings,
|
SETTINGS,
|
||||||
[
|
[
|
||||||
'changed::panel-sizes',
|
'changed::panel-sizes',
|
||||||
'changed::window-preview-size'
|
'changed::window-preview-size'
|
||||||
@@ -275,7 +270,7 @@ var PreviewMenu = GObject.registerClass({
|
|||||||
requestPeek(window) {
|
requestPeek(window) {
|
||||||
this._timeoutsHandler.remove(T3);
|
this._timeoutsHandler.remove(T3);
|
||||||
|
|
||||||
if (Me.settings.get_boolean('peek-mode')) {
|
if (SETTINGS.get_boolean('peek-mode')) {
|
||||||
if (this.peekInitialWorkspaceIndex < 0) {
|
if (this.peekInitialWorkspaceIndex < 0) {
|
||||||
this._timeoutsHandler.add([T3, ENTER_PEEK_MODE_TIMEOUT, () => this._peek(window)]);
|
this._timeoutsHandler.add([T3, ENTER_PEEK_MODE_TIMEOUT, () => this._peek(window)]);
|
||||||
} else {
|
} else {
|
||||||
@@ -448,7 +443,7 @@ var PreviewMenu = GObject.registerClass({
|
|||||||
let x, y, w;
|
let x, y, w;
|
||||||
let geom = this.panel.getGeometry();
|
let geom = this.panel.getGeometry();
|
||||||
let panelBoxTheme = this.panel.panelBox.get_theme_node();
|
let panelBoxTheme = this.panel.panelBox.get_theme_node();
|
||||||
let previewSize = (Me.settings.get_int('window-preview-size') +
|
let previewSize = (SETTINGS.get_int('window-preview-size') +
|
||||||
WINDOW_PREVIEW_PADDING * 2) * scaleFactor;
|
WINDOW_PREVIEW_PADDING * 2) * scaleFactor;
|
||||||
|
|
||||||
if (this.isVertical) {
|
if (this.isVertical) {
|
||||||
@@ -526,7 +521,7 @@ var PreviewMenu = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getScrollAdjustmentValues() {
|
_getScrollAdjustmentValues() {
|
||||||
let [value , , upper, , , pageSize] = this._scrollView[(this.isVertical ? 'v' : 'h') + 'scroll'].adjustment.get_values();
|
let [value , , upper, , , pageSize] = this._scrollView[(this.isVertical ? 'v' : 'h') + 'adjustment'].get_values();
|
||||||
|
|
||||||
return [value, upper, pageSize];
|
return [value, upper, pageSize];
|
||||||
}
|
}
|
||||||
@@ -717,7 +712,7 @@ var PreviewMenu = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var Preview = GObject.registerClass({
|
export const Preview = GObject.registerClass({
|
||||||
}, class Preview extends St.Widget {
|
}, class Preview extends St.Widget {
|
||||||
|
|
||||||
_init(previewMenu) {
|
_init(previewMenu) {
|
||||||
@@ -741,7 +736,7 @@ var Preview = GObject.registerClass({
|
|||||||
let [previewBinWidth, previewBinHeight] = this._getBinSize();
|
let [previewBinWidth, previewBinHeight] = this._getBinSize();
|
||||||
let closeButton = new St.Button({ style_class: 'window-close', accessible_name: 'Close window' });
|
let closeButton = new St.Button({ style_class: 'window-close', accessible_name: 'Close window' });
|
||||||
|
|
||||||
closeButton.add_actor(new St.Icon({ icon_name: 'window-close-symbolic' }));
|
closeButton.add_child(new St.Icon({ icon_name: 'window-close-symbolic' }));
|
||||||
|
|
||||||
this._closeButtonBin = new St.Widget({
|
this._closeButtonBin = new St.Widget({
|
||||||
style_class: 'preview-close-btn-container',
|
style_class: 'preview-close-btn-container',
|
||||||
@@ -827,12 +822,14 @@ var Preview = GObject.registerClass({
|
|||||||
this._addClone(cloneBin, animateSize);
|
this._addClone(cloneBin, animateSize);
|
||||||
this._previewMenu.updatePosition();
|
this._previewMenu.updatePosition();
|
||||||
} else if (!this._waitWindowId) {
|
} else if (!this._waitWindowId) {
|
||||||
this._waitWindowId = Mainloop.idle_add(() => {
|
this._waitWindowId = GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => {
|
||||||
this._waitWindowId = 0;
|
this._waitWindowId = 0;
|
||||||
|
|
||||||
if (this._previewMenu.opened) {
|
if (this._previewMenu.opened) {
|
||||||
_assignWindowClone();
|
_assignWindowClone();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return GLib.SOURCE_REMOVE;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -900,7 +897,7 @@ var Preview = GObject.registerClass({
|
|||||||
this._hideOrShowCloseButton(true);
|
this._hideOrShowCloseButton(true);
|
||||||
this.reactive = false;
|
this.reactive = false;
|
||||||
|
|
||||||
if (!Me.settings.get_boolean('group-apps')) {
|
if (!SETTINGS.get_boolean('group-apps')) {
|
||||||
this._previewMenu.close();
|
this._previewMenu.close();
|
||||||
} else {
|
} else {
|
||||||
this._previewMenu.endPeekHere();
|
this._previewMenu.endPeekHere();
|
||||||
@@ -915,7 +912,7 @@ var Preview = GObject.registerClass({
|
|||||||
this.activate();
|
this.activate();
|
||||||
break;
|
break;
|
||||||
case 2: // Middle click
|
case 2: // Middle click
|
||||||
if (Me.settings.get_boolean('preview-middle-click-close')) {
|
if (SETTINGS.get_boolean('preview-middle-click-close')) {
|
||||||
this._onCloseBtnClick();
|
this._onCloseBtnClick();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1090,7 +1087,7 @@ var Preview = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
|
|
||||||
_getPreviewDimensions() {
|
_getPreviewDimensions() {
|
||||||
let size = Me.settings.get_int('window-preview-size') * scaleFactor;
|
let size = SETTINGS.get_int('window-preview-size') * scaleFactor;
|
||||||
let w, h;
|
let w, h;
|
||||||
|
|
||||||
if (this._previewMenu.isVertical) {
|
if (this._previewMenu.isVertical) {
|
||||||
@@ -1105,7 +1102,7 @@ var Preview = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var WindowCloneLayout = GObject.registerClass({
|
export const WindowCloneLayout = GObject.registerClass({
|
||||||
}, class WindowCloneLayout extends Clutter.BinLayout {
|
}, class WindowCloneLayout extends Clutter.BinLayout {
|
||||||
|
|
||||||
_init(frameRect, bufferRect) {
|
_init(frameRect, bufferRect) {
|
||||||
@@ -1133,11 +1130,11 @@ var WindowCloneLayout = GObject.registerClass({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
function setStyle(actor, style) {
|
export function setStyle(actor, style) {
|
||||||
actor.set_style(style);
|
actor.set_style(style);
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTweenOpts(opts) {
|
export function getTweenOpts(opts) {
|
||||||
let defaults = {
|
let defaults = {
|
||||||
time: animationTime,
|
time: animationTime,
|
||||||
transition: 'easeInOutQuad'
|
transition: 'easeInOutQuad'
|
||||||
|
|||||||
Reference in New Issue
Block a user