diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..55b741a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,7 @@
+.~
+*~
+gschemas.compiled
+zorin-taskbar@zorinos.com*.zip
+*.mo
+po/zorin-taskbar.pot
+Settings.ui.h
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f63d3c0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,96 @@
+# Basic Makefile
+
+UUID = zorin-taskbar@zorinos.com
+BASE_MODULES = extension.js stylesheet.css metadata.json COPYING README.md
+EXTRA_MODULES = appIcons.js convenience.js panel.js panelManager.js proximity.js intellihide.js progress.js panelPositions.js panelStyle.js overview.js taskbar.js transparency.js windowPreview.js prefs.js utils.js Settings.ui
+EXTRA_IMAGES = show-desktop-symbolic.svg
+
+TOLOCALIZE = prefs.js appIcons.js
+MSGSRC = $(wildcard po/*.po)
+ifeq ($(strip $(DESTDIR)),)
+ INSTALLBASE = $(HOME)/.local/share/gnome-shell/extensions
+else
+ INSTALLBASE = $(DESTDIR)/usr/share/gnome-shell/extensions
+endif
+INSTALLNAME = zorin-taskbar@zorinos.com
+
+# The command line passed variable VERSION is used to set the version string
+# in the metadata and in the generated zip-file.
+ifdef VERSION
+else
+ VERSION = 40
+endif
+
+ifdef TARGET
+ FILESUFFIX = _v$(VERSION)_$(TARGET)
+else
+ FILESUFFIX = _v$(VERSION)
+endif
+
+all: extension
+
+clean:
+ rm -f ./schemas/gschemas.compiled
+
+extension: ./schemas/gschemas.compiled $(MSGSRC:.po=.mo)
+
+./schemas/gschemas.compiled: ./schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml
+ glib-compile-schemas ./schemas/
+
+potfile: ./po/zorin-taskbar.pot
+
+mergepo: potfile
+ for l in $(MSGSRC); do \
+ msgmerge -U $$l ./po/zorin-taskbar.pot; \
+ done;
+
+./po/zorin-taskbar.pot: $(TOLOCALIZE) Settings.ui
+ mkdir -p po
+ xgettext -k_ -kN_ -o po/zorin-taskbar.pot --package-name "Zorin Taskbar" $(TOLOCALIZE)
+ intltool-extract --type=gettext/glade Settings.ui
+ xgettext -k_ -kN_ --join-existing -o po/zorin-taskbar.pot Settings.ui.h
+
+./po/%.mo: ./po/%.po
+ msgfmt -c $< -o $@
+
+install: install-local
+
+install-local: _build
+ rm -rf $(INSTALLBASE)/$(INSTALLNAME)
+ mkdir -p $(INSTALLBASE)/$(INSTALLNAME)
+ cp -r ./_build/* $(INSTALLBASE)/$(INSTALLNAME)/
+ -rm -fR _build
+ echo done
+
+zip-file: _build
+ cd _build ; \
+ zip -qr "$(UUID)$(FILESUFFIX).zip" .
+ mv _build/$(UUID)$(FILESUFFIX).zip ./
+ -rm -fR _build
+
+_build: all
+ -rm -fR ./_build
+ mkdir -p _build
+ cp $(BASE_MODULES) $(EXTRA_MODULES) _build
+
+ifeq ($(TARGET),ego)
+ find _build -name '*.js' -exec sed -i '/\/\/!start-update/,/\/\/!end-update/d' {} +
+endif
+
+ mkdir -p _build/img
+ cd img ; cp $(EXTRA_IMAGES) ../_build/img/
+ mkdir -p _build/schemas
+ cp schemas/*.xml _build/schemas/
+ cp schemas/gschemas.compiled _build/schemas/
+ mkdir -p _build/locale
+ for l in $(MSGSRC:.po=.mo) ; do \
+ lf=_build/locale/`basename $$l .mo`; \
+ mkdir -p $$lf; \
+ mkdir -p $$lf/LC_MESSAGES; \
+ cp $$l $$lf/LC_MESSAGES/zorin-taskbar.mo; \
+ done;
+ifneq ($(and $(COMMIT),$(VERSION)),)
+ sed -i 's/"version": [[:digit:]][[:digit:]]*/"version": $(VERSION),\n"commit": "$(COMMIT)"/' _build/metadata.json;
+else ifneq ($(VERSION),)
+ sed -i 's/"version": [[:digit:]][[:digit:]]*/"version": $(VERSION)/' _build/metadata.json;
+endif
diff --git a/README.md b/README.md
index 5958c6c..723edaf 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
# Zorin Taskbar
The official taskbar for Zorin OS.
-Based on the [Dash to Dock](https://github.com/micheleg/dash-to-dock) Gnome Shell extension by micheleg.
+Based on the [Dash to Panel](https://github.com/home-sweet-gnome/dash-to-panel) Gnome Shell extension and the [Dash to Dock](https://github.com/micheleg/dash-to-dock) extension by micheleg.
diff --git a/Settings.ui b/Settings.ui
new file mode 100644
index 0000000..5a73bb0
--- /dev/null
+++ b/Settings.ui
@@ -0,0 +1,3159 @@
+
+
+
+
+
+
+ 1000
+ 10
+ 100
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Maximum width (px) of the application titles (default is 160)
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ 4
+ 0
+ group_apps_label_max_width_adjustment
+ True
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Use a fixed width for the application titles
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ True
+ The application titles all have the same width, even if their texts are shorter than the maximum width. The maximum width value is used as the fixed width.
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Use the favorite icons as application launchers
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Floating rounded theme
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+ True
+
+
+ True
+ False
+ True
+ Only hide the panel when it is obstructed by windows
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ 12
+ 4
+
+
+ True
+ False
+ True
+ The panel hides from
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ center
+
+ - All windows
+ - Focused windows
+ - Maximized windows
+
+
+
+ 1
+ 0
+
+
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Require pressure at the edge of the screen to reveal the panel
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ 100
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Allow the panel to be revealed while in fullscreen mode
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Only hide secondary panels (requires multi-monitors option)
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ center
+ 12
+ e.g. <Super>i
+
+
+ 1
+ 0
+ 2
+
+
+
+
+ True
+ False
+ True
+ Keyboard shortcut to reveal and hold the panel
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ Syntax: <Shift>, <Ctrl>, <Alt>, <Super>
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ 0.33
+ 1
+ 0.01
+ 0.1
+
+
+ 1000
+ 10
+ 50
+
+
+ 50
+ 500
+ 10
+ 50
+
+
+ 100
+ 5
+ 10
+
+
+ 100
+ 800
+ 10
+ 50
+
+
+ True
+ True
+ in
+ 460
+ 208
+
+
+ True
+ False
+ True
+ True
+ natural
+ natural
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Middle click on the preview to close the window
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Window previews preferred size (px)
+ True
+ 0
+
+
+ 0
+ 0
+ 3
+
+
+
+
+ True
+ True
+ end
+ 4
+ 100
+ preview_size_adjustment
+ True
+ 100
+
+
+ 2
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Enable window peeking
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ True
+ When hovering over a window preview for some time, the window gets distinguished.
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ vertical
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ 100
+ 80
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ center
+
+ - Super
+ - Super + Alt
+
+
+
+ 1
+ 0
+ 2
+
+
+
+
+ True
+ False
+ True
+ Hotkeys prefix
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ Hotkeys will either be Super+Number or Super+Alt+Num
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+ 100
+ 80
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ center
+
+ - Never
+ - Show temporarily
+ - Always visible
+
+
+
+ 1
+ 0
+ 2
+
+
+
+
+ True
+ False
+ True
+ Number overlay
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ Temporarily show the application numbers over the icons when using the hotkeys.
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Show window previews on hotkey
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+ 2
+
+
+
+
+ True
+ False
+ True
+ Show previews when the application have multiple instances
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ end
+ center
+
+ - Number row
+ - Numeric keypad
+ - Both
+
+
+
+ 1
+ 0
+ 2
+
+
+
+
+ True
+ False
+ True
+ Hotkeys are activated with
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ Select which keyboard number keys are used to activate the hotkeys
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ vertical
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ True
+ Override escape key and return to desktop
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Animate <i>Show Applications</i>.
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+
+ 1
+ 40
+ 1
+ 10
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Show Desktop icon
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 4
+ 32
+
+
+ True
+ False
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ 4
+ 1
+ show_showdesktop_width_adjustment
+ True
+ 1
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Reveal the desktop when hovering the Show Desktop button
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ 100
+ 5
+ 10
+
+
+ True
+ True
+
+
+ True
+ False
+ 24
+ 24
+ 24
+ 24
+ vertical
+ 24
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ 100
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 6
+ 6
+ 32
+
+
+ True
+ False
+ Panel Size
+(default is 48)
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ baseline
+ True
+ panel_size_adjustment
+ 0
+ 0
+ right
+
+
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ 100
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Panel Intellihide
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ 6
+
+
+ True
+ True
+ True
+ center
+ center
+ 0.46000000834465027
+
+
+ True
+ False
+ emblem-system-symbolic
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ False
+ True
+ 1
+
+
+
+
+ 1
+ 0
+ 2
+
+
+
+
+ True
+ False
+ True
+ Hide and reveal the panel according to preferences
+ True
+ 40
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Override panel theme background opacity
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ 12
+ 12
+ 6
+
+
+ True
+ False
+ True
+ Panel background opacity (%)
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+ 0
+ trans_opacity_adjustment
+
+
+ 1
+ 0
+
+
+
+
+ 0
+ 1
+ 2
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ 1
+
+
+
+
+ True
+ False
+ Style
+
+
+ 1
+ False
+
+
+
+
+ True
+ False
+ 24
+ 24
+ 24
+ 24
+ vertical
+ 24
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 6
+ 32
+
+
+ True
+ False
+ True
+ Display panels on all monitors
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+
+
+ True
+ False
+ True
+ Order and positions on monitor
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ center
+
+
+ 1
+ 0
+
+
+
+
+ Apply changes to all monitors
+ True
+ True
+ False
+ 12
+ True
+
+
+ 0
+ 1
+
+
+
+
+ True
+ False
+ 12
+ 18
+ 6
+ 32
+
+
+ True
+ False
+ True
+ Panel screen position
+ 0
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 32
+
+
+ Bottom
+ True
+ True
+ False
+ center
+ center
+ 0
+ True
+ True
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ Top
+ True
+ True
+ False
+ center
+ center
+ 0
+ bottom
+ True
+ position_bottom_button
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ Left
+ True
+ True
+ False
+ center
+ center
+ 0
+ bottom
+ True
+ position_bottom_button
+
+
+
+ False
+ True
+ 2
+
+
+
+
+ Right
+ True
+ True
+ False
+ center
+ center
+ 0
+ bottom
+ True
+ position_bottom_button
+
+
+
+ False
+ True
+ 3
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ 0
+ 2
+ 2
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ 12
+ 6
+ none
+
+
+ False
+ True
+ 1
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 2
+
+
+
+
+
+
+ True
+ False
+ Position
+
+
+ False
+
+
+
+
+ True
+ False
+ 24
+ 24
+ 24
+ 24
+ vertical
+ 24
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 6
+ 32
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ True
+ Show favorite applications
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ True
+ Show running applications
+ 0
+
+
+ 0
+ 2
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 2
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 1
+
+
+
+
+ True
+ False
+ True
+ Show favorite applications on secondary panels
+ True
+ 0
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+ 100
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 4
+ 32
+
+
+ True
+ False
+ 6
+
+
+ True
+ True
+ True
+ center
+ center
+ 0.46000000834465027
+
+
+ True
+ False
+ emblem-system-symbolic
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ False
+ True
+ 1
+
+
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ True
+ Show window previews on hover
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 1
+
+
+
+
+ True
+ False
+ True
+ Show tooltip on hover
+ True
+ 0
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+ 100
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 6
+ 32
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 0
+
+
+
+
+ True
+ False
+ True
+ Isolate Workspaces
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ 1
+ 1
+
+
+
+
+ True
+ False
+ True
+ Isolate monitors
+ True
+ 0
+
+
+ 0
+ 1
+
+
+
+
+
+
+
+
+ 100
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Ungroup applications
+ True
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ 6
+
+
+ True
+ True
+ True
+ center
+ center
+ 0.46000000834465027
+
+
+ True
+ False
+ emblem-system-symbolic
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ False
+ True
+ 1
+
+
+
+
+ 1
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ 2
+
+
+
+
+ True
+ False
+ Behavior
+
+
+ 2
+ False
+
+
+
+
+ True
+ False
+ 24
+ 24
+ 24
+ 24
+ vertical
+ 24
+
+
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Behaviour when clicking on the icon of a running application.
+ True
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+ True
+ False
+ True
+ Click action
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ 6
+
+
+ True
+ True
+ True
+ center
+
+
+ True
+ False
+ emblem-system-symbolic
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ center
+
+ - Cycle windows + minimize
+ - Cycle through windows
+ - Toggle single / Preview multiple
+ - Toggle windows
+ - Raise windows
+ - Launch new instance
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ 1
+ 0
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 16
+ 6
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ True
+ Scroll icon action
+ 0
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ True
+ Behavior when mouse scrolling over an application icon.
+ True
+ 0
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ 0
+ 1
+
+
+
+
+ True
+ False
+ center
+ True
+
+ - Do nothing
+ - Cycle windows
+
+
+
+ 2
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ True
+ False
+ 0
+ in
+
+
+ True
+ False
+ none
+
+
+ True
+ True
+
+
+ True
+ False
+ 12
+ 12
+ 12
+ 12
+ 32
+
+
+ True
+ False
+ True
+ Enable Super+(0-9) as shortcuts to activate apps. It can also be used together with Shift and Ctrl.
+ True
+ True
+ 0
+
+
+
+ 0
+ 1
+
+
+
+
+ True
+ False
+ True
+ Use hotkeys to activate apps
+ 0
+
+
+ 0
+ 0
+
+
+
+
+ True
+ False
+ 6
+
+
+ True
+ True
+ True
+ center
+ center
+ 0.46000000834465027
+
+
+ True
+ False
+ emblem-system-symbolic
+
+
+
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ True
+ end
+ center
+
+
+ False
+ True
+ 1
+
+
+
+
+ 1
+ 0
+ 2
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ True
+ 3
+
+
+
+
+ 3
+
+
+
+
+ True
+ False
+ Action
+
+
+ 3
+ False
+
+
+
+
diff --git a/appIcons.js b/appIcons.js
new file mode 100644
index 0000000..e04de07
--- /dev/null
+++ b/appIcons.js
@@ -0,0 +1,1736 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ *
+ * Credits:
+ * This file is based on code from the Dash to Dock extension by micheleg
+ * and code from the Dash to Panel extension
+ * Some code was also adapted from the upstream Gnome Shell source code.
+ */
+
+
+const Clutter = imports.gi.Clutter;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Gtk = imports.gi.Gtk;
+const Signals = imports.signals;
+const Lang = imports.lang;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+const Mainloop = imports.mainloop;
+
+const Config = imports.misc.config;
+const AppDisplay = imports.ui.appDisplay;
+const AppFavorites = imports.ui.appFavorites;
+const Dash = imports.ui.dash;
+const DND = imports.ui.dnd;
+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 Me = imports.misc.extensionUtils.getCurrentExtension();
+const Utils = Me.imports.utils;
+const Panel = Me.imports.panel;
+const Taskbar = Me.imports.taskbar;
+const Progress = Me.imports.progress;
+const _ = imports.gettext.domain(Utils.TRANSLATION_DOMAIN).gettext;
+
+//timeout names
+const T1 = 'setStyleTimeout';
+const T2 = 'mouseScrollTimeout';
+const T3 = 'showDotsTimeout';
+const T4 = 'overviewWindowDragEndTimeout';
+const T5 = 'switchWorkspaceTimeout';
+const T6 = 'displayProperIndicatorTimeout';
+
+const SCROLL_ICON_DELAY = 0;
+const DOT_SIZE = 3;
+
+//right padding defined for .overview-label in stylesheet.css
+const TITLE_RIGHT_PADDING = 8;
+
+let LABEL_GAP = 5;
+let MAX_INDICATORS = 4;
+var DEFAULT_PADDING_SIZE = 4;
+
+let DOT_STYLE = {
+ DOTS: "DOTS",
+ SQUARES: "SQUARES",
+ DASHES: "DASHES",
+ SEGMENTED: "SEGMENTED",
+ CILIORA: "CILIORA",
+ METRO: "METRO",
+ SOLID: "SOLID"
+}
+
+let DOT_POSITION = {
+ TOP: "TOP",
+ BOTTOM: "BOTTOM",
+ LEFT: 'LEFT',
+ RIGHT: 'RIGHT'
+}
+
+let recentlyClickedAppLoopId = 0;
+let recentlyClickedApp = null;
+let recentlyClickedAppWindows = null;
+let recentlyClickedAppIndex = 0;
+let recentlyClickedAppMonitorIndex;
+
+let tracker = Shell.WindowTracker.get_default();
+let menuRedisplayFunc = !!AppDisplay.AppIconMenu.prototype._rebuildMenu ? '_rebuildMenu' : '_redisplay';
+
+/**
+ * Extend AppIcon
+ *
+ * - Apply a css class based on the number of windows of each application (#N);
+ * - Draw a dot for each window of the application based on the default "dot" style which is hidden (#N);
+ * a class of the form "running#N" is applied to the AppWellIcon actor.
+ * like the original .running one.
+ * - add a .focused style to the focused app
+ * - Customize click actions.
+ * - Update minimization animation target
+ *
+ */
+
+var taskbarAppIcon = Utils.defineClass({
+ Name: 'ZorinTaskbar.TaskbarAppIcon',
+ Extends: AppDisplay.AppIcon,
+ ParentConstrParams: [[0, 'app'], [2]],
+
+ _init: function(appInfo, panel, iconParams, previewMenu, iconAnimator) {
+ this.dtpPanel = panel;
+ this._nWindows = 0;
+ this.window = appInfo.window;
+ this.isLauncher = appInfo.isLauncher;
+ this._previewMenu = previewMenu;
+ this.iconAnimator = iconAnimator;
+
+ this._timeoutsHandler = new Utils.TimeoutsHandler();
+
+ // Fix touchscreen issues before the listener is added by the parent constructor.
+ this._onTouchEvent = function(actor, event) {
+ if (event.type() == Clutter.EventType.TOUCH_BEGIN) {
+ // Open the popup menu on long press.
+ this._setPopupTimeout();
+ } else if (this._menuTimeoutId != 0 && (event.type() == Clutter.EventType.TOUCH_END || event.type() == Clutter.EventType.TOUCH_CANCEL)) {
+ // Activate/launch the application.
+ this.activate(1);
+ this._removeMenuTimeout();
+ }
+ // Disable dragging via touch screen as it's buggy as hell. Not perfect for tablet users, but the alternative is way worse.
+ // Also, EVENT_PROPAGATE launches applications twice with this solution, so this.activate(1) above must only be called if there's already a window.
+ return Clutter.EVENT_STOP;
+ };
+ // Hack for missing TOUCH_END event.
+ this._onLeaveEvent = function(actor, event) {
+ this.actor.fake_release();
+ if (this._menuTimeoutId != 0) this.activate(1); // Activate/launch the application if TOUCH_END didn't fire.
+ this._removeMenuTimeout();
+ };
+
+ this.callParent('_init', appInfo.app, iconParams);
+
+ Utils.wrapActor(this.icon);
+ Utils.wrapActor(this);
+
+ this._dot.set_width(0);
+ this._isGroupApps = Me.settings.get_boolean('group-apps');
+
+ 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._dtpIconContainer = new St.Widget({ layout_manager: new Clutter.BinLayout(), style: getIconContainerStyle(panel.checkIfVertical()) });
+
+ this.actor.remove_actor(this._iconContainer);
+
+ this._dtpIconContainer.add_child(this._iconContainer);
+
+ if (appInfo.window) {
+ let box = new St.BoxLayout();
+
+ this._windowTitle = new St.Label({
+ y_align: Clutter.ActorAlign.CENTER,
+ x_align: Clutter.ActorAlign.START,
+ style_class: 'overview-label'
+ });
+
+ this._updateWindowTitle();
+ this._updateWindowTitleStyle();
+
+ this._scaleFactorChangedId = Utils.getStageTheme().connect('changed', () => this._updateWindowTitleStyle());
+
+ box.add_child(this._dtpIconContainer);
+ box.add_child(this._windowTitle);
+
+ this._dotsContainer.add_child(box);
+ } else {
+ this._dotsContainer.add_child(this._dtpIconContainer);
+ }
+
+ this._container.add_child(this._dotsContainer);
+ this.actor.set_child(this._container);
+
+ if (panel.checkIfVertical()) {
+ this.actor.set_width(panel.geom.w);
+ }
+
+ // Monitor windows-changes instead of app state.
+ // Keep using the same Id and function callback (that is extended)
+ if(this._stateChangedId > 0) {
+ this.app.disconnect(this._stateChangedId);
+ this._stateChangedId = 0;
+ }
+
+ this._setAppIconPadding();
+ this._showDots();
+
+ this._focusWindowChangedId = global.display.connect('notify::focus-window',
+ Lang.bind(this, this._onFocusAppChanged));
+
+ this._windowEnteredMonitorId = this._windowLeftMonitorId = 0;
+ this._stateChangedId = this.app.connect('windows-changed', Lang.bind(this, this.onWindowsChanged));
+
+ if (!this.window) {
+ if (Me.settings.get_boolean('isolate-monitors')) {
+ 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._titleWindowChangeId = 0;
+ this._minimizedWindowChangeId = 0;
+ } else {
+ this._titleWindowChangeId = this.window.connect('notify::title',
+ Lang.bind(this, this._updateWindowTitle));
+
+ this._minimizedWindowChangeId = this.window.connect('notify::minimized',
+ Lang.bind(this, this._updateWindowTitleStyle));
+ }
+
+ this._scrollEventId = this.actor.connect('scroll-event', this._onMouseScroll.bind(this));
+
+ this._overviewWindowDragEndId = Main.overview.connect('window-drag-end',
+ Lang.bind(this, this._onOverviewWindowDragEnd));
+
+ this._switchWorkspaceId = global.window_manager.connect('switch-workspace',
+ Lang.bind(this, this._onSwitchWorkspace));
+
+ this._hoverChangeId = this.actor.connect('notify::hover', () => this._onAppIconHoverChanged());
+
+ this._dtpSettingsSignalIds = [
+ Me.settings.connect('changed::panel-positions', Lang.bind(this, this._settingsChangeRefresh)),
+ Me.settings.connect('changed::dot-style-focused', Lang.bind(this, this._settingsChangeRefresh)),
+ Me.settings.connect('changed::dot-style-unfocused', Lang.bind(this, this._settingsChangeRefresh)),
+ Me.settings.connect('changed::dot-color-dominant', Lang.bind(this, this._settingsChangeRefresh)),
+ Me.settings.connect('changed::group-apps-label-max-width', Lang.bind(this, this._updateWindowTitleStyle)),
+ Me.settings.connect('changed::group-apps-use-fixed-width', Lang.bind(this, this._updateWindowTitleStyle))
+ ]
+
+ this.forcedOverview = false;
+
+ this._progressIndicator = new Progress.ProgressIndicator(this, panel.progressManager);
+
+ this._numberOverlay();
+ },
+
+ getDragActor: function() {
+ return this.app.create_icon_texture(this.dtpPanel.taskbar.iconSize);
+ },
+
+ shouldShowTooltip: function() {
+ if (!Me.settings.get_boolean('show-tooltip') ||
+ (!this.isLauncher && Me.settings.get_boolean("show-window-previews") &&
+ this.getAppIconInterestingWindows().length > 0)) {
+ return false;
+ } else {
+ return this.actor.hover && !this.window &&
+ (!this._menu || !this._menu.isOpen) &&
+ (this._previewMenu.getCurrentAppIcon() !== this);
+ }
+ },
+
+ _onAppIconHoverChanged: function() {
+ if (!Me.settings.get_boolean('show-window-previews') ||
+ (!this.window && !this._nWindows)) {
+ return;
+ }
+
+ if (this.actor.hover) {
+ this._previewMenu.requestOpen(this);
+ } else {
+ this._previewMenu.requestClose();
+ }
+ },
+
+ _onDestroy: function() {
+ this.callParent('_onDestroy');
+ this._destroyed = true;
+
+ this._timeoutsHandler.destroy();
+
+ this._previewMenu.close(true);
+
+ // Disconect global signals
+ // stateChangedId is already handled by parent)
+
+ if(this._overviewWindowDragEndId)
+ Main.overview.disconnect(this._overviewWindowDragEndId);
+
+ if(this._focusWindowChangedId)
+ global.display.disconnect(this._focusWindowChangedId);
+
+ if(this._titleWindowChangeId)
+ this.window.disconnect(this._titleWindowChangeId);
+
+ if(this._minimizedWindowChangeId)
+ this.window.disconnect(this._minimizedWindowChangeId);
+
+ if (this._windowEnteredMonitorId) {
+ Utils.DisplayWrapper.getScreen().disconnect(this._windowEnteredMonitorId);
+ Utils.DisplayWrapper.getScreen().disconnect(this._windowLeftMonitorId);
+ }
+
+ if(this._switchWorkspaceId)
+ global.window_manager.disconnect(this._switchWorkspaceId);
+
+ if(this._scaleFactorChangedId)
+ Utils.getStageTheme().disconnect(this._scaleFactorChangedId);
+
+ if (this._hoverChangeId) {
+ this.actor.disconnect(this._hoverChangeId);
+ }
+
+ if (this._scrollEventId) {
+ this.actor.disconnect(this._scrollEventId);
+ }
+
+ for (let i = 0; i < this._dtpSettingsSignalIds.length; ++i) {
+ Me.settings.disconnect(this._dtpSettingsSignalIds[i]);
+ }
+ },
+
+ onWindowsChanged: function() {
+ this._updateWindows();
+ this.updateIcon();
+ },
+
+ onWindowEnteredOrLeft: function() {
+ if (this._checkIfFocusedApp()) {
+ this._updateWindows();
+ this._displayProperIndicator();
+ }
+ },
+
+ updateTitleStyle: function() {
+ this._updateWindowTitleStyle();
+ },
+
+ // Update indicator and target for minimization animation
+ updateIcon: function() {
+
+ // If (for unknown reason) the actor is not on the stage the reported size
+ // and position are random values, which might exceeds the integer range
+ // resulting in an error when assigned to the a rect. This is a more like
+ // a workaround to prevent flooding the system with errors.
+ if (this.actor.get_stage() == null)
+ return;
+
+ let rect = new Meta.Rectangle();
+
+ [rect.x, rect.y] = this.actor.get_transformed_position();
+ [rect.width, rect.height] = this.actor.get_transformed_size();
+
+ let windows = this.window ? [this.window] : this.getAppIconInterestingWindows(true);
+ windows.forEach(function(w) {
+ w.set_icon_geometry(rect);
+ });
+ },
+
+ _onMouseScroll: function(actor, event) {
+ let scrollAction = Me.settings.get_string('scroll-icon-action');
+
+ if (scrollAction === 'NOTHING' || (!this.window && !this._nWindows)) {
+ return;
+ }
+
+ let direction = Utils.getMouseScrollDirection(event);
+
+ if (direction && !this._timeoutsHandler.getId(T2)) {
+ this._timeoutsHandler.add([T2, SCROLL_ICON_DELAY, () => {}]);
+
+ let windows = this.getAppIconInterestingWindows();
+
+ windows.sort(Taskbar.sortWindowsCompareFunction);
+ Utils.activateSiblingWindow(windows, direction, this.window);
+ }
+ },
+
+ _showDots: function() {
+ // Just update style if dots already exist
+ if (this._focusedDots && this._unfocusedDots) {
+ this._updateWindows();
+ return;
+ }
+
+ if (!this._isGroupApps) {
+ this._focusedDots = new St.Widget({
+ layout_manager: new Clutter.BinLayout(),
+ x_expand: true, y_expand: true,
+ visible: false
+ });
+
+ let mappedId = this.actor.connect('notify::mapped', () => {
+ this._displayProperIndicator();
+ this.actor.disconnect(mappedId);
+ });
+ } else {
+ this._focusedDots = new St.DrawingArea(),
+ this._unfocusedDots = new St.DrawingArea();
+ this._focusedDots._tweeningToSize = null,
+ this._unfocusedDots._tweeningToSize = null;
+
+ this._focusedDots.connect('repaint', Lang.bind(this, function() {
+ if(this._dashItemContainer.animatingOut) {
+ // don't draw and trigger more animations if the icon is in the middle of
+ // being added to the panel
+ return;
+ }
+ this._drawRunningIndicator(this._focusedDots, Me.settings.get_string('dot-style-focused'), true);
+ this._displayProperIndicator();
+ }));
+
+ this._unfocusedDots.connect('repaint', Lang.bind(this, function() {
+ if(this._dashItemContainer.animatingOut) {
+ // don't draw and trigger more animations if the icon is in the middle of
+ // being added to the panel
+ return;
+ }
+ this._drawRunningIndicator(this._unfocusedDots, Me.settings.get_string('dot-style-unfocused'), false);
+ this._displayProperIndicator();
+ }));
+
+ this._dotsContainer.add_child(this._unfocusedDots);
+
+ this._updateWindows();
+
+ this._timeoutsHandler.add([T3, 0, () => {
+ this._resetDots();
+ this._displayProperIndicator();
+ }]);
+ }
+
+ this._dotsContainer.add_child(this._focusedDots);
+ },
+
+ _resetDots: function() {
+ let position = this.dtpPanel.panelManager.panelPositions[this.dtpPanel.monitor.index] || Me.settings.get_string('panel-position');
+ let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
+
+ [this._focusedDots, this._unfocusedDots].forEach(d => {
+ d._tweeningToSize = null;
+ d.set_size(-1, -1);
+ d.x_expand = d.y_expand = false;
+
+ d[isHorizontalDots ? 'width' : 'height'] = 1;
+ d[(isHorizontalDots ? 'y' : 'x') + '_expand'] = true;
+ });
+ },
+
+ _settingsChangeRefresh: function() {
+ if (this._isGroupApps) {
+ this._updateWindows();
+ this._resetDots();
+ this._focusedDots.queue_repaint();
+ this._unfocusedDots.queue_repaint();
+ }
+
+ this._displayProperIndicator(true);
+ },
+
+ _updateWindowTitleStyle: function() {
+ if (this._windowTitle) {
+ let useFixedWidth = Me.settings.get_boolean('group-apps-use-fixed-width');
+ let variableWidth = !useFixedWidth || this.dtpPanel.checkIfVertical() || this.dtpPanel.taskbar.fullScrollView;
+ let scaleFactor = Utils.getScaleFactor();
+ let maxLabelWidth = Me.settings.get_int('group-apps-label-max-width') * scaleFactor;
+
+ this._windowTitle[(maxLabelWidth > 0 ? 'show' : 'hide')]();
+
+ this._windowTitle.clutter_text.natural_width = useFixedWidth ? maxLabelWidth : 0;
+ this._windowTitle.clutter_text.natural_width_set = useFixedWidth;
+ this._windowTitle.set_width(variableWidth ? -1 : maxLabelWidth + TITLE_RIGHT_PADDING * scaleFactor);
+
+ this._windowTitle.set_style((useFixedWidth ? '' : 'max-width: ' + maxLabelWidth + 'px;'));
+ }
+ },
+
+ _updateWindowTitle: function() {
+ if (this._windowTitle.text != this.window.title) {
+ this._windowTitle.text = (this.window.title ? this.window.title : this.app.get_name()).replace(/\r?\n|\r/g, '').trim();
+
+ if (this._focusedDots) {
+ this._displayProperIndicator();
+ }
+ }
+ },
+
+ _setIconStyle: function(isFocused) {
+ let inlineStyle = 'margin: 0;';
+
+ if(this._dotsContainer.get_style() != inlineStyle && this._dotsContainer.mapped) {
+ if (!this._isGroupApps) {
+ //when the apps are ungrouped, set the style synchronously so the icons don't jump around on taskbar redraw
+ this._dotsContainer.set_style(inlineStyle);
+ } else if (!this._timeoutsHandler.getId(T1)) {
+ //graphical glitches if i dont set this on a timeout
+ this._timeoutsHandler.add([T1, 0, () => this._dotsContainer.set_style(inlineStyle)]);
+ }
+ }
+ },
+
+ _checkIfFocusedApp: function() {
+ return tracker.focus_app == this.app;
+ },
+
+ _checkIfMonitorHasFocus: function() {
+ return global.display.focus_window &&
+ (!Me.settings.get_boolean('multi-monitors') || // only check same monitor index if multi window is enabled.
+ !Me.settings.get_boolean('isolate-monitors') ||
+ global.display.focus_window.get_monitor() === this.dtpPanel.monitor.index);
+ },
+
+ _setAppIconPadding: function() {
+ let padding = getIconPadding();
+ let margin = Taskbar.APPICON_MARGIN;
+
+ this.actor.set_style('padding:' + (this.dtpPanel.checkIfVertical() ? margin + 'px 0' : '0 ' + margin + 'px;'));
+ this._iconContainer.set_style('padding: ' + padding + 'px;');
+ },
+
+ popupMenu: function() {
+ this._removeMenuTimeout();
+ this.actor.fake_release();
+
+ if (this._draggable) {
+ this._draggable.fakeRelease();
+ }
+
+ if (this.isDragged) {
+ return;
+ }
+
+ if (!this._menu) {
+ this._menu = new taskbarSecondaryMenu(this, this.dtpPanel);
+ this._menu.connect('activate-window', Lang.bind(this, function (menu, window) {
+ this.activateWindow(window, Me.settings);
+ }));
+ this._menu.connect('open-state-changed', Lang.bind(this, function (menu, isPoppedUp) {
+ if (!isPoppedUp)
+ this._onMenuPoppedDown();
+ }));
+ let id = Main.overview.connect('hiding', Lang.bind(this, function () { this._menu.close(); }));
+ this._menu.actor.connect('destroy', function() {
+ Main.overview.disconnect(id);
+ });
+
+ this._menuManager.addMenu(this._menu);
+ }
+
+ this.emit('menu-state-changed', true);
+
+ this._previewMenu.close(true);
+
+ this.actor.set_hover(true);
+ this._menu.actor.add_style_class_name('zorintaskbarSecondaryMenu');
+ this._menu.popup();
+ this._menuManager.ignoreRelease();
+ this.emit('sync-tooltip');
+
+ return false;
+ },
+
+ _onFocusAppChanged: function(windowTracker) {
+ this._displayProperIndicator(true);
+ },
+
+ _onOverviewWindowDragEnd: function(windowTracker) {
+ this._timeoutsHandler.add([T4, 0, () => this._displayProperIndicator()]);
+ },
+
+ _onSwitchWorkspace: function(windowTracker) {
+ if (this._isGroupApps) {
+ this._timeoutsHandler.add([T5, 0, () => this._displayProperIndicator(true)]);
+ } else {
+ this._displayProperIndicator();
+ }
+ },
+
+ _displayProperIndicator: function (force) {
+ let isFocused = this._isFocusedWindow();
+ let position = this.dtpPanel.panelManager.panelPositions[this.dtpPanel.monitor.index] || Me.settings.get_string('panel-position');
+ let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
+
+ this._setIconStyle(isFocused);
+
+ if(!this._isGroupApps) {
+ if (this.window && isFocused) {
+ let align = Clutter.ActorAlign[position == DOT_POSITION.TOP || position == DOT_POSITION.LEFT ? 'START' : 'END'];
+
+ this._focusedDots.set_size(0, 0);
+ this._focusedDots[isHorizontalDots ? 'height' : 'width'] = this._getRunningIndicatorSize();
+
+ this._focusedDots.y_align = this._focusedDots.x_align = Clutter.ActorAlign.FILL;
+ this._focusedDots[(isHorizontalDots ? 'y' : 'x') + '_align'] = align;
+ this._focusedDots.background_color = this._getRunningIndicatorColor(isFocused);
+ this._focusedDots.show();
+ } else if (this._focusedDots.visible) {
+ this._focusedDots.hide();
+ }
+ } else {
+ let sizeProp = isHorizontalDots ? 'width' : 'height';
+ let containerSize = this._container[sizeProp];
+ let focusedDotStyle = Me.settings.get_string('dot-style-focused');
+ let unfocusedDotStyle = Me.settings.get_string('dot-style-unfocused');
+ let focusedIsWide = this._isWideDotStyle(focusedDotStyle);
+ let unfocusedIsWide = this._isWideDotStyle(unfocusedDotStyle);
+
+ let newFocusedDotsSize = 0;
+ let newFocusedDotsOpacity = 0;
+ let newUnfocusedDotsSize = 0;
+ let newUnfocusedDotsOpacity = 0;
+
+ isFocused = this._checkIfFocusedApp() && this._checkIfMonitorHasFocus();
+
+ this._timeoutsHandler.add([T6, 0, () => {
+ if (!this._destroyed) {
+ if(isFocused)
+ this.actor.add_style_class_name('focused');
+ else
+ this.actor.remove_style_class_name('focused');
+ }
+ }]);
+
+ if(focusedIsWide) {
+ newFocusedDotsSize = (isFocused && this._nWindows > 0) ? containerSize : 0;
+ newFocusedDotsOpacity = 255;
+ } else {
+ newFocusedDotsSize = containerSize;
+ newFocusedDotsOpacity = (isFocused && this._nWindows > 0) ? 255 : 0;
+ }
+
+ if(unfocusedIsWide) {
+ newUnfocusedDotsSize = (!isFocused && this._nWindows > 0) ? containerSize : 0;
+ newUnfocusedDotsOpacity = 255;
+ } else {
+ newUnfocusedDotsSize = containerSize;
+ newUnfocusedDotsOpacity = (!isFocused && this._nWindows > 0) ? 255 : 0;
+ }
+
+ // Only animate if...
+ // going from a wide style to a narrow style indicator or vice-versa
+ // OR going from an open app to a closed app or vice versa
+ if((focusedIsWide != unfocusedIsWide) ||
+ (this._focusedDots[sizeProp] != newUnfocusedDotsSize || this._unfocusedDots[sizeProp] != newFocusedDotsSize)) {
+ this._animateDotDisplay(this._focusedDots, newFocusedDotsSize, this._unfocusedDots, newUnfocusedDotsOpacity, force, sizeProp);
+ this._animateDotDisplay(this._unfocusedDots, newUnfocusedDotsSize, this._focusedDots, newFocusedDotsOpacity, force, sizeProp);
+ } else {
+ this._focusedDots.opacity = newFocusedDotsOpacity;
+ this._unfocusedDots.opacity = newUnfocusedDotsOpacity;
+ this._focusedDots[sizeProp] = newFocusedDotsSize;
+ this._unfocusedDots[sizeProp] = newUnfocusedDotsSize;
+ }
+ }
+ },
+
+ _animateDotDisplay: function (dots, newSize, otherDots, newOtherOpacity, force, sizeProp) {
+ if((dots[sizeProp] != newSize && dots._tweeningToSize !== newSize) || force) {
+ let tweenOpts = {
+ time: Taskbar.DASH_ANIMATION_TIME,
+ transition: 'easeInOutCubic',
+ onComplete: Lang.bind(this, function() {
+ if(newOtherOpacity > 0)
+ otherDots.opacity = newOtherOpacity;
+ dots._tweeningToSize = null;
+ })
+ };
+
+ if(newOtherOpacity == 0)
+ otherDots.opacity = newOtherOpacity;
+
+ tweenOpts[sizeProp] = newSize;
+ dots._tweeningToSize = newSize;
+
+ Utils.animate(dots, tweenOpts);
+ }
+ },
+
+ _isFocusedWindow: function() {
+ let focusedWindow = global.display.focus_window;
+
+ while (focusedWindow) {
+ if (focusedWindow == this.window) {
+ return true;
+ }
+
+ focusedWindow = focusedWindow.get_transient_for();
+ }
+
+ return false;
+ },
+
+ _isWideDotStyle: function(dotStyle) {
+ return dotStyle == DOT_STYLE.SEGMENTED ||
+ dotStyle == DOT_STYLE.CILIORA ||
+ dotStyle == DOT_STYLE.METRO ||
+ dotStyle == DOT_STYLE.SOLID;
+ },
+
+ _isThemeProvidingIndicator: function () {
+ // This is an attempt to determine if the theme is providing their own
+ // running indicator by way of a border image on the icon, for example in
+ // the theme Ciliora
+ return (this.icon.actor.get_stage() &&
+ this.icon.actor.get_theme_node().get_border_image());
+ },
+
+ activate: function(button, handleAsGrouped) {
+ let event = Clutter.get_current_event();
+ let modifiers = event ? event.get_state() : 0;
+
+ // Only consider SHIFT and CONTROL as modifiers (exclude SUPER, CAPS-LOCK, etc.)
+ modifiers = modifiers & (Clutter.ModifierType.SHIFT_MASK | Clutter.ModifierType.CONTROL_MASK);
+
+ // We don't change the CTRL-click behaviour: in such case we just chain
+ // up the parent method and return.
+ if (modifiers & Clutter.ModifierType.CONTROL_MASK) {
+ // Keep default behaviour: launch new window
+ // By calling the parent method I make it compatible
+ // with other extensions tweaking ctrl + click
+ this.callParent('activate', button);
+ return;
+ }
+
+ // We check what type of click we have and if the modifier SHIFT is
+ // being used. We then define what buttonAction should be for this
+ // event.
+ let buttonAction = 0;
+ if (button && button == 2 ) {
+ if (modifiers & Clutter.ModifierType.SHIFT_MASK)
+ buttonAction = Me.settings.get_string('shift-middle-click-action');
+ else
+ buttonAction = Me.settings.get_string('middle-click-action');
+ }
+ else if (button && button == 1) {
+ if (modifiers & Clutter.ModifierType.SHIFT_MASK)
+ buttonAction = Me.settings.get_string('shift-click-action');
+ else
+ buttonAction = Me.settings.get_string('click-action');
+ }
+
+ let appCount = this.getAppIconInterestingWindows().length;
+ let previewedAppIcon = this._previewMenu.getCurrentAppIcon();
+ this._previewMenu.close(true);
+
+ // We check if the app is running, and that the # of windows is > 0 in
+ // case we use workspace isolation,
+ let appIsRunning = this.app.state == Shell.AppState.RUNNING && appCount > 0;
+
+ // We customize the action only when the application is already running
+ if (appIsRunning && !this.isLauncher) {
+ if (this.window && !handleAsGrouped) {
+ //ungrouped applications behaviors
+ switch (buttonAction) {
+ case 'RAISE': case 'CYCLE': case 'CYCLE-MIN': case 'MINIMIZE': case 'TOGGLE-SHOWPREVIEW':
+ if (!Main.overview._shown &&
+ (buttonAction == 'MINIMIZE' || buttonAction == 'TOGGLE-SHOWPREVIEW' || buttonAction == 'CYCLE-MIN') &&
+ (this._isFocusedWindow() || (buttonAction == 'MINIMIZE' && (button == 2 || modifiers & Clutter.ModifierType.SHIFT_MASK)))) {
+ this.window.minimize();
+ } else {
+ Main.activateWindow(this.window);
+ }
+
+ break;
+
+ case "LAUNCH":
+ this._launchNewInstance();
+ break;
+
+ case "QUIT":
+ this.window.delete(global.get_current_time());
+ break;
+ }
+ } else {
+ //grouped application behaviors
+ let monitor = this.dtpPanel.monitor;
+ let appHasFocus = this._checkIfFocusedApp() && this._checkIfMonitorHasFocus();
+
+ switch (buttonAction) {
+ case "RAISE":
+ activateAllWindows(this.app, monitor);
+ break;
+
+ case "LAUNCH":
+ this._launchNewInstance();
+ break;
+
+ case "MINIMIZE":
+ // In overview just activate the app, unless the acion is explicitely
+ // requested with a keyboard modifier
+ if (!Main.overview._shown || modifiers){
+ // If we have button=2 or a modifier, allow minimization even if
+ // the app is not focused
+ if (appHasFocus || button == 2 || modifiers & Clutter.ModifierType.SHIFT_MASK) {
+ // minimize all windows on double click and always in the case of primary click without
+ // additional modifiers
+ let all_windows = (button == 1 && ! modifiers) || event.get_click_count() > 1;
+ minimizeWindow(this.app, all_windows, monitor);
+ }
+ else
+ activateAllWindows(this.app, monitor);
+ }
+ else
+ this.app.activate();
+ break;
+
+ case "CYCLE":
+ if (!Main.overview._shown){
+ if (appHasFocus)
+ cycleThroughWindows(this.app, false, false, monitor);
+ else {
+ activateFirstWindow(this.app, monitor);
+ }
+ }
+ else
+ this.app.activate();
+ break;
+ case "CYCLE-MIN":
+ if (!Main.overview._shown){
+ if (appHasFocus || (recentlyClickedApp == this.app && recentlyClickedAppWindows[recentlyClickedAppIndex % recentlyClickedAppWindows.length] == "MINIMIZE"))
+ cycleThroughWindows(this.app, false, true, monitor);
+ else {
+ activateFirstWindow(this.app, monitor);
+ }
+ }
+ else
+ this.app.activate();
+ break;
+ case "TOGGLE-SHOWPREVIEW":
+ if (!Main.overview._shown) {
+ if (appCount == 1) {
+ if (appHasFocus)
+ minimizeWindow(this.app, false, monitor);
+ else
+ activateFirstWindow(this.app, monitor);
+ } else {
+ if (event.get_click_count() > 1) {
+ // minimize all windows if double clicked
+ minimizeWindow(this.app, true, monitor);
+ } else if (previewedAppIcon != this) {
+ this._previewMenu.open(this);
+ }
+
+ this.emit('sync-tooltip');
+ }
+ }
+ else
+ this.app.activate();
+ break;
+
+ case "QUIT":
+ closeAllWindows(this.app, monitor);
+ break;
+ }
+ }
+ }
+ else {
+ this._launchNewInstance();
+ }
+
+ Main.overview.hide();
+ },
+
+ _launchNewInstance: function() {
+ if (this.app.can_open_new_window()) {
+ let appActions = this.app.get_app_info().list_actions();
+ let newWindowIndex = appActions.indexOf('new-window');
+
+ this.animateLaunch();
+
+ if (newWindowIndex < 0) {
+ this.app.open_new_window(-1);
+ } else {
+ this.app.launch_action(appActions[newWindowIndex], global.get_current_time(), -1);
+ }
+ } else {
+ let windows = this.window ? [this.window] : this.app.get_windows();
+
+ if (windows.length) {
+ Main.activateWindow(windows[0]);
+ } else {
+ this.app.activate();
+ }
+ }
+ },
+
+ _updateWindows: function() {
+ let windows = [this.window];
+
+ if (!this.window) {
+ windows = this.getAppIconInterestingWindows();
+
+ this._nWindows = windows.length;
+
+ for (let i = 1; i <= MAX_INDICATORS; i++){
+ let className = 'running'+i;
+ if(i != this._nWindows)
+ this.actor.remove_style_class_name(className);
+ else
+ this.actor.add_style_class_name(className);
+ }
+ }
+
+ this._previewMenu.update(this, windows);
+ },
+
+ _getRunningIndicatorCount: function() {
+ return Math.min(this._nWindows, MAX_INDICATORS);
+ },
+
+ _getRunningIndicatorSize: function() {
+ return DOT_SIZE * Utils.getScaleFactor();
+ },
+
+ _getRunningIndicatorColor: function(isFocused) {
+ let color;
+ const fallbackColor = new Clutter.Color({ red: 82, green: 148, blue: 226, alpha: 255 });
+
+ if (Me.settings.get_boolean('dot-color-dominant')) {
+ let dce = new Utils.DominantColorExtractor(this.app);
+ let palette = dce._getColorPalette();
+ if (palette) {
+ color = Clutter.color_from_string(palette.original)[1];
+ } else { // unable to determine color, fall back to theme
+ let themeNode = this._dot.get_theme_node();
+ color = themeNode.get_background_color();
+
+ // theme didn't provide one, use a default
+ if(color.alpha == 0) color = fallbackColor;
+ }
+ } else {
+ // Re-use the style - background color, and border width and color -
+ // of the default dot
+ let themeNode = this._dot.get_theme_node();
+ color = themeNode.get_background_color();
+
+ // theme didn't provide one, use a default
+ if(color.alpha == 0) color = fallbackColor;
+ }
+
+ return color;
+ },
+
+ _drawRunningIndicator: function(area, type, isFocused) {
+ let n = this._getRunningIndicatorCount();
+
+ if (!n) {
+ return;
+ }
+
+ let position = this.dtpPanel.panelManager.panelPositions[this.dtpPanel.monitor.index] || Me.settings.get_string('panel-position');
+ let isHorizontalDots = position == DOT_POSITION.TOP || position == DOT_POSITION.BOTTOM;
+ let bodyColor = this._getRunningIndicatorColor(isFocused);
+ let [areaWidth, areaHeight] = area.get_surface_size();
+ let cr = area.get_context();
+ let size = this._getRunningIndicatorSize();
+
+ let areaSize = areaWidth;
+ let startX = 0;
+ let startY = 0;
+
+ if (isHorizontalDots) {
+ if (position == DOT_POSITION.BOTTOM) {
+ startY = areaHeight - size;
+ }
+ } else {
+ areaSize = areaHeight;
+
+ if (position == DOT_POSITION.RIGHT) {
+ startX = areaWidth - size;
+ }
+ }
+
+ if (type == DOT_STYLE.SOLID || type == DOT_STYLE.METRO) {
+ if (type == DOT_STYLE.SOLID || n <= 1) {
+ cr.translate(startX, startY);
+ Clutter.cairo_set_source_color(cr, bodyColor);
+ cr.newSubPath();
+ cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [areaSize, size] : [size, areaSize]));
+ cr.fill();
+ } else {
+ 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 blackenedColor = bodyColor.shade(.3);
+ let darkenedColor = bodyColor.shade(.7);
+ let solidDarkLength = areaSize - darkenedLength;
+ let solidLength = solidDarkLength - blackenedLength;
+
+ cr.translate(startX, startY);
+
+ Clutter.cairo_set_source_color(cr, bodyColor);
+ cr.newSubPath();
+ cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [solidLength, size] : [size, solidLength]));
+ cr.fill();
+ Clutter.cairo_set_source_color(cr, blackenedColor);
+ cr.newSubPath();
+ cr.rectangle.apply(cr, isHorizontalDots ? [solidLength, 0, 1, size] : [0, solidLength, size, 1]);
+ cr.fill();
+ Clutter.cairo_set_source_color(cr, darkenedColor);
+ cr.newSubPath();
+ cr.rectangle.apply(cr, isHorizontalDots ? [solidDarkLength, 0, darkenedLength, size] : [0, solidDarkLength, size, darkenedLength]);
+ cr.fill();
+ }
+ } else {
+ let spacing = Math.ceil(areaSize / 18); // separation between the indicators
+ let length;
+ let dist;
+ let indicatorSize;
+ let translate;
+ let preDraw = () => {};
+ let draw;
+ let drawDash = (i, dashLength) => {
+ dist = i * dashLength + i * spacing;
+ cr.rectangle.apply(cr, (isHorizontalDots ? [dist, 0, dashLength, size] : [0, dist, size, dashLength]));
+ };
+
+ switch (type) {
+ case DOT_STYLE.CILIORA:
+ spacing = size;
+ length = areaSize - (size * (n - 1)) - (spacing * (n - 1));
+ translate = () => cr.translate(startX, startY);
+ preDraw = () => {
+ cr.newSubPath();
+ cr.rectangle.apply(cr, [0, 0].concat(isHorizontalDots ? [length, size] : [size, length]));
+ };
+ draw = i => {
+ dist = length + (i * spacing) + ((i - 1) * size);
+ cr.rectangle.apply(cr, (isHorizontalDots ? [dist, 0] : [0, dist]).concat([size, size]));
+ };
+ break;
+ case DOT_STYLE.DOTS:
+ let radius = size / 2;
+
+ translate = () => {
+ indicatorSize = Math.floor((areaSize - n * size - (n - 1) * spacing) / 2);
+ cr.translate.apply(cr, isHorizontalDots ? [indicatorSize, startY] : [startX, indicatorSize]);
+ }
+ draw = i => {
+ dist = (2 * i + 1) * radius + i * spacing;
+ cr.arc.apply(cr, (isHorizontalDots ? [dist, radius] : [radius, dist]).concat([radius, 0, 2 * Math.PI]));
+ };
+ break;
+ case DOT_STYLE.SQUARES:
+ translate = () => {
+ indicatorSize = Math.floor((areaSize - n * size - (n - 1) * spacing) / 2);
+ cr.translate.apply(cr, isHorizontalDots ? [indicatorSize, startY] : [startX, indicatorSize]);
+ }
+ draw = i => {
+ dist = i * size + i * spacing;
+ cr.rectangle.apply(cr, (isHorizontalDots ? [dist, 0] : [0, dist]).concat([size, size]));
+ };
+ break;
+ case DOT_STYLE.DASHES:
+ length = Math.floor(areaSize / 4) - spacing;
+ translate = () => {
+ indicatorSize = Math.floor((areaSize - n * length - (n - 1) * spacing) / 2);
+ cr.translate.apply(cr, isHorizontalDots ? [indicatorSize, startY] : [startX, indicatorSize]);
+ }
+ draw = i => drawDash(i, length);
+ break;
+ case DOT_STYLE.SEGMENTED:
+ length = Math.ceil((areaSize - ((n - 1) * spacing)) / n);
+ translate = () => cr.translate(startX, startY);
+ draw = i => drawDash(i, length);
+ break;
+ }
+
+ translate();
+
+ Clutter.cairo_set_source_color(cr, bodyColor);
+ preDraw();
+ for (let i = 0; i < n; i++) {
+ cr.newSubPath();
+ draw(i);
+ }
+ cr.fill();
+ }
+
+ cr.$dispose();
+ },
+
+ _numberOverlay: function() {
+ // Add label for a Hot-Key visual aid
+ this._numberOverlayLabel = new St.Label({ style_class: 'badge' });
+ this._numberOverlayBin = new St.Bin({
+ child: this._numberOverlayLabel, y: 2
+ });
+ this._numberOverlayLabel.add_style_class_name('number-overlay');
+ this._numberOverlayOrder = -1;
+ this._numberOverlayBin.hide();
+
+ this._dtpIconContainer.add_child(this._numberOverlayBin);
+ },
+
+ updateHotkeyNumberOverlay: function() {
+ this.updateNumberOverlay(this._numberOverlayBin, true);
+ },
+
+ updateNumberOverlay: function(bin, fixedSize) {
+ // We apply an overall scale factor that might come from a HiDPI monitor.
+ // Clutter dimensions are in physical pixels, but CSS measures are in logical
+ // pixels, so make sure to consider the scale.
+ // Set the font size to something smaller than the whole icon so it is
+ // still visible. The border radius is large to make the shape circular
+ let [minWidth, natWidth] = this._dtpIconContainer.get_preferred_width(-1);
+ let font_size = Math.round(Math.max(12, 0.2 * natWidth) / Utils.getScaleFactor());
+ let size = Math.round(font_size * 1.3);
+ let label = bin.child;
+ let style = 'font-size: ' + font_size + 'px;' +
+ 'border-radius: ' + this.icon.iconSize + 'px;' +
+ 'height: ' + size +'px;';
+
+ if (fixedSize) {
+ style += 'width: ' + size + 'px;';
+ } else {
+ style += 'padding: 0.2em 0.5em;';
+ }
+
+ bin.x = 2;
+ label.set_style(style);
+ },
+
+ setNumberOverlay: function(number) {
+ this._numberOverlayOrder = number;
+ this._numberOverlayLabel.set_text(number.toString());
+ },
+
+ toggleNumberOverlay: function(activate) {
+ if (activate && this._numberOverlayOrder > -1)
+ this._numberOverlayBin.show();
+ else
+ this._numberOverlayBin.hide();
+ },
+
+ handleDragOver: function(source, actor, x, y, time) {
+ if (source == Main.xdndHandler) {
+ this._previewMenu.close(true);
+ }
+
+ return DND.DragMotionResult.CONTINUE;
+ },
+
+ // Disable all DnD methods on gnome-shell 3.34
+ _onDragBegin: function() {},
+ _onDragEnd: function() {},
+ acceptDrop: function() { return false; },
+
+ getAppIconInterestingWindows: function(isolateMonitors) {
+ return getInterestingWindows(this.app, this.dtpPanel.monitor, isolateMonitors);
+ }
+});
+taskbarAppIcon.prototype.scaleAndFade = taskbarAppIcon.prototype.undoScaleAndFade = () => {};
+
+function minimizeWindow(app, param, monitor){
+ // Param true make all app windows minimize
+ let windows = getInterestingWindows(app, monitor);
+ let current_workspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
+ for (let i = 0; i < windows.length; i++) {
+ let w = windows[i];
+ if (w.get_workspace() == current_workspace && w.showing_on_its_workspace()){
+ w.minimize();
+ // Just minimize one window. By specification it should be the
+ // focused window on the current workspace.
+ if(!param)
+ break;
+ }
+ }
+}
+
+/*
+ * By default only non minimized windows are activated.
+ * This activates all windows in the current workspace.
+ */
+function activateAllWindows(app, monitor){
+
+ // First activate first window so workspace is switched if needed,
+ // then activate all other app windows in the current workspace.
+ let windows = getInterestingWindows(app, monitor);
+ let w = windows[0];
+ Main.activateWindow(w);
+ let activeWorkspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace_index();
+
+ if (windows.length <= 0)
+ return;
+
+ for (let i = windows.length - 1; i >= 0; i--){
+ if (windows[i].get_workspace().index() == activeWorkspace){
+ Main.activateWindow(windows[i]);
+ }
+ }
+}
+
+function activateFirstWindow(app, monitor){
+
+ let windows = getInterestingWindows(app, monitor);
+ Main.activateWindow(windows[0]);
+}
+
+function cycleThroughWindows(app, reversed, shouldMinimize, monitor) {
+ // Store for a little amount of time last clicked app and its windows
+ // since the order changes upon window interaction
+ let MEMORY_TIME=3000;
+
+ let app_windows = getInterestingWindows(app, monitor);
+
+ if(shouldMinimize)
+ app_windows.push("MINIMIZE");
+
+ if (recentlyClickedAppLoopId > 0)
+ Mainloop.source_remove(recentlyClickedAppLoopId);
+
+ recentlyClickedAppLoopId = Mainloop.timeout_add(MEMORY_TIME, resetRecentlyClickedApp);
+
+ // If there isn't already a list of windows for the current app,
+ // or the stored list is outdated, use the current windows list.
+ if (!recentlyClickedApp ||
+ recentlyClickedApp.get_id() != app.get_id() ||
+ recentlyClickedAppWindows.length != app_windows.length ||
+ recentlyClickedAppMonitorIndex != monitor.index) {
+ recentlyClickedApp = app;
+ recentlyClickedAppWindows = app_windows;
+ recentlyClickedAppIndex = 0;
+ recentlyClickedAppMonitorIndex = monitor.index;
+ }
+
+ if (reversed) {
+ recentlyClickedAppIndex--;
+ if (recentlyClickedAppIndex < 0) recentlyClickedAppIndex = recentlyClickedAppWindows.length - 1;
+ } else {
+ recentlyClickedAppIndex++;
+ }
+ let index = recentlyClickedAppIndex % recentlyClickedAppWindows.length;
+
+ if(recentlyClickedAppWindows[index] === "MINIMIZE")
+ minimizeWindow(app, true, monitor);
+ else
+ Main.activateWindow(recentlyClickedAppWindows[index]);
+}
+
+function resetRecentlyClickedApp() {
+ if (recentlyClickedAppLoopId > 0)
+ Mainloop.source_remove(recentlyClickedAppLoopId);
+
+ recentlyClickedAppLoopId=0;
+ recentlyClickedApp =null;
+ recentlyClickedAppWindows = null;
+ recentlyClickedAppIndex = 0;
+ recentlyClickedAppMonitorIndex = null;
+
+ return false;
+}
+
+function closeAllWindows(app, monitor) {
+ let windows = getInterestingWindows(app, monitor);
+ for (let i = 0; i < windows.length; i++)
+ windows[i].delete(global.get_current_time());
+}
+
+// Filter out unnecessary windows, for instance
+// nautilus desktop window.
+function getInterestingWindows(app, monitor, isolateMonitors) {
+ let windows = app.get_windows().filter(function(w) {
+ return !w.skip_taskbar;
+ });
+
+ // 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
+ if (Me.settings.get_boolean('isolate-workspaces'))
+ windows = windows.filter(function(w) {
+ return w.get_workspace().index() == Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace_index();
+ });
+
+ if (monitor && Me.settings.get_boolean('multi-monitors') && (isolateMonitors || Me.settings.get_boolean('isolate-monitors'))) {
+ windows = windows.filter(function(w) {
+ return w.get_monitor() == monitor.index;
+ });
+ }
+
+ return windows;
+}
+
+function cssHexTocssRgba(cssHex, opacity) {
+ var bigint = parseInt(cssHex.slice(1), 16);
+ var r = (bigint >> 16) & 255;
+ var g = (bigint >> 8) & 255;
+ var b = bigint & 255;
+
+ return 'rgba(' + [r, g, b].join(',') + ',' + opacity + ')';
+}
+
+function getIconPadding() {
+ let panelSize = Me.settings.get_int('panel-size');
+ let padding = Taskbar.APPICON_PADDING;
+ let availSize = panelSize - Taskbar.MIN_ICON_SIZE - panelSize % 2;
+
+ if (padding * 2 > availSize) {
+ padding = availSize * .5;
+ }
+
+ return padding;
+}
+
+/**
+ * Extend AppIconMenu
+ *
+ * - set popup arrow side based on taskbar orientation
+ * - Add close windows option based on quitfromdash extension
+ * (https://github.com/deuill/shell-extension-quitfromdash)
+ */
+
+var taskbarSecondaryMenu = Utils.defineClass({
+ Name: 'ZorinTaskbar.SecondaryMenu',
+ Extends: AppDisplay.AppIconMenu,
+ ParentConstrParams: [[0]],
+
+ _init: function(source, panel) {
+ // Damm it, there has to be a proper way of doing this...
+ // As I can't call the parent parent constructor (?) passing the side
+ // parameter, I overwite what I need later
+ this.callParent('_init', source);
+
+ let side = panel.getPosition();
+ // Change the initialized side where required.
+ this._arrowSide = side;
+ this._boxPointer._arrowSide = side;
+ this._boxPointer._userArrowSide = side;
+ },
+
+ // helper function for the quit windows abilities
+ _closeWindowInstance: function(metaWindow) {
+ metaWindow.delete(global.get_current_time());
+ },
+
+ _dtpRedisplay: function(parentFunc) {
+ this.callParent(parentFunc);
+
+ // prepend items from the appMenu (for native gnome apps)
+ let appMenu = this._source.app.menu;
+ if(appMenu) {
+ let remoteMenu = new imports.ui.remoteMenu.RemoteMenu(this._source.actor, this._source.app.menu, this._source.app.action_group);
+ let appMenuItems = remoteMenu._getMenuItems();
+ for(var i = 0, l = appMenuItems.length || 0; i < l; ++i) {
+ let menuItem = appMenuItems[i];
+ let labelText = menuItem.actor.label_actor.text;
+ if(labelText == _("New Window") || labelText == _("Quit"))
+ continue;
+
+ if(menuItem instanceof PopupMenu.PopupSeparatorMenuItem)
+ continue;
+
+ // this ends up getting called multiple times, and bombing due to the signal id's being invalid
+ // on a 2nd pass. disconnect the base handler and attach our own that wraps the id's in if statements
+ menuItem.disconnect(menuItem._popupMenuDestroyId)
+ menuItem._popupMenuDestroyId = menuItem.connect('destroy', Lang.bind(this, function(menuItem) {
+ if(menuItem._popupMenuDestroyId) {
+ menuItem.disconnect(menuItem._popupMenuDestroyId);
+ menuItem._popupMenuDestroyId = 0;
+ }
+ if(menuItem._activateId) {
+ menuItem.disconnect(menuItem._activateId);
+ menuItem._activateId = 0;
+ }
+ if(menuItem._activeChangeId) {
+ menuItem.disconnect(menuItem._activeChangeId);
+ menuItem._activeChangeId = 0;
+ }
+ if(menuItem._sensitiveChangeId) {
+ menuItem.disconnect(menuItem._sensitiveChangeId);
+ menuItem._sensitiveChangeId = 0;
+ }
+ this.disconnect(menuItem._parentSensitiveChangeId);
+ if (menuItem == this._activeMenuItem)
+ this._activeMenuItem = null;
+ }));
+
+ menuItem.actor.get_parent().remove_child(menuItem.actor);
+ if(menuItem instanceof PopupMenu.PopupSubMenuMenuItem) {
+ let newSubMenuMenuItem = new PopupMenu.PopupSubMenuMenuItem(labelText);
+ let appSubMenuItems = menuItem.menu._getMenuItems();
+ for(let appSubMenuIdx in appSubMenuItems){
+ let subMenuItem = appSubMenuItems[appSubMenuIdx];
+ subMenuItem.actor.get_parent().remove_child(subMenuItem.actor);
+ newSubMenuMenuItem.menu.addMenuItem(subMenuItem);
+ }
+ this.addMenuItem(newSubMenuMenuItem, i);
+ } else
+ this.addMenuItem(menuItem, i);
+ }
+
+ if(i > 0) {
+ let separator = new PopupMenu.PopupSeparatorMenuItem();
+ this.addMenuItem(separator, i);
+ }
+ }
+
+ // quit menu
+ let app = this._source.app;
+ let window = this._source.window;
+ let count = window ? 1 : getInterestingWindows(app).length;
+ if ( count > 0) {
+ this._appendSeparator();
+ let quitFromTaskbarMenuText = "";
+ if (count == 1)
+ quitFromTaskbarMenuText = _("Quit");
+ else
+ quitFromTaskbarMenuText = _("Quit") + ' ' + count + ' ' + _("Windows");
+
+ this._quitfromTaskbarMenuItem = this._appendMenuItem(quitFromTaskbarMenuText);
+ this._quitfromTaskbarMenuItem.connect('activate', Lang.bind(this, function() {
+ let app = this._source.app;
+ let windows = window ? [window] : app.get_windows();
+ for (i = 0; i < windows.length; i++) {
+ this._closeWindowInstance(windows[i])
+ }
+ }));
+ }
+ }
+});
+Signals.addSignalMethods(taskbarSecondaryMenu.prototype);
+adjustMenuRedisplay(taskbarSecondaryMenu.prototype);
+
+/**
+ * This function is used for extendDashItemContainer
+ */
+function ItemShowLabel() {
+ if (!this._labelText)
+ return;
+
+ this.label.set_text(this._labelText);
+ this.label.opacity = 0;
+ this.label.show();
+
+ let [stageX, stageY] = this.get_transformed_position();
+ let node = this.label.get_theme_node();
+
+ let itemWidth = this.allocation.x2 - this.allocation.x1;
+ let itemHeight = this.allocation.y2 - this.allocation.y1;
+
+ let labelWidth = this.label.get_width();
+ let labelHeight = this.label.get_height();
+
+ let position = this._dtpPanel.getPosition();
+ let labelOffset = node.get_length('-x-offset');
+
+ let xOffset = Math.floor((itemWidth - labelWidth) / 2);
+ let x = stageX + xOffset
+ let y = stageY + (itemHeight - labelHeight) * .5;
+
+ switch(position) {
+ case St.Side.TOP:
+ y = stageY + labelOffset + itemHeight;
+ break;
+ case St.Side.BOTTOM:
+ y = stageY - labelHeight - labelOffset;
+ break;
+ case St.Side.LEFT:
+ x = stageX + labelOffset + itemWidth;
+ break;
+ case St.Side.RIGHT:
+ x = stageX - labelWidth - labelOffset;
+ break;
+ }
+
+ // keep the label inside the screen border
+ // Only needed for the x coordinate.
+
+ // Leave a few pixel gap
+ let gap = LABEL_GAP;
+ let monitor = Main.layoutManager.findMonitorForActor(this);
+ if ( x - monitor.x < gap)
+ x += monitor.x - x + labelOffset;
+ else if ( x + labelWidth > monitor.x + monitor.width - gap)
+ x -= x + labelWidth -( monitor.x + monitor.width) + gap;
+
+ this.label.set_position(Math.round(x), Math.round(y));
+
+ let duration = Dash.DASH_ITEM_LABEL_SHOW_TIME;
+
+ if (duration > 1) {
+ duration /= 1000;
+ }
+
+ Utils.animate(this.label, {
+ opacity: 255,
+ time: duration,
+ transition: 'easeOutQuad',
+ });
+};
+
+/**
+ * A wrapper class around the ShowAppsIcon class.
+ *
+ * - Pass settings to the constructor
+ * - set label position based on dash orientation (Note, I am reusing most machinery of the appIcon class)
+ * - implement a popupMenu based on the AppIcon code (Note, I am reusing most machinery of the appIcon class)
+ *
+ * I can't subclass the original object because of this: https://bugzilla.gnome.org/show_bug.cgi?id=688973.
+ * thus use this pattern where the real showAppsIcon object is encaptulated, and a reference to it will be properly wired upon
+ * use of this class in place of the original showAppsButton.
+ *
+ */
+var ShowAppsIconWrapper = Utils.defineClass({
+ Name: 'ZorinTaskbar.ShowAppsIconWrapper',
+
+ _init: function(dtpPanel) {
+ this.realShowAppsIcon = new Dash.ShowAppsIcon();
+
+ Utils.wrapActor(this.realShowAppsIcon);
+ Utils.wrapActor(this.realShowAppsIcon.toggleButton);
+
+ /* the variable equivalent to toggleButton has a different name in the appIcon class
+ (actor): duplicate reference to easily reuse appIcon methods */
+ this.actor = this.realShowAppsIcon.toggleButton;
+ this.realShowAppsIcon.show(false);
+
+ // Re-use appIcon methods
+ this._removeMenuTimeout = AppDisplay.AppIcon.prototype._removeMenuTimeout;
+ this._setPopupTimeout = AppDisplay.AppIcon.prototype._setPopupTimeout;
+ this._onKeyboardPopupMenu = AppDisplay.AppIcon.prototype._onKeyboardPopupMenu;
+
+ // No action on clicked (showing of the appsview is controlled elsewhere)
+ this._onClicked = Lang.bind(this, function(actor, button) {
+ this._removeMenuTimeout();
+ });
+
+ this.actor.connect('leave-event', Lang.bind(this, this._onLeaveEvent));
+ this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
+ this.actor.connect('touch-event', Lang.bind(this, this._onTouchEvent));
+ this.actor.connect('clicked', Lang.bind(this, this._onClicked));
+ this.actor.connect('popup-menu', Lang.bind(this, this._onKeyboardPopupMenu));
+
+ this._menu = null;
+ this._menuManager = new PopupMenu.PopupMenuManager(this.actor);
+ this._menuTimeoutId = 0;
+
+ this.realShowAppsIcon._dtpPanel = dtpPanel;
+ Taskbar.extendDashItemContainer(this.realShowAppsIcon);
+
+ this.realShowAppsIcon.icon.createIcon = function(size) {
+ this._iconActor = new St.Icon({ icon_name: 'view' + (Config.PACKAGE_VERSION < '3.20' ? '' : '-app') + '-grid-symbolic',
+ icon_size: size,
+ style_class: 'show-apps-icon',
+ track_hover: true });
+
+ return this._iconActor;
+ };
+
+ this.setShowAppsPadding();
+ },
+
+ _onButtonPress: function(_actor, event) {
+ let button = event.get_button();
+ if (button == 1) {
+ this._setPopupTimeout();
+ } else if (button == 3) {
+ this.popupMenu();
+ return Clutter.EVENT_STOP;
+ }
+ return Clutter.EVENT_PROPAGATE;
+ },
+
+ _onLeaveEvent: function(_actor, _event) {
+ this.actor.fake_release();
+ this._removeMenuTimeout();
+ },
+
+ _onTouchEvent: function(actor, event) {
+ if (event.type() == Clutter.EventType.TOUCH_BEGIN)
+ this._setPopupTimeout();
+
+ return Clutter.EVENT_PROPAGATE;
+ },
+
+ _onMenuPoppedDown: function() {
+ this._menu.sourceActor = this.actor;
+ this.actor.sync_hover();
+ this.emit('menu-state-changed', false);
+ },
+
+ setShowAppsPadding: function() {
+ let padding = getIconPadding();
+
+ this.actor.set_style('padding:' + padding + 'px;');
+ },
+
+ createMenu: function() {
+ if (!this._menu) {
+ this._menu = new MyShowAppsIconMenu(this.actor, this.realShowAppsIcon._dtpPanel);
+ this._menu.connect('open-state-changed', Lang.bind(this, function(menu, isPoppedUp) {
+ if (!isPoppedUp)
+ this._onMenuPoppedDown();
+ }));
+ let id = Main.overview.connect('hiding', Lang.bind(this, function() {
+ this._menu.close();
+ }));
+ this._menu.actor.connect('destroy', function() {
+ Main.overview.disconnect(id);
+ });
+ this._menuManager.addMenu(this._menu);
+ }
+ },
+
+ popupMenu: function() {
+ this._removeMenuTimeout();
+ this.actor.fake_release();
+ this.createMenu(this.actor);
+
+ //this.emit('menu-state-changed', true);
+
+ this.actor.set_hover(true);
+ this._menu.popup();
+ this._menuManager.ignoreRelease();
+ this.emit('sync-tooltip');
+
+ return false;
+ },
+
+ shouldShowTooltip: function() {
+ return Me.settings.get_boolean('show-tooltip') &&
+ (this.actor.hover && (!this._menu || !this._menu.isOpen));
+ },
+
+ destroy: function() {
+ this.realShowAppsIcon.destroy();
+ }
+});
+Signals.addSignalMethods(ShowAppsIconWrapper.prototype);
+
+/**
+ * A menu for the showAppsIcon
+ */
+var MyShowAppsIconMenu = Utils.defineClass({
+ Name: 'ZorinTaskbar.ShowAppsIconMenu',
+ Extends: taskbarSecondaryMenu,
+ ParentConstrParams: [[0], [1]],
+
+ _dtpRedisplay: function() {
+ this.removeAll();
+
+ // Only add menu entries for commands that exist in path
+ function _appendItem(obj, info) {
+ if (Utils.checkIfCommandExists(info.cmd[0])) {
+ let item = obj._appendMenuItem(_(info.title));
+
+ item.connect('activate', function() {
+ Util.spawn(info.cmd);
+ });
+ return item;
+ }
+
+ return null;
+ }
+
+ function _appendList(obj, commandList, titleList) {
+ if (commandList.length != titleList.length) {
+ return;
+ }
+
+ for (var entry = 0; entry < commandList.length; entry++) {
+ _appendItem(obj, {
+ title: titleList[entry],
+ cmd: commandList[entry].split(' ')
+ });
+ }
+ }
+
+ _appendItem(this, {
+ title: 'System Monitor',
+ cmd: ['gnome-system-monitor']
+ });
+
+ _appendItem(this, {
+ title: 'Files',
+ cmd: ['nautilus']
+ });
+
+ _appendItem(this, {
+ title: 'Settings',
+ cmd: ['gnome-control-center']
+ });
+
+ _appendItem(this, {
+ title: 'Zorin Appearance',
+ cmd: ['zorin-appearance']
+ });
+
+ _appendList(
+ this,
+ Me.settings.get_strv('panel-context-menu-commands'),
+ Me.settings.get_strv('panel-context-menu-titles')
+ )
+
+ this._appendSeparator();
+
+ let lockTaskbarMenuItem = this._appendMenuItem(Me.settings.get_boolean('taskbar-locked') ? _('Unlock taskbar') : _('Lock taskbar'));
+ lockTaskbarMenuItem.connect('activate', () => {
+ Me.settings.set_boolean('taskbar-locked', !Me.settings.get_boolean('taskbar-locked'));
+ });
+
+ let settingsMenuItem = this._appendMenuItem(_('Taskbar Settings'));
+ settingsMenuItem.connect('activate', function () {
+ let command = ["gnome-shell-extension-prefs"];
+
+ if (Config.PACKAGE_VERSION > '3.36') {
+ command = ["gnome-extensions", "prefs"];
+ }
+
+ Util.spawn(command.concat([Me.metadata.uuid]));
+ });
+
+ if(this._source._dtpPanel) {
+ this._appendSeparator();
+ let item = this._appendMenuItem(this._source._dtpPanel._restoreWindowList ? _('Restore Windows') : _('Show Desktop'));
+ item.connect('activate', Lang.bind(this._source._dtpPanel, this._source._dtpPanel._onShowDesktopButtonPress));
+ }
+ }
+});
+adjustMenuRedisplay(MyShowAppsIconMenu.prototype);
+
+function adjustMenuRedisplay(menuProto) {
+ menuProto[menuRedisplayFunc] = function() { this._dtpRedisplay(menuRedisplayFunc) };
+}
+
+var getIconContainerStyle = function(isVertical) {
+ let style = 'padding: ';
+
+ if (Me.settings.get_boolean('group-apps')) {
+ style += (isVertical ? '0;' : '0 ' + DEFAULT_PADDING_SIZE + 'px;');
+ } else {
+ style += (isVertical ? '' : '0 ') + DEFAULT_PADDING_SIZE + 'px;';
+ }
+
+ return style;
+}
diff --git a/convenience.js b/convenience.js
index 0918d5c..8971c5b 100644
--- a/convenience.js
+++ b/convenience.js
@@ -1,10 +1,9 @@
/*
- * Taskbar: A taskbar extension for the Gnome panel.
- * Copyright (C) 2016 Zorin OS
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
+ * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@@ -17,87 +16,74 @@
*
*
* Credits:
- * This file is based on code from the Dash to Dock extension by micheleg.
+ * This file is based on code from the Dash to Dock extension by micheleg
+ * and code from the Dash to Panel extension
* Some code was also adapted from the upstream Gnome Shell source code.
*/
+const Config = imports.misc.config;
+const ExtensionUtils = imports.misc.extensionUtils;
+const Gettext = imports.gettext;
+const Gio = imports.gi.Gio;
-const Lang = imports.lang;
+/**
+ * initTranslations:
+ * @domain: (optional): the gettext domain to use
+ *
+ * Initialize Gettext to load translations from extensionsdir/locale.
+ * If @domain is not provided, it will be taken from metadata['gettext-domain']
+ */
+function initTranslations(domain) {
+ let extension = ExtensionUtils.getCurrentExtension();
+ domain = domain || extension.metadata['gettext-domain'];
-// simplify global signals and function injections handling
-// abstract class
-const BasicHandler = new Lang.Class({
- Name: 'Taskbar.BasicHandler',
+ // Check if this extension was built with "make zip-file", and thus
+ // has the locale files in a subfolder
+ // otherwise assume that extension has been installed in the
+ // same prefix as gnome-shell
+ let localeDir = extension.dir.get_child('locale');
+ if (localeDir.query_exists(null))
+ Gettext.bindtextdomain(domain, localeDir.get_path());
+ else
+ Gettext.bindtextdomain(domain, Config.LOCALEDIR);
+}
- _init: function(){
- this._storage = new Object();
- },
+/**
+ * getSettings:
+ * @schema: (optional): the GSettings schema id
+ *
+ * Builds and return a GSettings schema for @schema, using schema files
+ * in extensionsdir/schemas. If @schema is not provided, it is taken from
+ * metadata['settings-schema'].
+ */
+function getSettings(schema) {
+ let extension = ExtensionUtils.getCurrentExtension();
- add: function(/*unlimited 3-long array arguments*/){
+ schema = schema || extension.metadata['settings-schema'];
- // convert arguments object to array, concatenate with generic
- let args = Array.concat('generic', Array.slice(arguments));
- // call addWithLabel with ags as if they were passed arguments
- this.addWithLabel.apply(this, args);
- },
+ const GioSSS = Gio.SettingsSchemaSource;
- destroy: function() {
- for( let label in this._storage )
- this.removeWithLabel(label);
- },
+ // Check if this extension was built with "make zip-file", and thus
+ // has the schema files in a subfolder
+ // otherwise assume that extension has been installed in the
+ // same prefix as gnome-shell (and therefore schemas are available
+ // in the standard folders)
+ let schemaDir = extension.dir.get_child('schemas');
+ let schemaSource;
+ if (schemaDir.query_exists(null))
+ schemaSource = GioSSS.new_from_directory(schemaDir.get_path(),
+ GioSSS.get_default(),
+ false);
+ else
+ schemaSource = GioSSS.get_default();
- addWithLabel: function( label /* plus unlimited 3-long array arguments*/) {
+ let schemaObj = schemaSource.lookup(schema, true);
+ if (!schemaObj)
+ throw new Error('Schema ' + schema + ' could not be found for extension '
+ + extension.metadata.uuid + '. Please check your installation.');
- if(this._storage[label] == undefined)
- this._storage[label] = new Array();
-
- // skip first element of the arguments
- for( let i = 1; i < arguments.length; i++ ) {
- this._storage[label].push( this._create(arguments[i]) );
- }
-
- },
-
- removeWithLabel: function(label){
-
- if(this._storage[label]) {
- for( let i = 0; i < this._storage[label].length; i++ ) {
- this._remove(this._storage[label][i]);
- }
-
- delete this._storage[label];
- }
- },
-
- /* Virtual methods to be implemented by subclass */
- // create single element to be stored in the storage structure
- _create: function(item){
- throw new Error('no implementation of _create in ' + this);
- },
-
- // correctly delete single element
- _remove: function(item){
- throw new Error('no implementation of _remove in ' + this);
- }
-});
-
-// Manage global signals
-const GlobalSignalsHandler = new Lang.Class({
- Name: 'Taskbar.GlobalSignalsHandler',
- Extends: BasicHandler,
-
- _create: function(item) {
-
- let object = item[0];
- let event = item[1];
- let callback = item[2]
- let id = object.connect(event, callback);
-
- return [object, id];
- },
-
- _remove: function(item){
- item[0].disconnect(item[1]);
- }
-});
+ return new Gio.Settings({
+ settings_schema: schemaObj
+ });
+}
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..672aabe
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,328 @@
+gnome-shell-extension-zorin-taskbar (40.17) focal; urgency=medium
+
+ * Fixed notification badge sizing on 200% scaled displays
+
+ -- Artyom Zorin Wed, 21 Jul 2021 13:00:25 +0100
+
+gnome-shell-extension-zorin-taskbar (40.16) focal; urgency=medium
+
+ * Fixed bug that caused the panel to disappear after locking the
+ screen while fullscreen content is playing
+
+ -- Artyom Zorin Wed, 02 Jun 2021 20:24:27 +0100
+
+gnome-shell-extension-zorin-taskbar (40.15) focal; urgency=medium
+
+ * Updated translations
+
+ -- Artyom Zorin Sun, 23 May 2021 20:32:41 +0100
+
+gnome-shell-extension-zorin-taskbar (40.14) focal; urgency=medium
+
+ * Fixed new translations
+
+ -- Artyom Zorin Sun, 23 May 2021 20:26:18 +0100
+
+gnome-shell-extension-zorin-taskbar (40.13) focal; urgency=medium
+
+ * Added new translations and made the main panel always appear on the
+ primary display
+
+ -- Artyom Zorin Sun, 23 May 2021 20:03:46 +0100
+
+gnome-shell-extension-zorin-taskbar (40.12) focal; urgency=medium
+
+ * Updated Russian and Japanese translations
+
+ -- Artyom Zorin Wed, 05 May 2021 20:10:48 +0100
+
+gnome-shell-extension-zorin-taskbar (40.11) focal; urgency=medium
+
+ * No longer animates disposed icons
+
+ -- Artyom Zorin Tue, 06 Apr 2021 13:13:47 +0100
+
+gnome-shell-extension-zorin-taskbar (40.10) focal; urgency=medium
+
+ * Added Zorin Appearance link to taskbar right-click menu
+
+ -- Artyom Zorin Tue, 23 Mar 2021 19:36:07 +0000
+
+gnome-shell-extension-zorin-taskbar (40.9) focal; urgency=medium
+
+ * Removed Terminal from right-click menu
+
+ -- Artyom Zorin Mon, 22 Mar 2021 15:38:20 +0000
+
+gnome-shell-extension-zorin-taskbar (40.8) focal; urgency=medium
+
+ * Removed dot style settings and moved Intellihide to Style tab in
+ prefs
+
+ -- Artyom Zorin Sun, 21 Mar 2021 15:08:03 +0000
+
+gnome-shell-extension-zorin-taskbar (40.7) focal; urgency=medium
+
+ * Removed style override for app-well-app items
+
+ -- Artyom Zorin Sun, 21 Feb 2021 20:00:12 +0000
+
+gnome-shell-extension-zorin-taskbar (40.6) focal; urgency=medium
+
+ * Improved styling of progress bars
+
+ -- Artyom Zorin Sun, 21 Feb 2021 15:54:07 +0000
+
+gnome-shell-extension-zorin-taskbar (40.5) focal; urgency=medium
+
+ * Re-based on upstream as at commit
+ e4a71fa014b565171c93d15f436be9c3599b11fb
+
+ -- Artyom Zorin Sun, 21 Feb 2021 15:22:52 +0000
+
+gnome-shell-extension-zorin-taskbar (40.4) focal; urgency=medium
+
+ * Updated notification badge overlay and limited minimum panel size to
+ 24px
+
+ -- Artyom Zorin Sun, 21 Feb 2021 15:02:09 +0000
+
+gnome-shell-extension-zorin-taskbar (40.3) focal; urgency=medium
+
+ * Increased border radius of floating panel and preview container
+
+ -- Artyom Zorin Sun, 21 Feb 2021 00:50:25 +0000
+
+gnome-shell-extension-zorin-taskbar (40.2) focal; urgency=medium
+
+ * Imporved visibility of window previews by styling them with the dash-
+ label class
+
+ -- Artyom Zorin Thu, 31 Dec 2020 18:34:46 +0000
+
+gnome-shell-extension-zorin-taskbar (40.1) focal; urgency=medium
+
+ * Added floating rounded theme when using Intellihide
+
+ -- Artyom Zorin Wed, 30 Dec 2020 00:44:32 +0000
+
+gnome-shell-extension-zorin-taskbar (40) focal; urgency=medium
+
+ * Re-based on upstream version 40 as at commit
+ 48a69e529614d1da456802b818e7d7f0d4d1d642
+
+ -- Artyom Zorin Mon, 28 Dec 2020 22:08:11 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.11) bionic; urgency=medium
+
+ * Set variables to 0 on destroy in taskbar.js
+
+ -- Artyom Zorin Tue, 19 Feb 2019 18:35:40 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.10) bionic; urgency=medium
+
+ * Fixed bugs with windowPreview peek mode
+
+ -- Artyom Zorin Fri, 15 Feb 2019 00:13:19 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.9) bionic; urgency=medium
+
+ * Fixed touch support in Gnome Shell 3.30 and made touching an app
+ icon show its window preview if more than one window is opened
+
+ -- Artyom Zorin Thu, 14 Feb 2019 13:27:40 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.8) bionic; urgency=medium
+
+ * Added definition check when getting taskbar icons
+
+ -- Artyom Zorin Tue, 05 Feb 2019 18:17:32 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.7) bionic; urgency=medium
+
+ * Fixed _dragInfo definition check
+
+ -- Artyom Zorin Tue, 05 Feb 2019 14:45:45 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.6) bionic; urgency=medium
+
+ * Fixed name of Taskbar Actor
+
+ -- Artyom Zorin Sat, 12 Jan 2019 18:35:19 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.5) bionic; urgency=medium
+
+ * Re-based on Dash to Panel as at commit
+ b6094fdaec89349cc6f3e0da887d19fdf3db1c60
+
+ -- Artyom Zorin Sat, 12 Jan 2019 16:02:44 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.4) bionic; urgency=medium
+
+ * Re-based on Dash to Panel as at commit
+ 6e53889082eef4eed9cdc1c496e90a6f8450d1fd
+
+ -- Artyom Zorin Fri, 11 Jan 2019 16:41:36 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.3) bionic; urgency=medium
+
+ * Re-based on Dash to Panel as at commit
+ 8e715c7b07d30bfe0858a1eb93638c653b8bd268
+
+ -- Artyom Zorin Tue, 08 Jan 2019 18:46:52 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.2) bionic; urgency=medium
+
+ * Re-based on Dash to Panel as at commit
+ dcd8a017e2a9ae66518ade2ae7a74d9836dd3633
+
+ -- Artyom Zorin Thu, 03 Jan 2019 14:27:47 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0.1) bionic; urgency=medium
+
+ * Updated URL in metadata.json
+
+ -- Artyom Zorin Mon, 31 Dec 2018 14:27:13 +0000
+
+gnome-shell-extension-zorin-taskbar (2.0) bionic; urgency=medium
+
+ * Re-based on Dash to Panel commit
+ e2eeb0290152bdf9ea3a9643ce6d36d8ba12813d
+
+ -- Artyom Zorin Sun, 30 Dec 2018 18:44:22 +0000
+
+gnome-shell-extension-zorin-taskbar (1.4.4) xenial; urgency=medium
+
+ * Re-based on Dash to Panel version 13
+
+ -- Artyom Zorin Wed, 07 Mar 2018 15:16:36 +0000
+
+gnome-shell-extension-zorin-taskbar (1.4.3) xenial; urgency=medium
+
+ * Fixed window preview issue with Remmina
+
+ -- Artyom Zorin Tue, 06 Mar 2018 22:37:07 +0000
+
+gnome-shell-extension-zorin-taskbar (1.4.2) xenial; urgency=medium
+
+ * Various bug fixes
+
+ -- Artyom Zorin Tue, 06 Mar 2018 20:44:12 +0000
+
+gnome-shell-extension-zorin-taskbar (1.4.1) xenial; urgency=medium
+
+ * Added more required imports
+
+ -- Artyom Zorin Tue, 06 Mar 2018 11:22:48 +0000
+
+gnome-shell-extension-zorin-taskbar (1.4) xenial; urgency=medium
+
+ * Re-based on Dash to Panel version 12
+
+ -- Artyom Zorin Tue, 06 Mar 2018 01:25:06 +0000
+
+gnome-shell-extension-zorin-taskbar (1.3) xenial; urgency=medium
+
+ * Added opacify peek on window preview hover
+
+ -- Artyom Zorin Fri, 28 Jul 2017 00:40:19 +0100
+
+gnome-shell-extension-zorin-taskbar (1.2.1) xenial; urgency=medium
+
+ * Removed window preview opening animation
+
+ -- Artyom Zorin Fri, 14 Apr 2017 20:05:44 +0100
+
+gnome-shell-extension-zorin-taskbar (1.2) xenial; urgency=medium
+
+ * Re-based on Dash to Panel commit
+ 1415cbdf5cadff94f4d9483b4b77676a3a2ea8d1
+
+ -- Artyom Zorin Tue, 11 Apr 2017 22:16:41 +0100
+
+gnome-shell-extension-zorin-taskbar (1.1.5) xenial; urgency=medium
+
+ * Enabled opening animations for window previews
+
+ -- Artyom Zorin Thu, 12 Jan 2017 11:54:50 +0000
+
+gnome-shell-extension-zorin-taskbar (1.1.4) xenial; urgency=medium
+
+ * App running indicators now appear on top when the panel is on top
+ and bug fixes
+
+ -- Artyom Zorin Wed, 11 Jan 2017 12:46:23 +0000
+
+gnome-shell-extension-zorin-taskbar (1.1.3) xenial; urgency=medium
+
+ * Fixed another high CPU usage issue – credit to jderose9
+
+ -- Artyom Zorin Tue, 10 Jan 2017 22:01:51 +0000
+
+gnome-shell-extension-zorin-taskbar (1.1.2) xenial; urgency=medium
+
+ * Reduced CPU usage – credit to jderose9 – and improved the
+ responsiveness of DPI changes
+
+ -- Artyom Zorin Tue, 10 Jan 2017 12:40:58 +0000
+
+gnome-shell-extension-zorin-taskbar (1.1.1) xenial; urgency=medium
+
+ * Removed window preview menu enter timeout to fix keygrab focus
+ lockup bug and make the taskbar experience faster
+
+ -- Artyom Zorin Sun, 08 Jan 2017 20:02:26 +0000
+
+gnome-shell-extension-zorin-taskbar (1.1) xenial; urgency=medium
+
+ * Added full support for HiDPI displays
+
+ -- Artyom Zorin Mon, 02 Jan 2017 00:28:46 +0000
+
+gnome-shell-extension-zorin-taskbar (1.0.6) xenial; urgency=medium
+
+ * Fixed a number of memory leaks in the Window Preview code
+
+ -- Artyom Zorin Tue, 27 Dec 2016 15:53:08 +0000
+
+gnome-shell-extension-zorin-taskbar (1.0.5) xenial; urgency=medium
+
+ * Updated copyright notices
+
+ -- Artyom Zorin Fri, 04 Nov 2016 14:34:48 +0000
+
+gnome-shell-extension-zorin-taskbar (1.0.4) xenial; urgency=medium
+
+ * Disconnected signals
+
+ -- Artyom Zorin Sun, 23 Oct 2016 13:43:35 +0100
+
+gnome-shell-extension-zorin-taskbar (1.0.3) xenial; urgency=medium
+
+ * Fixed Work ID issue
+
+ -- Artyom Zorin Thu, 20 Oct 2016 22:59:07 +0100
+
+gnome-shell-extension-zorin-taskbar (1.0.2) xenial; urgency=medium
+
+ * Ready for public use in Zorin OS 12
+
+ -- Artyom Zorin Sun, 18 Sep 2016 20:24:18 +0100
+
+gnome-shell-extension-zorin-taskbar (1.0.1) xenial; urgency=medium
+
+ * Updated copyright notice
+
+ -- Zorin OS Mon, 12 Sep 2016 19:23:04 +0100
+
+gnome-shell-extension-zorin-taskbar (1.0) xenial; urgency=medium
+
+ * Initial stable release
+
+ -- Zorin OS Sat, 03 Sep 2016 23:19:10 +0100
+
+gnome-shell-extension-zorin-taskbar (0.9) xenial; urgency=low
+
+ * Pre-release
+
+ -- Zorin OS Fri, 02 Sep 2016 10:47:51 -0400
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..6b74b66
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,13 @@
+Source: gnome-shell-extension-zorin-taskbar
+Section: gnome
+Priority: optional
+Maintainer: Artyom Zorin
+Build-Depends: debhelper-compat (= 12), libglib2.0-bin, zip
+Standards-Version: 4.5.0
+Rules-Requires-Root: no
+
+Package: gnome-shell-extension-zorin-taskbar
+Architecture: all
+Depends: ${misc:Depends}, gnome-shell (>= 3.18)
+Description: Zorin Taskbar extension
+ A taskbar extension for the Zorin Desktop environment.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..039a346
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,73 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: gnome-shell-extension-zorin-taskbar
+
+Files: *
+Copyright: 2016-2020, Jason DeRose (https://github.com/jderose9)
+ 2016-2020, Zorin OS Technologies Ltd.
+License: GPL-2+
+
+Files: po/cs.po
+Copyright: 2017-2018 Milan Zink
+License: GPL-2+
+
+Files: po/es.po
+Copyright: 2017 Fran Glais
+License: GPL-2+
+
+Files: po/gl.po
+Copyright: 2020 Fran Dieguez
+License: GPL-2+
+
+Files: po/pt_BR.po
+Copyright: 2017 Fábio Nogueira
+License: GPL-2+
+
+Files: po/ru.po
+Copyright: 2017 Alex Gluck
+License: GPL-2+
+
+Files: po/hu.po
+Copyright: 2017 Balázs Úr
+License: GPL-2+
+
+Files: po/it.po
+Copyright: 2018 Enrico Bella
+License: GPL-2+
+
+Files: po/ja.po
+Copyright: 2017-2018 Shinichirou Yamada
+ 2018 sicklylife.jp
+License: GPL-2+
+
+Files: po/kk.po
+Copyright: 2017 Baurzhan Muftakhidinov
+License: GPL-2+
+
+Files: po/zh_CN.po
+ po/zh_TW.po
+Copyright: 2017 Boyuan Yang <073plan@gmail.com>
+License: GPL-2+
+
+Files: po/tr.po
+Copyright: 2018 Serdar Sağlam
+License: GPL-2+
+
+Files: debian/*
+Copyright: 2017-2020 Jonathan Carter
+License: GPL-2+
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+ .
+ On Debian systems, the complete text of the GNU General
+ Public License can be found in `/usr/share/common-licenses/GPL-2'.
diff --git a/debian/install b/debian/install
new file mode 100644
index 0000000..6a4cf89
--- /dev/null
+++ b/debian/install
@@ -0,0 +1 @@
+schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml usr/share/glib-2.0/schemas
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..897d1f9
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,9 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
+
+override_dh_install:
+ dh_install
+ rm -f debian/gnome-shell-extension-zorin-taskbar/usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/COPYING
+ rm -f debian/gnome-shell-extension-zorin-taskbar/usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/README.md
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
diff --git a/extension.js b/extension.js
index 80ea801..94a7ad4 100644
--- a/extension.js
+++ b/extension.js
@@ -1,10 +1,9 @@
/*
- * Taskbar: A taskbar extension for the Gnome panel.
- * Copyright (C) 2016 Zorin OS
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
+ * the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
@@ -15,151 +14,127 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
- *
- * Credits:
- * This file is based on code from the Dash to Dock extension by micheleg.
- * Some code was also adapted from the upstream Gnome Shell source code.
*/
-const Me = imports.misc.extensionUtils.getCurrentExtension();
-const Clutter = imports.gi.Clutter;
-const Convenience = Me.imports.convenience;
-const Taskbar = Me.imports.taskbar;
-const Lang = imports.lang;
const Main = imports.ui.main;
+const Meta = imports.gi.Meta;
+const Gio = imports.gi.Gio;
+const GLib = imports.gi.GLib;
+const Lang = imports.lang;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+const WindowManager = imports.ui.windowManager;
+const ExtensionUtils = imports.misc.extensionUtils;
+const Mainloop = imports.mainloop;
+const Signals = imports.signals;
-let appMenu;
-let container;
-let panel;
-let panelConnectId;
-let signalsHandler;
-let taskbar;
+const Me = ExtensionUtils.getCurrentExtension();
+const Convenience = Me.imports.convenience;
+const PanelManager = Me.imports.panelManager;
+const Utils = Me.imports.utils;
+
+const ZORIN_DASH_UUID = 'zorin-dash@zorinos.com';
+
+let panelManager;
+let oldDash;
+let extensionChangedHandler;
+let disabledZorinDash;
+let extensionSystem = (Main.extensionManager || imports.ui.extensionSystem);
function init() {
+ Convenience.initTranslations(Utils.TRANSLATION_DOMAIN);
+
+ //create an object that persists until gnome-shell is restarted, even if the extension is disabled
+ Me.persistentStorage = {};
}
function enable() {
- panel = Main.panel;
- container = panel._leftBox;
- appMenu = panel.statusArea['appMenu'];
+ // The Zorin Dash extension might get enabled after this extension
+ extensionChangedHandler = extensionSystem.connect('extension-state-changed', (data, extension) => {
+ if (extension.uuid === ZORIN_DASH_UUID && extension.state === 1) {
+ _enable();
+ }
+ });
- panelConnectId = panel.actor.connect('allocate', allocate);
- container.remove_child(appMenu.container);
- taskbar = new Taskbar.taskbar();
- Main.overview.dashIconSize = taskbar.iconSize;
+ //create a global object that can emit signals and conveniently expose functionalities to other extensions
+ global.zorinTaskbar = {};
+ Signals.addSignalMethods(global.zorinTaskbar);
+
+ _enable();
+}
- container.insert_child_at_index( taskbar.actor, 2 );
+function _enable() {
+ let zorinDash = Main.extensionManager ?
+ Main.extensionManager.lookup(ZORIN_DASH_UUID) : //gnome-shell >= 3.33.4
+ ExtensionUtils.extensions[ZORIN_DASH_UUID];
- // Since Gnome 3.8 dragging an app without having opened the overview before cause the attemp to
- //animate a null target since some variables are not initialized when the viewSelector is created
- if(Main.overview.viewSelector._activePage == null)
- Main.overview.viewSelector._activePage = Main.overview.viewSelector._workspacesPage;
+ if (zorinDash && zorinDash.stateObj && zorinDash.stateObj.dockManager) {
+ // Disable Zorin Dash
+ let extensionOrder = (extensionSystem.extensionOrder || extensionSystem._extensionOrder);
- // sync hover after a popupmenu is closed
- taskbar.connect('menu-closed', Lang.bind(this, function(){container.sync_hover();}));
+ 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);
- signalsHandler = new Convenience.GlobalSignalsHandler();
- signalsHandler.add(
- // Keep dragged icon consistent in size with this dash
- [
- taskbar,
- 'icon-size-changed',
- Lang.bind(this, function() {
- Main.overview.dashIconSize = taskbar.iconSize;
- })
- ],
- // This duplicate the similar signal which is in owerview.js.
- // Being connected and thus executed later this effectively
- // overwrite any attempt to use the size of the default dash
- // which given the customization is usually much smaller.
- // I can't easily disconnect the original signal
- [
- Main.overview._controls.dash,
- 'icon-size-changed',
- Lang.bind(this, function() {
- Main.overview.dashIconSize = taskbar.iconSize;
- })
- ]
+ //reset to prevent conflicts with the zorin-dash
+ if (panelManager) {
+ disable(true);
+ }
+ }
+
+ if (panelManager) return; //already initialized
+
+ Me.settings = Convenience.getSettings('org.gnome.shell.extensions.zorin-taskbar');
+ Me.desktopSettings = Convenience.getSettings('org.gnome.desktop.interface');
+
+ panelManager = new PanelManager.dtpPanelManager();
+
+ panelManager.enable();
+
+ Utils.removeKeybinding('open-application-menu');
+ Utils.addKeybinding(
+ 'open-application-menu',
+ new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA }),
+ Lang.bind(this, function() {
+ panelManager.primaryPanel.taskbar.popupFocusedAppSecondaryMenu();
+ }),
+ Shell.ActionMode.NORMAL | Shell.ActionMode.POPUP
);
- }
-function disable() {
- signalsHandler.destroy();
- container.remove_child(taskbar.actor);
- container.add_child(appMenu.container);
- taskbar.destroy();
- panel.actor.disconnect(panelConnectId);
-
- // reset stored icon size to the default dash
- Main.overview.dashIconSize = Main.overview._controls.dash.iconSize;
-
- appMenu = null;
- container = null;
- panel = null;
- panelConnectId = null;
- signalsHandler = null;
- taskbar = null;
+ // Pretend I'm the dash: meant to make appgrd swarm animation come from the
+ // right position of the appShowButton.
+ oldDash = Main.overview._dash;
+ Main.overview._dash = panelManager.primaryPanel.taskbar;
}
-function allocate(actor, box, flags) {
- let allocWidth = box.x2 - box.x1;
- let allocHeight = box.y2 - box.y1;
+function disable(reset) {
+ panelManager.disable();
+ Main.overview._dash = oldDash;
+ Me.settings.run_dispose();
+ Me.desktopSettings.run_dispose();
- let [leftMinWidth, leftNaturalWidth] = panel._leftBox.get_preferred_width(-1);
- let [centerMinWidth, centerNaturalWidth] = panel._centerBox.get_preferred_width(-1);
- let [rightMinWidth, rightNaturalWidth] = panel._rightBox.get_preferred_width(-1);
+ delete Me.settings;
+ oldDash = null;
+ panelManager = null;
+
+ Utils.removeKeybinding('open-application-menu');
+ Utils.addKeybinding(
+ 'open-application-menu',
+ new Gio.Settings({ schema_id: WindowManager.SHELL_KEYBINDINGS_SCHEMA }),
+ Lang.bind(Main.wm, Main.wm._toggleAppMenu),
+ Shell.ActionMode.NORMAL | Shell.ActionMode.POPUP
+ );
- let sideWidth = allocWidth - rightNaturalWidth - centerNaturalWidth;
+ if (!reset) {
+ extensionSystem.disconnect(extensionChangedHandler);
+ delete global.zorinTaskbar;
- let childBox = new Clutter.ActorBox();
-
- childBox.y1 = 0;
- childBox.y2 = allocHeight;
- if (panel.actor.get_text_direction() == Clutter.TextDirection.RTL) {
- childBox.x1 = allocWidth - Math.min(Math.floor(sideWidth), leftNaturalWidth);
- childBox.x2 = allocWidth;
- } else {
- childBox.x1 = 0;
- childBox.x2 = sideWidth;
+ // Re-enable Zorin Dash if it was disabled by Zorin Taskbar
+ if (disabledZorinDash && Main.sessionMode.allowExtensions) {
+ (extensionSystem._callExtensionEnable || extensionSystem.enableExtension).call(extensionSystem, ZORIN_DASH_UUID);
+ }
}
- panel._leftBox.allocate(childBox, flags);
-
- childBox.y1 = 0;
- childBox.y2 = allocHeight;
- if (panel.actor.get_text_direction() == Clutter.TextDirection.RTL) {
- childBox.x1 = rightNaturalWidth;
- childBox.x2 = childBox.x1 + centerNaturalWidth;
- } else {
- childBox.x1 = allocWidth - centerNaturalWidth - rightNaturalWidth;
- childBox.x2 = childBox.x1 + centerNaturalWidth;
- }
- panel._centerBox.allocate(childBox, flags);
-
- childBox.y1 = 0;
- childBox.y2 = allocHeight;
- if (panel.actor.get_text_direction() == Clutter.TextDirection.RTL) {
- childBox.x1 = 0;
- childBox.x2 = rightNaturalWidth;
- } else {
- childBox.x1 = allocWidth - rightNaturalWidth;
- childBox.x2 = allocWidth;
- }
- panel._rightBox.allocate(childBox, flags);
-
- let [cornerMinWidth, cornerWidth] = panel._leftCorner.actor.get_preferred_width(-1);
- let [cornerMinHeight, cornerHeight] = panel._leftCorner.actor.get_preferred_width(-1);
- childBox.x1 = 0;
- childBox.x2 = cornerWidth;
- childBox.y1 = allocHeight;
- childBox.y2 = allocHeight + cornerHeight;
- panel._leftCorner.actor.allocate(childBox, flags);
-
- let [cornerMinWidth, cornerWidth] = panel._rightCorner.actor.get_preferred_width(-1);
- let [cornerMinHeight, cornerHeight] = panel._rightCorner.actor.get_preferred_width(-1);
- childBox.x1 = allocWidth - cornerWidth;
- childBox.x2 = allocWidth;
- childBox.y1 = allocHeight;
- childBox.y2 = allocHeight + cornerHeight;
- panel._rightCorner.actor.allocate(childBox, flags);
}
diff --git a/img/show-desktop-symbolic.svg b/img/show-desktop-symbolic.svg
new file mode 100644
index 0000000..d4ef792
--- /dev/null
+++ b/img/show-desktop-symbolic.svg
@@ -0,0 +1,198 @@
+
+
+
+
diff --git a/intellihide.js b/intellihide.js
new file mode 100644
index 0000000..bdba85b
--- /dev/null
+++ b/intellihide.js
@@ -0,0 +1,441 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Credits:
+ * This file is based on code from the Dash to Panel extension
+ */
+
+const Lang = imports.lang;
+const Clutter = imports.gi.Clutter;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+
+var GrabHelper = imports.ui.grabHelper;
+const Layout = imports.ui.layout;
+const Main = imports.ui.main;
+const OverviewControls = imports.ui.overviewControls;
+const PointerWatcher = imports.ui.pointerWatcher;
+
+const Me = imports.misc.extensionUtils.getCurrentExtension();
+const Panel = Me.imports.panel;
+const Proximity = Me.imports.proximity;
+const Utils = Me.imports.utils;
+
+var INTELLIHIDE_PRESSURE_THRESHOLD = 100;
+var INTELLIHIDE_PRESSURE_TIME = 1000;
+var INTELLIHIDE_ANIMATION_TIME = 200;
+var INTELLIHIDE_CLOSE_DELAY = 400;
+var INTELLIHIDE_ENABLE_START_DELAY = 2000;
+
+//timeout intervals
+const CHECK_POINTER_MS = 200;
+const CHECK_GRAB_MS = 400;
+const POST_ANIMATE_MS = 50;
+const MIN_UPDATE_MS = 250;
+
+//timeout names
+const T1 = 'checkGrabTimeout';
+const T2 = 'limitUpdateTimeout';
+const T3 = 'postAnimateTimeout';
+const T4 = 'panelBoxClipTimeout';
+
+var SIDE_CONTROLS_ANIMATION_TIME = OverviewControls.SIDE_CONTROLS_ANIMATION_TIME / (OverviewControls.SIDE_CONTROLS_ANIMATION_TIME > 1 ? 1000 : 1);
+
+var Hold = {
+ NONE: 0,
+ TEMPORARY: 1,
+ PERMANENT: 2
+};
+
+var Intellihide = Utils.defineClass({
+ Name: 'ZorinTaskbar.Intellihide',
+
+ _init: function(dtpPanel) {
+ this._dtpPanel = dtpPanel;
+ this._panelBox = dtpPanel.panelBox;
+ this._panelManager = dtpPanel.panelManager;
+ this._proximityManager = this._panelManager.proximityManager;
+ this._holdStatus = Hold.NONE;
+
+ this._signalsHandler = new Utils.GlobalSignalsHandler();
+ this._timeoutsHandler = new Utils.TimeoutsHandler();
+
+ this._intellihideChangedId = Me.settings.connect('changed::intellihide', () => this._changeEnabledStatus());
+ this._intellihideOnlySecondaryChangedId = Me.settings.connect('changed::intellihide-only-secondary', () => this._changeEnabledStatus());
+
+ this.enabled = false;
+ this._changeEnabledStatus();
+ },
+
+ enable: function() {
+ this.enabled = true;
+ this._monitor = this._dtpPanel.monitor;
+ this._animationDestination = -1;
+ this._pendingUpdate = false;
+ this._hoveredOut = false;
+ this._windowOverlap = false;
+ this._translationProp = 'translation_' + (this._dtpPanel.checkIfVertical() ? 'x' : 'y');
+
+ this._panelBox.translation_y = 0;
+ this._panelBox.translation_x = 0;
+
+ this._setTrackPanel(true);
+ this._bindGeneralSignals();
+
+ if (Me.settings.get_boolean('intellihide-hide-from-windows')) {
+ this._proximityWatchId = this._proximityManager.createWatch(
+ this._panelBox.get_parent(),
+ Proximity.Mode[Me.settings.get_string('intellihide-behaviour')],
+ 0, 0,
+ overlap => {
+ this._windowOverlap = overlap;
+ this._queueUpdatePanelPosition();
+ }
+ );
+ }
+
+ this._setRevealMechanism();
+ this._queueUpdatePanelPosition();
+ this._toggleFloatingRoundedTheme();
+ },
+
+ disable: function(reset) {
+ if (this._proximityWatchId) {
+ this._proximityManager.removeWatch(this._proximityWatchId);
+ }
+
+ this._setTrackPanel(false);
+
+ this._signalsHandler.destroy();
+ this._timeoutsHandler.destroy();
+
+ this._removeRevealMechanism();
+
+ this._revealPanel(!reset);
+
+ this.enabled = false;
+
+ if (this._panelBox.has_style_class_name('floating')) {
+ this._panelBox.remove_style_class_name('floating');
+
+ this._resetPanelGeometry();
+ }
+ },
+
+ destroy: function() {
+ Me.settings.disconnect(this._intellihideChangedId);
+ Me.settings.disconnect(this._intellihideOnlySecondaryChangedId);
+
+ if (this.enabled) {
+ this.disable();
+ }
+ },
+
+ toggle: function() {
+ this[this._holdStatus & Hold.PERMANENT ? 'release' : 'revealAndHold'](Hold.PERMANENT);
+ },
+
+ revealAndHold: function(holdStatus) {
+ if (this.enabled && !this._holdStatus) {
+ this._revealPanel();
+ }
+
+ this._holdStatus |= holdStatus;
+ },
+
+ release: function(holdStatus) {
+ this._holdStatus -= holdStatus;
+
+ if (this.enabled && !this._holdStatus) {
+ this._queueUpdatePanelPosition();
+ }
+ },
+
+ reset: function() {
+ this.disable(true);
+ this.enable();
+ },
+
+ _toggleFloatingRoundedTheme: function() {
+ 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: function() {
+ this._dtpPanel.geom = this._dtpPanel.getGeometry();
+ this._dtpPanel._setPanelGhostSize();
+ this._dtpPanel._setPanelPosition();
+ this._dtpPanel.dynamicTransparency.updateExternalStyle();
+ },
+
+ _changeEnabledStatus: function() {
+ let intellihide = Me.settings.get_boolean('intellihide');
+ let onlySecondary = Me.settings.get_boolean('intellihide-only-secondary');
+ let enabled = intellihide && !(this._dtpPanel.isPrimary && onlySecondary);
+
+ if (this.enabled !== enabled) {
+ this[enabled ? 'enable' : 'disable']();
+ }
+ },
+
+ _bindGeneralSignals: function() {
+ this._signalsHandler.add(
+ [
+ this._dtpPanel.taskbar,
+ 'menu-closed',
+ () => this._panelBox.sync_hover()
+ ],
+ [
+ Me.settings,
+ [
+ 'changed::intellihide-use-pressure',
+ 'changed::intellihide-hide-from-windows',
+ 'changed::intellihide-behaviour'
+ ],
+ () => this.reset()
+ ],
+ [
+ Me.settings,
+ [
+ 'changed::intellihide-floating-rounded-theme'
+ ],
+ () => this._toggleFloatingRoundedTheme()
+ ],
+ [
+ this._panelBox,
+ 'notify::hover',
+ () => this._onHoverChanged()
+ ],
+ [
+ this._dtpPanel.taskbar.previewMenu,
+ 'open-state-changed',
+ () => this._queueUpdatePanelPosition()
+ ],
+ [
+ Main.overview,
+ [
+ 'showing',
+ 'hiding'
+ ],
+ () => this._queueUpdatePanelPosition()
+ ]
+ );
+ },
+
+ _onHoverChanged: function() {
+ this._hoveredOut = !this._panelBox.hover;
+ this._queueUpdatePanelPosition();
+ },
+
+ _setTrackPanel: function(enable) {
+ let trackedIndex = Main.layoutManager._findActor(this._panelBox);
+ let actorData = Main.layoutManager._trackedActors[trackedIndex]
+
+ actorData.affectsStruts = !enable;
+ actorData.trackFullscreen = !enable;
+
+ this._panelBox.track_hover = enable;
+ this._panelBox.reactive = enable;
+ this._panelBox.visible = enable ? enable : this._panelBox.visible;
+
+ Main.layoutManager._queueUpdateRegions();
+ },
+
+ _setRevealMechanism: function() {
+ if (global.display.supports_extended_barriers() && Me.settings.get_boolean('intellihide-use-pressure')) {
+ this._edgeBarrier = this._createBarrier();
+ this._pressureBarrier = new Layout.PressureBarrier(
+ INTELLIHIDE_PRESSURE_THRESHOLD,
+ INTELLIHIDE_PRESSURE_TIME,
+ Shell.ActionMode.NORMAL
+ );
+ this._pressureBarrier.addBarrier(this._edgeBarrier);
+ this._signalsHandler.add([this._pressureBarrier, 'trigger', () => this._queueUpdatePanelPosition(true)]);
+ } else {
+ this._pointerWatch = PointerWatcher.getPointerWatcher()
+ .addWatch(CHECK_POINTER_MS, (x, y) => this._checkMousePointer(x, y));
+ }
+ },
+
+ _removeRevealMechanism: function() {
+ if (this._pointerWatch) {
+ PointerWatcher.getPointerWatcher()._removeWatch(this._pointerWatch);
+ }
+
+ if (this._pressureBarrier) {
+ this._pressureBarrier.destroy();
+ this._edgeBarrier.destroy();
+ }
+ },
+
+ _createBarrier: function() {
+ let position = this._dtpPanel.geom.position;
+ let opts = { display: global.display };
+
+ if (this._dtpPanel.checkIfVertical()) {
+ opts.y1 = this._monitor.y;
+ opts.y2 = this._monitor.y + this._monitor.height;
+ opts.x1 = opts.x2 = this._monitor.x;
+ } else {
+ opts.x1 = this._monitor.x;
+ opts.x2 = this._monitor.x + this._monitor.width;
+ opts.y1 = opts.y2 = this._monitor.y;
+ }
+
+ if (position == St.Side.TOP) {
+ opts.directions = Meta.BarrierDirection.POSITIVE_Y;
+ } else if (position == St.Side.BOTTOM) {
+ opts.y1 = opts.y2 = opts.y1 + this._monitor.height;
+ opts.directions = Meta.BarrierDirection.NEGATIVE_Y;
+ } else if (position == St.Side.LEFT) {
+ opts.directions = Meta.BarrierDirection.POSITIVE_X;
+ } else {
+ opts.x1 = opts.x2 = opts.x1 + this._monitor.width;
+ opts.directions = Meta.BarrierDirection.NEGATIVE_X;
+ }
+
+ return new Meta.Barrier(opts);
+ },
+
+ _checkMousePointer: function(x, y) {
+ let position = this._dtpPanel.geom.position;
+
+ if (!this._panelBox.hover && !Main.overview.visible &&
+ ((position == St.Side.TOP && y <= this._monitor.y + 1) ||
+ (position == St.Side.BOTTOM && y >= this._monitor.y + this._monitor.height - 1) ||
+ (position == St.Side.LEFT && x <= this._monitor.x + 1) ||
+ (position == St.Side.RIGHT && x >= this._monitor.x + this._monitor.width - 1)) &&
+ ((x >= this._monitor.x && x < this._monitor.x + this._monitor.width) &&
+ (y >= this._monitor.y && y < this._monitor.y + this._monitor.height))) {
+ this._queueUpdatePanelPosition(true);
+ }
+ },
+
+ _queueUpdatePanelPosition: function(fromRevealMechanism) {
+ if (!fromRevealMechanism && this._timeoutsHandler.getId(T2) && !Main.overview.visible) {
+ //unless this is a mouse interaction or entering/leaving the overview, limit the number
+ //of updates, but remember to update again when the limit timeout is reached
+ this._pendingUpdate = true;
+ } else if (!this._holdStatus) {
+ this._checkIfShouldBeVisible(fromRevealMechanism) ? this._revealPanel() : this._hidePanel();
+ this._timeoutsHandler.add([T2, MIN_UPDATE_MS, () => this._endLimitUpdate()]);
+ }
+ },
+
+ _endLimitUpdate: function() {
+ if (this._pendingUpdate) {
+ this._pendingUpdate = false;
+ this._queueUpdatePanelPosition();
+ }
+ },
+
+ _checkIfShouldBeVisible: function(fromRevealMechanism) {
+ if (Main.overview.visibleTarget || this._dtpPanel.taskbar.previewMenu.opened ||
+ this._panelBox.get_hover() || this._checkIfGrab()) {
+ return true;
+ }
+
+ if (fromRevealMechanism) {
+ let mouseBtnIsPressed = global.get_pointer()[2] & Clutter.ModifierType.BUTTON1_MASK;
+
+ //the user is trying to reveal the panel
+ if (this._monitor.inFullscreen && !mouseBtnIsPressed) {
+ return Me.settings.get_boolean('intellihide-show-in-fullscreen');
+ }
+
+ return !mouseBtnIsPressed;
+ }
+
+ if (!Me.settings.get_boolean('intellihide-hide-from-windows')) {
+ return this._panelBox.hover;
+ }
+
+ return !this._windowOverlap;
+ },
+
+ _checkIfGrab: function() {
+ if (GrabHelper._grabHelperStack.some(gh => gh._owner == this._dtpPanel.panel.actor)) {
+ //there currently is a grab on a child of the panel, check again soon to catch its release
+ this._timeoutsHandler.add([T1, CHECK_GRAB_MS, () => this._queueUpdatePanelPosition()]);
+
+ return true;
+ }
+ },
+
+ _revealPanel: function(immediate) {
+ if (!this._panelBox.visible) {
+ this._panelBox.visible = true;
+ this._dtpPanel.taskbar._shownInitially = false;
+ }
+
+ this._animatePanel(0, immediate);
+ },
+
+ _hidePanel: function(immediate) {
+ let position = this._dtpPanel.geom.position;
+ let size = this._panelBox[position == St.Side.LEFT || position == St.Side.RIGHT ? 'width' : 'height'];
+ let coefficient = position == St.Side.TOP || position == St.Side.LEFT ? -1 : 1;
+
+ this._animatePanel(size * coefficient, immediate);
+ },
+
+ _animatePanel: function(destination, immediate) {
+ let animating = Utils.isAnimating(this._panelBox, this._translationProp);
+
+ if (!((animating && destination === this._animationDestination) ||
+ (!animating && destination === this._panelBox[this._translationProp]))) {
+ //the panel isn't already at, or animating to the asked destination
+ if (animating) {
+ Utils.stopAnimations(this._panelBox);
+ }
+
+ this._animationDestination = destination;
+
+ if (immediate) {
+ this._panelBox[this._translationProp] = destination;
+ this._panelBox.visible = !destination;
+ } else {
+ let tweenOpts = {
+ //when entering/leaving the overview, use its animation time instead of the one from the settings
+ time: Main.overview.visible ?
+ SIDE_CONTROLS_ANIMATION_TIME :
+ INTELLIHIDE_ANIMATION_TIME * 0.001,
+ //only delay the animation when hiding the panel after the user hovered out
+ delay: destination != 0 && this._hoveredOut ? INTELLIHIDE_CLOSE_DELAY * 0.001 : 0,
+ transition: 'easeOutQuad',
+ onComplete: () => {
+ this._panelBox.visible = !destination;
+ Main.layoutManager._queueUpdateRegions();
+ this._timeoutsHandler.add([T3, POST_ANIMATE_MS, () => this._queueUpdatePanelPosition()]);
+ }
+ };
+
+ tweenOpts[this._translationProp] = destination;
+ Utils.animate(this._panelBox, tweenOpts);
+ }
+ }
+
+ this._hoveredOut = false;
+ },
+});
diff --git a/metadata.json b/metadata.json
old mode 100755
new mode 100644
index ecbb294..361cb74
--- a/metadata.json
+++ b/metadata.json
@@ -2,7 +2,8 @@
"extension-id": "zorin-taskbar",
"uuid": "zorin-taskbar@zorinos.com",
"name": "Zorin Taskbar",
-"description": "The official taskbar for Zorin OS.",
-"shell-version": [ "3.18" ],
-"url": "https://github.com/ZorinOS/zorin-taskbar"
+"description": "A taskbar extension for the Zorin Desktop environment.",
+"shell-version": [ "3.18", "3.20", "3.22", "3.24", "3.26", "3.28", "3.30", "3.32", "3.34", "3.36", "3.38" ],
+"gettext-domain": "zorin-taskbar",
+"version": 9999
}
diff --git a/overview.js b/overview.js
new file mode 100644
index 0000000..3c4d44e
--- /dev/null
+++ b/overview.js
@@ -0,0 +1,396 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Credits:
+ * This file is based on code from the Dash to Dock extension by micheleg
+ * and code from the Dash to Panel extension
+ * Some code was also adapted from the upstream Gnome Shell source code.
+ */
+
+const Me = imports.misc.extensionUtils.getCurrentExtension();
+const Intellihide = Me.imports.intellihide;
+const Utils = Me.imports.utils;
+
+const Clutter = imports.gi.Clutter;
+const Lang = imports.lang;
+const Main = imports.ui.main;
+const Shell = imports.gi.Shell;
+const Gtk = imports.gi.Gtk;
+const Gdk = imports.gi.Gdk;
+const Gio = imports.gi.Gio;
+const Mainloop = imports.mainloop;
+const IconGrid = imports.ui.iconGrid;
+const ViewSelector = imports.ui.viewSelector;
+
+const Meta = imports.gi.Meta;
+
+const GS_HOTKEYS_KEY = 'switch-to-application-';
+const OVERLAY_TIMEOUT = 750;
+const SHORTCUT_TIMEOUT = 2000;
+
+//timeout names
+const T1 = 'swipeEndTimeout';
+
+var dtpOverview = Utils.defineClass({
+ Name: 'ZorinTaskbar.Overview',
+
+ _init: function() {
+ this._numHotkeys = 10;
+ this._timeoutsHandler = new Utils.TimeoutsHandler();
+ },
+
+ enable : function(panel) {
+ this._panel = panel;
+ this.taskbar = panel.taskbar;
+
+ this._injectionsHandler = new Utils.InjectionsHandler();
+ this._signalsHandler = new Utils.GlobalSignalsHandler();
+
+ this._optionalWorkspaceIsolation();
+ this._optionalHotKeys();
+ this._optionalNumberOverlay();
+ this._toggleDash();
+ },
+
+ disable: function () {
+ this._signalsHandler.destroy();
+ this._injectionsHandler.destroy();
+
+ this._toggleDash(true);
+
+ // Remove key bindings
+ this._disableHotKeys();
+ this._disableExtraShortcut();
+ },
+
+ _toggleDash: function(visible) {
+ // To hide the dash, set its width to 1, so it's almost not taken into account by code
+ // calculaing the reserved space in the overview. The reason to keep it at 1 is
+ // to allow its visibility change to trigger an allocaion of the appGrid which
+ // in turn is triggergin the appsIcon spring animation, required when no other
+ // actors has this effect, i.e in horizontal mode and without the workspaceThumnails
+ // 1 static workspace only)
+
+ if (visible === undefined) {
+ visible = false;
+ }
+
+ let visibilityFunc = visible ? 'show' : 'hide';
+ let width = visible ? -1 : 1;
+ let overviewControls = Main.overview._overview._controls || Main.overview._controls;
+
+ overviewControls.dash.actor[visibilityFunc]();
+ overviewControls.dash.actor.set_width(width);
+
+ // This force the recalculation of the icon size
+ overviewControls.dash._maxHeight = -1;
+ },
+
+ /**
+ * Isolate overview to open new windows for inactive apps
+ */
+ _optionalWorkspaceIsolation: function() {
+ let label = 'optionalWorkspaceIsolation';
+
+ this._signalsHandler.add([
+ Me.settings,
+ 'changed::isolate-workspaces',
+ Lang.bind(this, function() {
+ this._panel.panelManager.allPanels.forEach(p => p.taskbar.resetAppIcons());
+
+ if (Me.settings.get_boolean('isolate-workspaces'))
+ Lang.bind(this, enable)();
+ else
+ Lang.bind(this, disable)();
+ })
+ ]);
+
+ if (Me.settings.get_boolean('isolate-workspaces'))
+ Lang.bind(this, enable)();
+
+ function enable() {
+ this._injectionsHandler.removeWithLabel(label);
+
+ this._injectionsHandler.addWithLabel(label, [
+ Shell.App.prototype,
+ 'activate',
+ IsolatedOverview
+ ]);
+
+ this._signalsHandler.removeWithLabel(label);
+
+ this._signalsHandler.addWithLabel(label, [
+ global.window_manager,
+ 'switch-workspace',
+ () => this._panel.panelManager.allPanels.forEach(p => p.taskbar.handleIsolatedWorkspaceSwitch())
+ ]);
+ }
+
+ function disable() {
+ this._signalsHandler.removeWithLabel(label);
+ this._injectionsHandler.removeWithLabel(label);
+ }
+
+ function IsolatedOverview() {
+ // These lines take care of Nautilus for icons on Desktop
+ let activeWorkspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
+ let windows = this.get_windows().filter(w => w.get_workspace().index() == activeWorkspace.index());
+
+ if (windows.length > 0 &&
+ (!(windows.length == 1 && windows[0].skip_taskbar) ||
+ this.is_on_workspace(activeWorkspace)))
+ return Main.activateWindow(windows[0]);
+
+ return this.open_new_window(-1);
+ }
+ },
+
+ // Hotkeys
+ _activateApp: function(appIndex) {
+ let seenApps = {};
+ let apps = [];
+
+ this.taskbar._getAppIcons().forEach(function(appIcon) {
+ if (!seenApps[appIcon.app]) {
+ apps.push(appIcon);
+ }
+
+ seenApps[appIcon.app] = (seenApps[appIcon.app] || 0) + 1;
+ });
+
+ this._showOverlay();
+
+ if (appIndex < apps.length) {
+ let appIcon = apps[appIndex];
+ let seenAppCount = seenApps[appIcon.app];
+ let windowCount = appIcon.window || appIcon._hotkeysCycle ? seenAppCount : appIcon._nWindows;
+
+ if (Me.settings.get_boolean('shortcut-previews') && windowCount > 1 &&
+ !(Clutter.get_current_event().get_state() & ~(Clutter.ModifierType.MOD1_MASK | Clutter.ModifierType.MOD4_MASK))) { //ignore the alt (MOD1_MASK) and super key (MOD4_MASK)
+ if (this._hotkeyPreviewCycleInfo && this._hotkeyPreviewCycleInfo.appIcon != appIcon) {
+ this._endHotkeyPreviewCycle();
+ }
+
+ if (!this._hotkeyPreviewCycleInfo) {
+ this._hotkeyPreviewCycleInfo = {
+ appIcon: appIcon,
+ currentWindow: appIcon.window,
+ keyFocusOutId: appIcon.actor.connect('key-focus-out', () => appIcon.actor.grab_key_focus()),
+ capturedEventId: global.stage.connect('captured-event', (actor, e) => {
+ if (e.type() == Clutter.EventType.KEY_RELEASE && e.get_key_symbol() == (Clutter.KEY_Super_L || Clutter.Super_L)) {
+ this._endHotkeyPreviewCycle(true);
+ }
+
+ return Clutter.EVENT_PROPAGATE;
+ })
+ };
+
+ appIcon._hotkeysCycle = appIcon.window;
+ appIcon.window = null;
+ appIcon._previewMenu.open(appIcon);
+ appIcon.actor.grab_key_focus();
+ }
+
+ appIcon._previewMenu.focusNext();
+ } else {
+ // Activate with button = 1, i.e. same as left click
+ let button = 1;
+ this._endHotkeyPreviewCycle();
+ appIcon.activate(button, true);
+ }
+ }
+ },
+
+ _endHotkeyPreviewCycle: function(focusWindow) {
+ if (this._hotkeyPreviewCycleInfo) {
+ global.stage.disconnect(this._hotkeyPreviewCycleInfo.capturedEventId);
+ this._hotkeyPreviewCycleInfo.appIcon.actor.disconnect(this._hotkeyPreviewCycleInfo.keyFocusOutId);
+
+ if (focusWindow) {
+ this._hotkeyPreviewCycleInfo.appIcon._previewMenu.activateFocused();
+ }
+
+ this._hotkeyPreviewCycleInfo.appIcon.window = this._hotkeyPreviewCycleInfo.currentWindow;
+ delete this._hotkeyPreviewCycleInfo.appIcon._hotkeysCycle;
+ this._hotkeyPreviewCycleInfo = 0;
+ }
+ },
+
+ _optionalHotKeys: function() {
+ this._hotKeysEnabled = false;
+ if (Me.settings.get_boolean('hot-keys'))
+ this._enableHotKeys();
+
+ this._signalsHandler.add([
+ Me.settings,
+ 'changed::hot-keys',
+ Lang.bind(this, function() {
+ if (Me.settings.get_boolean('hot-keys'))
+ Lang.bind(this, this._enableHotKeys)();
+ else
+ Lang.bind(this, this._disableHotKeys)();
+ })
+ ]);
+ },
+
+ _resetHotkeys: function() {
+ this._disableHotKeys();
+ this._enableHotKeys();
+ },
+
+ _enableHotKeys: function() {
+ if (this._hotKeysEnabled)
+ return;
+
+ //3.32 introduced app hotkeys, disable them to prevent conflicts
+ if (Main.wm._switchToApplication) {
+ for (let i = 1; i < 10; ++i) {
+ Utils.removeKeybinding(GS_HOTKEYS_KEY + i);
+ }
+ }
+
+ // Setup keyboard bindings for taskbar elements
+ let shortcutNumKeys = Me.settings.get_string('shortcut-num-keys');
+ let bothNumKeys = shortcutNumKeys == 'BOTH';
+ let keys = [];
+
+ if (bothNumKeys || shortcutNumKeys == 'NUM_ROW') {
+ keys.push('app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-'); // Regular numbers
+ }
+
+ if (bothNumKeys || shortcutNumKeys == 'NUM_KEYPAD') {
+ keys.push('app-hotkey-kp-', 'app-shift-hotkey-kp-', 'app-ctrl-hotkey-kp-'); // Key-pad numbers
+ }
+
+ keys.forEach( function(key) {
+ for (let i = 0; i < this._numHotkeys; i++) {
+ let appNum = i;
+
+ Utils.addKeybinding(key + (i + 1), Me.settings, () => this._activateApp(appNum));
+ }
+ }, this);
+
+ this._hotKeysEnabled = true;
+
+ if (Me.settings.get_string('hotkeys-overlay-combo') === 'ALWAYS')
+ this.taskbar.toggleNumberOverlay(true);
+ },
+
+ _disableHotKeys: function() {
+ if (!this._hotKeysEnabled)
+ return;
+
+ let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-', // Regular numbers
+ 'app-hotkey-kp-', 'app-shift-hotkey-kp-', 'app-ctrl-hotkey-kp-']; // Key-pad numbers
+ keys.forEach( function(key) {
+ for (let i = 0; i < this._numHotkeys; i++) {
+ Utils.removeKeybinding(key + (i + 1));
+ }
+ }, this);
+
+ if (Main.wm._switchToApplication) {
+ let gsSettings = new Gio.Settings({ schema_id: imports.ui.windowManager.SHELL_KEYBINDINGS_SCHEMA });
+
+ for (let i = 1; i < 10; ++i) {
+ Utils.addKeybinding(GS_HOTKEYS_KEY + i, gsSettings, Main.wm._switchToApplication.bind(Main.wm));
+ }
+ }
+
+ this._hotKeysEnabled = false;
+
+ this.taskbar.toggleNumberOverlay(false);
+ },
+
+ _optionalNumberOverlay: function() {
+ // Enable extra shortcut
+ if (Me.settings.get_boolean('hot-keys'))
+ this._enableExtraShortcut();
+
+ this._signalsHandler.add([
+ Me.settings,
+ 'changed::hot-keys',
+ Lang.bind(this, this._checkHotkeysOptions)
+ ], [
+ Me.settings,
+ 'changed::hotkeys-overlay-combo',
+ Lang.bind(this, function() {
+ if (Me.settings.get_boolean('hot-keys') && Me.settings.get_string('hotkeys-overlay-combo') === 'ALWAYS')
+ this.taskbar.toggleNumberOverlay(true);
+ else
+ this.taskbar.toggleNumberOverlay(false);
+ })
+ ], [
+ Me.settings,
+ 'changed::shortcut-num-keys',
+ () => this._resetHotkeys()
+ ]);
+ },
+
+ _checkHotkeysOptions: function() {
+ if (Me.settings.get_boolean('hot-keys'))
+ this._enableExtraShortcut();
+ else
+ this._disableExtraShortcut();
+ },
+
+ _enableExtraShortcut: function() {
+ Utils.addKeybinding('shortcut', Me.settings, () => this._showOverlay(true));
+ },
+
+ _disableExtraShortcut: function() {
+ Utils.removeKeybinding('shortcut');
+ },
+
+ _showOverlay: function(overlayFromShortcut) {
+ //wait for intellihide timeout initialization
+ if (!this._panel.intellihide) {
+ return;
+ }
+
+ // Restart the counting if the shortcut is pressed again
+ if (this._numberOverlayTimeoutId) {
+ Mainloop.source_remove(this._numberOverlayTimeoutId);
+ this._numberOverlayTimeoutId = 0;
+ }
+
+ let hotkey_option = Me.settings.get_string('hotkeys-overlay-combo');
+
+ if (hotkey_option === 'NEVER')
+ return;
+
+ if (hotkey_option === 'TEMPORARILY' || overlayFromShortcut)
+ this.taskbar.toggleNumberOverlay(true);
+
+ this._panel.intellihide.revealAndHold(Intellihide.Hold.TEMPORARY);
+
+ let timeout = OVERLAY_TIMEOUT;
+
+ if (overlayFromShortcut) {
+ timeout = SHORTCUT_TIMEOUT;
+ }
+
+ // Hide the overlay/dock after the timeout
+ this._numberOverlayTimeoutId = Mainloop.timeout_add(timeout, Lang.bind(this, function() {
+ this._numberOverlayTimeoutId = 0;
+
+ if (hotkey_option != 'ALWAYS') {
+ this.taskbar.toggleNumberOverlay(false);
+ }
+
+ this._panel.intellihide.release(Intellihide.Hold.TEMPORARY);
+ }));
+ }
+});
diff --git a/panel.js b/panel.js
new file mode 100644
index 0000000..701c8d7
--- /dev/null
+++ b/panel.js
@@ -0,0 +1,1446 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Credits:
+ * This file is based on code from the Dash to Dock extension by micheleg
+ * and code from the Dash to Panel extension
+ *
+ * Code to re-anchor the panel was taken from Thoma5 BottomPanel:
+ * https://github.com/Thoma5/gnome-shell-extension-bottompanel
+ *
+ * Pattern for moving clock based on Frippery Move Clock by R M Yorston
+ * http://frippery.org/extensions/
+ *
+ * Some code was also adapted from the upstream Gnome Shell source code.
+ */
+
+const Me = imports.misc.extensionUtils.getCurrentExtension();
+const Clutter = imports.gi.Clutter;
+const Config = imports.misc.config;
+const Gtk = imports.gi.Gtk;
+const Gi = imports._gi;
+const Gio = imports.gi.Gio;
+const AppIcons = Me.imports.appIcons;
+const Utils = Me.imports.utils;
+const Taskbar = Me.imports.taskbar;
+const Pos = Me.imports.panelPositions;
+const PanelStyle = Me.imports.panelStyle;
+const Lang = imports.lang;
+const Main = imports.ui.main;
+const Mainloop = imports.mainloop;
+const Dash = imports.ui.dash;
+const CtrlAltTab = imports.ui.ctrlAltTab;
+const Panel = imports.ui.panel;
+const PanelMenu = imports.ui.panelMenu;
+const St = imports.gi.St;
+const GLib = imports.gi.GLib;
+const Meta = imports.gi.Meta;
+const Pango = imports.gi.Pango;
+const DND = imports.ui.dnd;
+const Shell = imports.gi.Shell;
+const PopupMenu = imports.ui.popupMenu;
+const IconGrid = imports.ui.iconGrid;
+const ViewSelector = imports.ui.viewSelector;
+const DateMenu = imports.ui.dateMenu;
+const Volume = imports.ui.status.volume;
+const Progress = Me.imports.progress;
+
+const Intellihide = Me.imports.intellihide;
+const Transparency = Me.imports.transparency;
+const _ = imports.gettext.domain(Me.imports.utils.TRANSLATION_DOMAIN).gettext;
+
+let tracker = Shell.WindowTracker.get_default();
+var panelBoxes = ['_leftBox', '_centerBox', '_rightBox'];
+
+var SHOW_DESKTOP_ICON = Me.path + '/img/show-desktop-symbolic.svg';
+
+//timeout names
+const T1 = 'startDynamicTransparencyTimeout';
+const T2 = 'startIntellihideTimeout';
+const T3 = 'allocationThrottleTimeout';
+const T4 = 'showDesktopTimeout';
+const T5 = 'trackerFocusAppTimeout';
+const T6 = 'waitPanelBoxAllocation';
+
+const SHOW_SHOWDESKTOP_DELAY = 1000;
+const SHOW_SHOWDESKTOP_TIME = 200;
+
+var dtpPanel = Utils.defineClass({
+ Name: 'ZorinTaskbar-Panel',
+ Extends: St.Widget,
+
+ _init: function(panelManager, monitor, panelBox, isStandalone) {
+ this.callParent('_init', { layout_manager: new Clutter.BinLayout() });
+
+ this._timeoutsHandler = new Utils.TimeoutsHandler();
+ this._signalsHandler = new Utils.GlobalSignalsHandler();
+
+ this.panelManager = panelManager;
+ this.panelStyle = new PanelStyle.dtpPanelStyle();
+
+ this.monitor = monitor;
+ this.panelBox = panelBox;
+
+ // when the original gnome-shell top panel is kept, all panels are "standalone",
+ // 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.
+ this.isStandalone = isStandalone;
+ this.isPrimary = !isStandalone;
+
+ this._sessionStyle = null;
+ this._unmappedButtons = [];
+ this._elementGroups = [];
+ this.cornerSize = 0;
+
+ let position = this.getPosition();
+
+ if (isStandalone) {
+ this.panel = new dtpSecondaryPanel({ name: 'panel', reactive: true });
+ this.statusArea = this.panel.statusArea = {};
+
+ Utils.wrapActor(this.panel);
+
+ //next 3 functions are needed by other extensions to add elements to the secondary panel
+ this.panel.addToStatusArea = function(role, indicator, position, box) {
+ return Main.panel.addToStatusArea.call(this, role, indicator, position, box);
+ };
+
+ this.panel._addToPanelBox = function(role, indicator, position, box) {
+ Main.panel._addToPanelBox.call(this, role, indicator, position, box);
+ };
+
+ this.panel._onMenuSet = function(indicator) {
+ Main.panel._onMenuSet.call(this, indicator);
+ };
+
+ this._leftBox = this.panel._leftBox = new St.BoxLayout({ name: 'panelLeft' });
+ this._centerBox = this.panel._centerBox = new St.BoxLayout({ name: 'panelCenter' });
+ this._rightBox = this.panel._rightBox = new St.BoxLayout({ name: 'panelRight' });
+
+ this.menuManager = this.panel.menuManager = new PopupMenu.PopupMenuManager(this.panel);
+
+ this._setPanelMenu('aggregateMenu', dtpSecondaryAggregateMenu, this.panel.actor);
+ this._setPanelMenu('dateMenu', DateMenu.DateMenuButton, this.panel.actor);
+ this._setPanelMenu('activities', Panel.ActivitiesButton, this.panel.actor);
+
+ this.panel.add_child(this._leftBox);
+ this.panel.add_child(this._centerBox);
+ this.panel.add_child(this._rightBox);
+ } else {
+ this.panel = Main.panel;
+ this.statusArea = Main.panel.statusArea;
+ this.menuManager = Main.panel.menuManager;
+
+ panelBoxes.forEach(p => this[p] = Main.panel[p]);
+
+ ['activities', 'aggregateMenu', 'dateMenu'].forEach(b => {
+ let container = this.statusArea[b].container;
+ let parent = container.get_parent();
+
+ container._dtpOriginalParent = parent;
+ parent ? parent.remove_child(container) : null;
+ this.panel.actor.add_child(container);
+ });
+ }
+
+ // Create a wrapper around the real showAppsIcon in order to add a popupMenu. Most of
+ // its behavior is handled by the taskbar, but its positioning is done at the panel level
+ this.showAppsIconWrapper = new AppIcons.ShowAppsIconWrapper(this);
+ this.panel.actor.add_child(this.showAppsIconWrapper.realShowAppsIcon);
+
+ this.panel.actor._delegate = this;
+
+ Utils.wrapActor(this.statusArea.activities);
+
+ this.add_child(this.panel.actor);
+
+ if (Main.panel._onButtonPress || Main.panel._tryDragWindow) {
+ this._signalsHandler.add([
+ this.panel.actor,
+ [
+ 'button-press-event',
+ 'touch-event'
+ ],
+ this._onButtonPress.bind(this)
+ ]);
+ }
+
+ if (Main.panel._onKeyPress) {
+ this._signalsHandler.add([this.panel.actor, 'key-press-event', Main.panel._onKeyPress.bind(this)]);
+ }
+
+ Main.ctrlAltTabManager.addGroup(this, _("Top Bar")+" "+ monitor.index, 'focus-top-bar-symbolic',
+ { sortGroup: CtrlAltTab.SortGroup.TOP });
+ },
+
+ enable : function() {
+ let position = this.getPosition();
+
+ if (this.statusArea.aggregateMenu) {
+ Utils.getIndicators(this.statusArea.aggregateMenu._volume)._dtpIgnoreScroll = 1;
+ }
+
+ this.geom = this.getGeometry();
+
+ // The overview uses the panel height as a margin by way of a "ghost" transparent Clone
+ // This pushes everything down, which isn't desired when the panel is moved to the bottom
+ // I'm adding a 2nd ghost panel and will resize the top or bottom ghost depending on the panel position
+ this._myPanelGhost = new Clutter.Actor({
+ x: this.geom.x,
+ y: this.geom.y ,
+ reactive: false,
+ opacity: 0
+ });
+
+ let isTop = this.geom.position == St.Side.TOP;
+
+ if (isTop) {
+ this.panel._leftCorner = this.panel._leftCorner || new Panel.PanelCorner(St.Side.LEFT);
+ this.panel._rightCorner = this.panel._rightCorner || new Panel.PanelCorner(St.Side.RIGHT);
+
+ Main.overview._overview.insert_child_at_index(this._myPanelGhost, 0);
+ } else {
+ let overviewControls = Main.overview._overview._controls || Main.overview._controls;
+
+ if (this.geom.position == St.Side.BOTTOM) {
+ Main.overview._overview.add_actor(this._myPanelGhost);
+ } else if (this.geom.position == St.Side.LEFT) {
+ overviewControls._group.insert_child_at_index(this._myPanelGhost, 0);
+ } else {
+ overviewControls._group.add_actor(this._myPanelGhost);
+ }
+ }
+
+ if (this.panel._leftCorner) {
+ Utils.wrapActor(this.panel._leftCorner);
+ Utils.wrapActor(this.panel._rightCorner);
+
+ if (isTop) {
+ if (this.isStandalone) {
+ this.panel.actor.add_child(this.panel._leftCorner.actor);
+ this.panel.actor.add_child(this.panel._rightCorner.actor);
+ }
+ } else if (Config.PACKAGE_VERSION >= '3.32') {
+ this.panel.actor.remove_child(this.panel._leftCorner.actor);
+ this.panel.actor.remove_child(this.panel._rightCorner.actor);
+ }
+ }
+
+ this._setPanelPosition();
+
+ if (!this.isStandalone) {
+ if (this.panel.vfunc_allocate) {
+ this._panelConnectId = 0;
+ Utils.hookVfunc(this.panel.__proto__, 'allocate', (box, flags) => this._mainPanelAllocate(0, box, flags));
+ } else {
+ this._panelConnectId = this.panel.actor.connect('allocate', (actor, box, flags) => this._mainPanelAllocate(actor, box, flags));
+ }
+
+ // remove the extra space before the clock when the message-indicator is displayed
+ if (DateMenu.IndicatorPad) {
+ Utils.hookVfunc(DateMenu.IndicatorPad.prototype, 'get_preferred_width', () => [0,0]);
+ Utils.hookVfunc(DateMenu.IndicatorPad.prototype, 'get_preferred_height', () => [0,0]);
+ }
+ }
+
+ if (!DateMenu.IndicatorPad && this.statusArea.dateMenu) {
+ //3.36 switched to a size constraint applied on an anonymous child
+ let indicatorPad = this.statusArea.dateMenu.get_first_child().get_first_child();
+
+ this._dateMenuIndicatorPadContraints = indicatorPad.get_constraints();
+ indicatorPad.clear_constraints();
+ }
+
+ // The main panel's connection to the "allocate" signal is competing with this extension
+ // trying to move the centerBox over to the right, creating a never-ending cycle.
+ // Since we don't have the ID to disconnect that handler, wrap the allocate() function
+ // it calls instead. If the call didn't originate from this file, ignore it.
+ panelBoxes.forEach(b => {
+ this[b].allocate = (box, flags, isFromZorinTaskbar) => {
+ if (isFromZorinTaskbar) {
+ Utils.allocate(this[b], box, flags, true);
+ }
+ }
+ });
+
+ this.menuManager._oldChangeMenu = this.menuManager._changeMenu;
+ this.menuManager._changeMenu = (menu) => {
+ this.menuManager._oldChangeMenu(menu);
+ };
+
+ if (this.statusArea.appMenu) {
+ this._leftBox.remove_child(this.statusArea.appMenu.container);
+ }
+
+ this.dynamicTransparency = new Transparency.DynamicTransparency(this);
+
+ this.taskbar = new Taskbar.taskbar(this);
+
+ this.panel.actor.add_child(this.taskbar.actor);
+
+ this._setAppmenuVisible(false);
+ this._setShowDesktopButton(true);
+
+ this._setAllocationMap();
+
+ this.panel.actor.add_style_class_name('zorintaskbarMainPanel ' + this.getOrientation());
+
+ // Since Gnome 3.8 dragging an app without having opened the overview before cause the attemp to
+ //animate a null target since some variables are not initialized when the viewSelector is created
+ if(Main.overview.viewSelector._activePage == null)
+ Main.overview.viewSelector._activePage = Main.overview.viewSelector._workspacesPage;
+
+ this._setPanelGhostSize();
+
+ this._timeoutsHandler.add([T2, Intellihide.INTELLIHIDE_ENABLE_START_DELAY, () => this.intellihide = new Intellihide.Intellihide(this)]);
+
+ this._signalsHandler.add(
+ // this is to catch changes to the theme or window scale factor
+ [
+ Utils.getStageTheme(),
+ 'changed',
+ () => (this._resetGeometry(), this._setShowDesktopButtonStyle()),
+ ],
+ [
+ // sync hover after a popupmenu is closed
+ this.taskbar,
+ 'menu-closed',
+ Lang.bind(this, function(){this.panel.actor.sync_hover();})
+ ],
+ [
+ Main.overview,
+ [
+ 'showing',
+ 'hiding'
+ ],
+ () => this._adjustForOverview()
+ ],
+ [
+ Main.overview,
+ 'hidden',
+ () => {
+ if (this.isPrimary) {
+ //reset the primary monitor when exiting the overview
+ this.panelManager.setFocusedMonitor(this.monitor, true);
+ }
+ }
+ ],
+ [
+ this.statusArea.activities.actor,
+ 'captured-event',
+ (actor, e) => {
+ if (e.type() == Clutter.EventType.BUTTON_PRESS || e.type() == Clutter.EventType.TOUCH_BEGIN) {
+ //temporarily use as primary the monitor on which the activities btn was clicked
+ this.panelManager.setFocusedMonitor(this.monitor, true);
+ }
+ }
+ ],
+ [
+ this._centerBox,
+ 'actor-added',
+ () => this._onBoxActorAdded(this._centerBox)
+ ],
+ [
+ this._rightBox,
+ 'actor-added',
+ () => this._onBoxActorAdded(this._rightBox)
+ ],
+ [
+ Main.layoutManager,
+ 'startup-complete',
+ () => this._resetGeometry()
+ ]
+ );
+
+ this._bindSettingsChanges();
+
+ this.panelStyle.enable(this);
+
+ if (this.checkIfVertical()) {
+ this._signalsHandler.add([
+ this.panelBox,
+ 'notify::visible',
+ () => {
+ if (this.panelBox.visible) {
+ this._refreshVerticalAlloc();
+ }
+ }
+ ]);
+
+ this._setSearchEntryOffset(this.geom.w);
+
+ if (this.statusArea.dateMenu) {
+ this._formatVerticalClock();
+
+ this._signalsHandler.add([
+ this.statusArea.dateMenu._clock,
+ 'notify::clock',
+ () => this._formatVerticalClock()
+ ]);
+ }
+ }
+
+ // Since we are usually visible but not usually changing, make sure
+ // most repaint requests don't actually require us to repaint anything.
+ // This saves significant CPU when repainting the screen.
+ this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
+
+ this._initProgressManager();
+ },
+
+ disable: function () {
+ this.panelStyle.disable();
+
+ this._timeoutsHandler.destroy();
+ this._signalsHandler.destroy();
+ this._disablePanelCornerSignals();
+
+ this.panel.actor.remove_child(this.taskbar.actor);
+ this._setAppmenuVisible(false);
+
+ if (this.intellihide) {
+ this.intellihide.destroy();
+ }
+
+ this.dynamicTransparency.destroy();
+
+ this.progressManager.destroy();
+
+ this.taskbar.destroy();
+ this.showAppsIconWrapper.destroy();
+
+ this.menuManager._changeMenu = this.menuManager._oldChangeMenu;
+
+ this._myPanelGhost.get_parent().remove_actor(this._myPanelGhost);
+ this._setSearchEntryOffset(0);
+
+ panelBoxes.forEach(b => delete this[b].allocate);
+ this._unmappedButtons.forEach(a => this._disconnectVisibleId(a));
+
+ if (this._dateMenuIndicatorPadContraints && this.statusArea.dateMenu) {
+ let indicatorPad = this.statusArea.dateMenu.get_first_child().get_first_child();
+
+ this._dateMenuIndicatorPadContraints.forEach(c => indicatorPad.add_constraint(c));
+ }
+
+ this._setVertical(this.panel.actor, false);
+
+ if (!this.isStandalone) {
+ this.statusArea.dateMenu._clockDisplay.text = this.statusArea.dateMenu._clock.clock;
+
+ ['vertical', 'horizontal', 'zorintaskbarMainPanel'].forEach(c => this.panel.actor.remove_style_class_name(c));
+
+ if (!Main.sessionMode.isLocked) {
+ [['activities', 0], ['aggregateMenu', -1], ['dateMenu', 0]].forEach(b => {
+ let container = this.statusArea[b[0]].container;
+ let originalParent = container._dtpOriginalParent;
+
+ this.panel.actor.remove_child(container);
+ originalParent ? originalParent.insert_child_at_index(container, b[1]) : null;
+ delete container._dtpOriginalParent;
+ });
+
+ if (this.statusArea.appMenu) {
+ this._leftBox.add_child(this.statusArea.appMenu.container);
+ }
+ }
+
+ if (!this.panel._leftCorner.actor.mapped) {
+ this.panel.actor.add_child(this.panel._leftCorner.actor);
+ this.panel.actor.add_child(this.panel._rightCorner.actor);
+ }
+
+ this._setShowDesktopButton(false);
+
+ delete Utils.getIndicators(this.statusArea.aggregateMenu._volume)._dtpIgnoreScroll;
+
+ if (DateMenu.IndicatorPad) {
+ 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);
+ }
+
+ if (this._panelConnectId) {
+ this.panel.actor.disconnect(this._panelConnectId);
+ } else {
+ Utils.hookVfunc(this.panel.__proto__, 'allocate', this.panel.__proto__.vfunc_allocate);
+ }
+
+ this.panel.actor._delegate = this.panel;
+ } else {
+ this._removePanelMenu('dateMenu');
+ this._removePanelMenu('aggregateMenu');
+ this._removePanelMenu('activities');
+ }
+
+ Main.ctrlAltTabManager.removeGroup(this);
+ },
+
+ handleDragOver: function(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: function() {
+ //for now, use the previous "global" position setting as default. The 'panel-position' should be deleted in the future
+ let position = this.panelManager.panelPositions[this.monitor.index] || Me.settings.get_string('panel-position');
+
+ if (position == Pos.TOP) {
+ return St.Side.TOP;
+ } else if (position == Pos.RIGHT) {
+ return St.Side.RIGHT;
+ } else if (position == Pos.BOTTOM) {
+ return St.Side.BOTTOM;
+ }
+
+ return St.Side.LEFT;
+ },
+
+ checkIfVertical: function() {
+ let position = this.getPosition();
+
+ return (position == St.Side.LEFT || position == St.Side.RIGHT);
+ },
+
+ getOrientation: function() {
+ return (this.checkIfVertical() ? 'vertical' : 'horizontal');
+ },
+
+ updateElementPositions: function() {
+ let panelPositions = this.panelManager.panelsElementPositions[this.monitor.index] || Pos.defaults;
+
+ this._updateGroupedElements(panelPositions);
+
+ this._disablePanelCornerSignals();
+
+ if (this.getPosition() == St.Side.TOP) {
+ let visibleElements = panelPositions.filter(pp => pp.visible);
+ let connectCorner = (corner, button) => {
+ corner._button = button;
+ corner._buttonStyleChangedSignalId = button.connect('style-changed', () => {
+ corner.set_style_pseudo_class(button.get_style_pseudo_class());
+ });
+ }
+
+ if (visibleElements[0].element == Pos.ACTIVITIES_BTN) {
+ connectCorner(this.panel._leftCorner, this.statusArea.activities);
+ }
+
+ if (visibleElements[visibleElements.length - 1].element == Pos.SYSTEM_MENU) {
+ connectCorner(this.panel._rightCorner, this.statusArea.aggregateMenu);
+ }
+ }
+
+ this.panel.actor.hide();
+ this.panel.actor.show();
+ },
+
+ _updateGroupedElements: function(panelPositions) {
+ let previousPosition = 0;
+ let previousCenteredPosition = 0;
+ let currentGroup = -1;
+
+ this._elementGroups = [];
+
+ panelPositions.forEach(pos => {
+ let allocationMap = this.allocationMap[pos.element];
+
+ if (allocationMap.actor) {
+ allocationMap.actor.visible = pos.visible;
+
+ if (!pos.visible) {
+ return;
+ }
+
+ let currentPosition = pos.position;
+ let isCentered = Pos.checkIfCentered(currentPosition);
+
+ if (currentPosition == Pos.STACKED_TL && previousPosition == Pos.STACKED_BR) {
+ currentPosition = Pos.STACKED_BR;
+ }
+
+ if (!previousPosition ||
+ (previousPosition == Pos.STACKED_TL && currentPosition != Pos.STACKED_TL) ||
+ (previousPosition != Pos.STACKED_BR && currentPosition == Pos.STACKED_BR) ||
+ (isCentered && previousPosition != currentPosition && previousPosition != Pos.STACKED_BR)) {
+ this._elementGroups[++currentGroup] = { elements: [], index: this._elementGroups.length, expandableIndex: -1 };
+ previousCenteredPosition = 0;
+ }
+
+ if (pos.element == Pos.TASKBAR) {
+ this._elementGroups[currentGroup].expandableIndex = this._elementGroups[currentGroup].elements.length;
+ }
+
+ if (isCentered && !this._elementGroups[currentGroup].isCentered) {
+ this._elementGroups[currentGroup].isCentered = 1;
+ previousCenteredPosition = currentPosition;
+ }
+
+ this._elementGroups[currentGroup].position = previousCenteredPosition || currentPosition;
+ this._elementGroups[currentGroup].elements.push(allocationMap);
+
+ allocationMap.position = currentPosition;
+ previousPosition = currentPosition;
+ }
+ });
+ },
+
+ _disablePanelCornerSignals: function() {
+ if (this.panel._rightCorner && this.panel._rightCorner._buttonStyleChangedSignalId) {
+ this.panel._rightCorner._button.disconnect(this.panel._rightCorner._buttonStyleChangedSignalId);
+ delete this.panel._rightCorner._buttonStyleChangedSignalId;
+ }
+
+ if (this.panel._leftCorner && this.panel._leftCorner._buttonStyleChangedSignalId) {
+ this.panel._leftCorner._button.disconnect(this.panel._leftCorner._buttonStyleChangedSignalId);
+ delete this.panel._leftCorner._buttonStyleChangedSignalId;
+ }
+ },
+
+ _bindSettingsChanges: function() {
+ let isVertical = this.checkIfVertical();
+
+ this._signalsHandler.add(
+ [
+ Me.settings,
+ [
+ 'changed::panel-size',
+ 'changed::group-apps'
+ ],
+ () => this._resetGeometry()
+ ],
+ [
+ Me.settings,
+ [
+ 'changed::showdesktop-button-width',
+ 'changed::show-showdesktop-icon'
+ ],
+ () => this._setShowDesktopButtonStyle()
+ ],
+ [
+ Me.desktopSettings,
+ 'changed::clock-format',
+ () => {
+ this._clockFormat = null;
+
+ if (isVertical) {
+ this._formatVerticalClock();
+ }
+ }
+ ],
+ [
+ Me.settings,
+ 'changed::progress-show-bar',
+ () => this._initProgressManager()
+ ],
+ [
+ Me.settings,
+ 'changed::progress-show-count',
+ () => this._initProgressManager()
+ ]
+ );
+
+ if (isVertical) {
+ this._signalsHandler.add([Me.settings, 'changed::group-apps-label-max-width', () => this._resetGeometry()]);
+ }
+ },
+
+ _setPanelMenu: function(propName, constr, container) {
+ if (!this.statusArea[propName]) {
+ this.statusArea[propName] = this._getPanelMenu(propName, constr);
+ this.menuManager.addMenu(this.statusArea[propName].menu);
+ container.insert_child_at_index(this.statusArea[propName].container, 0);
+ }
+ },
+
+ _removePanelMenu: function(propName) {
+ if (this.statusArea[propName]) {
+ let parent = this.statusArea[propName].container.get_parent();
+
+ if (parent) {
+ parent.remove_actor(this.statusArea[propName].container);
+ }
+
+ //calling this.statusArea[propName].destroy(); is buggy for now, gnome-shell never
+ //destroys those panel menus...
+ //since we can't destroy the menu (hence properly disconnect its signals), let's
+ //store it so the next time a panel needs one of its kind, we can reuse it instead
+ //of creating a new one
+ let panelMenu = this.statusArea[propName];
+
+ this.menuManager.removeMenu(panelMenu.menu);
+ Me.persistentStorage[propName].push(panelMenu);
+ this.statusArea[propName] = null;
+ }
+ },
+
+ _getPanelMenu: function(propName, constr) {
+ Me.persistentStorage[propName] = Me.persistentStorage[propName] || [];
+
+ if (!Me.persistentStorage[propName].length) {
+ Me.persistentStorage[propName].push(new constr());
+ }
+
+ return Me.persistentStorage[propName].pop();
+ },
+
+ _setPanelGhostSize: function() {
+ this._myPanelGhost.set_size(this.width, this.checkIfVertical() ? 1 : this.height);
+ },
+
+ _setSearchEntryOffset: function(offset) {
+ if (this.isPrimary) {
+ //In the overview, when the panel is vertical the search-entry is the only element
+ //that doesn't natively take into account the size of a side dock, as it is always
+ //centered relatively to the monitor. This looks misaligned, adjust it here so it
+ //is centered like the rest of the overview elements.
+ let paddingSide = this.getPosition() == St.Side.LEFT ? 'left' : 'right';
+ let scaleFactor = Utils.getScaleFactor();
+ let style = offset ? 'padding-' + paddingSide + ':' + (offset / scaleFactor) + 'px;' : null;
+ let searchEntry = Main.overview._searchEntry || Main.overview._overview._searchEntry;
+
+ searchEntry.get_parent().set_style(style);
+ }
+ },
+
+ _adjustForOverview: function() {
+ let isFocusedMonitor = this.panelManager.checkIfFocusedMonitor(this.monitor);
+ let isOverview = !!Main.overview.visibleTarget;
+ let isOverviewFocusedMonitor = isOverview && isFocusedMonitor;
+ let isShown = !isOverview || isOverviewFocusedMonitor;
+
+ this.panelBox[isShown ? 'show' : 'hide']();
+
+ if (isOverview) {
+ this._myPanelGhost[isOverviewFocusedMonitor ? 'show' : 'hide']();
+
+ if (isOverviewFocusedMonitor) {
+ Utils.getPanelGhost().set_size(1, this.geom.position == St.Side.TOP ? 0 : 32);
+ }
+ }
+ },
+
+ _resetGeometry: function() {
+ this.geom = this.getGeometry();
+ this._setPanelGhostSize();
+ this._setPanelPosition();
+ this.taskbar.resetAppIcons(true);
+ this.dynamicTransparency.updateExternalStyle();
+
+ if (this.intellihide && this.intellihide.enabled) {
+ this.intellihide.reset();
+ }
+
+ if (this.checkIfVertical()) {
+ this.showAppsIconWrapper.realShowAppsIcon.toggleButton.set_width(this.geom.w);
+ this._refreshVerticalAlloc();
+ this._setSearchEntryOffset(this.geom.w);
+ }
+ },
+
+ getGeometry: function() {
+ let scaleFactor = Utils.getScaleFactor();
+ let panelBoxTheme = this.panelBox.get_theme_node();
+ let lrPadding = panelBoxTheme.get_padding(St.Side.RIGHT) + panelBoxTheme.get_padding(St.Side.LEFT);
+ let topPadding = panelBoxTheme.get_padding(St.Side.TOP);
+ let tbPadding = topPadding + panelBoxTheme.get_padding(St.Side.BOTTOM);
+ let position = this.getPosition();
+ let gsTopPanelOffset = 0;
+ let x = 0, y = 0;
+ let w = 0, h = 0;
+
+ this.dtpSize = Me.settings.get_int('panel-size') * scaleFactor;
+
+ if (this.checkIfVertical()) {
+ if (!Me.settings.get_boolean('group-apps')) {
+ // 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.sizeFunc = 'get_preferred_height',
+ this.fixedCoord = { c1: 'x1', c2: 'x2' },
+ this.varCoord = { c1: 'y1', c2: 'y2' };
+
+ w = this.dtpSize;
+ h = this.monitor.height - tbPadding - gsTopPanelOffset;
+ } else {
+ this.sizeFunc = 'get_preferred_width';
+ this.fixedCoord = { c1: 'y1', c2: 'y2' };
+ this.varCoord = { c1: 'x1', c2: 'x2' };
+
+ w = this.monitor.width - lrPadding;
+ h = this.dtpSize;
+ }
+
+ if (position == St.Side.TOP || position == St.Side.LEFT) {
+ x = this.monitor.x;
+ y = this.monitor.y + gsTopPanelOffset;
+ } else if (position == St.Side.RIGHT) {
+ x = this.monitor.x + this.monitor.width - this.dtpSize - lrPadding;
+ y = this.monitor.y + gsTopPanelOffset;
+ } else { //BOTTOM
+ x = this.monitor.x;
+ y = this.monitor.y + this.monitor.height - this.dtpSize - tbPadding;
+ }
+
+ return {
+ x: x, y: y,
+ w: w, h: h,
+ lrPadding: lrPadding,
+ tbPadding: tbPadding,
+ position: position
+ };
+ },
+
+ _setAllocationMap: function() {
+ this.allocationMap = {};
+ let setMap = (name, actor, isBox) => this.allocationMap[name] = {
+ actor: actor,
+ isBox: isBox || 0,
+ box: new Clutter.ActorBox()
+ };
+
+ setMap(Pos.SHOW_APPS_BTN, this.showAppsIconWrapper.realShowAppsIcon);
+ setMap(Pos.ACTIVITIES_BTN, this.statusArea.activities ? this.statusArea.activities.container : 0);
+ setMap(Pos.LEFT_BOX, this._leftBox, 1);
+ setMap(Pos.TASKBAR, this.taskbar.actor);
+ setMap(Pos.CENTER_BOX, this._centerBox, 1);
+ setMap(Pos.DATE_MENU, this.statusArea.dateMenu.container);
+ setMap(Pos.SYSTEM_MENU, this.statusArea.aggregateMenu.container);
+ setMap(Pos.RIGHT_BOX, this._rightBox, 1);
+ setMap(Pos.DESKTOP_BTN, this._showDesktopButton);
+ },
+
+ _mainPanelAllocate: function(actor, box, flags) {
+ Utils.setAllocation(this.panel.actor, box, flags);
+ },
+
+ vfunc_allocate: function(box, flags) {
+ Utils.setAllocation(this, box, flags);
+
+ let fixed = 0;
+ let centeredMonitorGroup;
+ let panelAlloc = new Clutter.ActorBox({ x1: 0, y1: 0, x2: this.geom.w, y2: this.geom.h });
+ let assignGroupSize = (group, update) => {
+ group.size = 0;
+ group.tlOffset = 0;
+ group.brOffset = 0;
+
+ group.elements.forEach(element => {
+ if (!update) {
+ element.box[this.fixedCoord.c1] = panelAlloc[this.fixedCoord.c1];
+ element.box[this.fixedCoord.c2] = panelAlloc[this.fixedCoord.c2];
+ element.natSize = element.actor[this.sizeFunc](-1)[1];
+ }
+
+ if (!group.isCentered || Pos.checkIfCentered(element.position)) {
+ group.size += element.natSize;
+ } else if (element.position == Pos.STACKED_TL) {
+ group.tlOffset += element.natSize;
+ } else { // Pos.STACKED_BR
+ group.brOffset += element.natSize;
+ }
+ });
+
+ if (group.isCentered) {
+ group.size += Math.max(group.tlOffset, group.brOffset) * 2;
+ group.tlOffset = Math.max(group.tlOffset - group.brOffset, 0);
+ }
+ };
+ let allocateGroup = (group, tlLimit, brLimit) => {
+ let startPosition = tlLimit;
+ let currentPosition = 0;
+
+ if (group.expandableIndex >= 0) {
+ let availableSize = brLimit - tlLimit;
+ let expandable = group.elements[group.expandableIndex];
+ let i = 0;
+ let l = this._elementGroups.length;
+ let tlSize = 0;
+ let brSize = 0;
+
+ if (centeredMonitorGroup && (centeredMonitorGroup != group || expandable.position != Pos.CENTERED_MONITOR)) {
+ if (centeredMonitorGroup.index < group.index || (centeredMonitorGroup == group && expandable.position == Pos.STACKED_TL)) {
+ i = centeredMonitorGroup.index;
+ } else {
+ l = centeredMonitorGroup.index;
+ }
+ }
+
+ for (; i < l; ++i) {
+ let refGroup = this._elementGroups[i];
+
+ if (i < group.index && (!refGroup.fixed || refGroup[this.varCoord.c2] > tlLimit)) {
+ tlSize += refGroup.size;
+ } else if (i > group.index && (!refGroup.fixed || refGroup[this.varCoord.c1] < brLimit)) {
+ brSize += refGroup.size;
+ }
+ }
+
+ if (group.isCentered) {
+ availableSize -= Math.max(tlSize, brSize) * 2;
+ } else {
+ availableSize -= tlSize + brSize;
+ }
+
+ if (availableSize < group.size) {
+ expandable.natSize -= (group.size - availableSize) * (group.isCentered && !Pos.checkIfCentered(expandable.position) ? .5 : 1);
+ assignGroupSize(group, true);
+ }
+ }
+
+ if (group.isCentered) {
+ startPosition = tlLimit + (brLimit - tlLimit - group.size) * .5;
+ } else if (group.position == Pos.STACKED_BR) {
+ startPosition = brLimit - group.size;
+ }
+
+ currentPosition = group.tlOffset + startPosition;
+
+ group.elements.forEach(element => {
+ element.box[this.varCoord.c1] = Math.round(currentPosition);
+ element.box[this.varCoord.c2] = Math.round((currentPosition += element.natSize));
+
+ if (element.isBox) {
+ return element.actor.allocate(element.box, flags, true);
+ }
+
+ Utils.allocate(element.actor, element.box, flags, false);
+ });
+
+ group[this.varCoord.c1] = startPosition;
+ group[this.varCoord.c2] = currentPosition;
+ group.fixed = 1;
+ ++fixed;
+ };
+
+ Utils.allocate(this.panel.actor, panelAlloc, flags);
+
+ this._elementGroups.forEach(group => {
+ group.fixed = 0;
+
+ assignGroupSize(group);
+
+ if (group.position == Pos.CENTERED_MONITOR) {
+ centeredMonitorGroup = group;
+ }
+ });
+
+ if (centeredMonitorGroup) {
+ allocateGroup(centeredMonitorGroup, panelAlloc[this.varCoord.c1], panelAlloc[this.varCoord.c2]);
+ }
+
+ let iterations = 0; //failsafe
+ while (fixed < this._elementGroups.length && ++iterations < 10) {
+ for (let i = 0, l = this._elementGroups.length; i < l; ++i) {
+ let group = this._elementGroups[i];
+
+ if (group.fixed) {
+ continue;
+ }
+
+ let prevGroup = this._elementGroups[i - 1];
+ let nextGroup = this._elementGroups[i + 1];
+ let prevLimit = prevGroup && prevGroup.fixed ? prevGroup[this.varCoord.c2] :
+ centeredMonitorGroup && group.index > centeredMonitorGroup.index ? centeredMonitorGroup[this.varCoord.c2] : panelAlloc[this.varCoord.c1];
+ let nextLimit = nextGroup && nextGroup.fixed ? nextGroup[this.varCoord.c1] :
+ centeredMonitorGroup && group.index < centeredMonitorGroup.index ? centeredMonitorGroup[this.varCoord.c1] : panelAlloc[this.varCoord.c2];
+
+ if (group.position == Pos.STACKED_TL) {
+ allocateGroup(group, panelAlloc[this.varCoord.c1], nextLimit);
+ } else if (group.position == Pos.STACKED_BR) {
+ allocateGroup(group, prevLimit, panelAlloc[this.varCoord.c2]);
+ } else if ((!prevGroup || prevGroup.fixed) && (!nextGroup || nextGroup.fixed)) { // CENTERED
+ allocateGroup(group, prevLimit, nextLimit);
+ }
+ }
+ }
+
+ if (this.geom.position == St.Side.TOP) {
+ let childBoxLeftCorner = new Clutter.ActorBox();
+ let childBoxRightCorner = new Clutter.ActorBox();
+ let currentCornerSize = this.cornerSize;
+ let panelAllocFixedSize = box[this.fixedCoord.c2] - box[this.fixedCoord.c1];
+
+ [ , this.cornerSize] = this.panel._leftCorner.actor[this.sizeFunc](-1);
+ childBoxLeftCorner[this.varCoord.c1] = 0;
+ childBoxLeftCorner[this.varCoord.c2] = this.cornerSize;
+ childBoxLeftCorner[this.fixedCoord.c1] = panelAllocFixedSize;
+ childBoxLeftCorner[this.fixedCoord.c2] = panelAllocFixedSize + this.cornerSize;
+
+ childBoxRightCorner[this.varCoord.c1] = box[this.varCoord.c2] - this.cornerSize;
+ childBoxRightCorner[this.varCoord.c2] = box[this.varCoord.c2];
+ childBoxRightCorner[this.fixedCoord.c1] = panelAllocFixedSize;
+ childBoxRightCorner[this.fixedCoord.c2] = panelAllocFixedSize + this.cornerSize;
+
+ Utils.allocate(this.panel._leftCorner.actor, childBoxLeftCorner, flags);
+ Utils.allocate(this.panel._rightCorner.actor, childBoxRightCorner, flags);
+
+ if (this.cornerSize != currentCornerSize) {
+ this._setPanelClip();
+ }
+ }
+ },
+
+ _setPanelPosition: function() {
+ let clipContainer = this.panelBox.get_parent();
+
+ this.set_size(this.geom.w, this.geom.h);
+ clipContainer.set_position(this.geom.x, this.geom.y);
+
+ this._setVertical(this.panel.actor, this.checkIfVertical());
+
+ // styles for theming
+ Object.keys(St.Side).forEach(p => {
+ let cssName = 'zorintaskbar' + p.charAt(0) + p.slice(1).toLowerCase();
+
+ this.panel.actor[(St.Side[p] == this.geom.position ? 'add' : 'remove') + '_style_class_name'](cssName);
+ });
+
+ this._setPanelClip(clipContainer);
+
+ Main.layoutManager._updateHotCorners();
+ Main.layoutManager._updatePanelBarrier(this);
+ },
+
+ _setPanelClip: function(clipContainer) {
+ clipContainer = clipContainer || this.panelBox.get_parent();
+ this._timeoutsHandler.add([T6, 0, () => Utils.setClip(clipContainer, clipContainer.x, clipContainer.y, this.panelBox.width, this.panelBox.height + this.cornerSize)]);
+ },
+
+ _onButtonPress: function(actor, event) {
+ let type = event.type();
+ let isPress = type == Clutter.EventType.BUTTON_PRESS;
+ let button = isPress ? event.get_button() : -1;
+ let [stageX, stageY] = event.get_coords();
+
+ if (button == 3 && global.stage.get_actor_at_pos(Clutter.PickMode.REACTIVE, stageX, stageY) == this.panel.actor) {
+ //right click on an empty part of the panel, temporarily borrow and display the showapps context menu
+ Main.layoutManager.setDummyCursorGeometry(stageX, stageY, 0, 0);
+
+ this.showAppsIconWrapper.createMenu();
+ this.showAppsIconWrapper._menu.sourceActor = Main.layoutManager.dummyCursor;
+ this.showAppsIconWrapper.popupMenu();
+
+ return Clutter.EVENT_STOP;
+ } else if (Main.modalCount > 0 || event.get_source() != 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 dragWindow = this._getDraggableWindowForPosition.apply(this, params.concat(['maximized_' + this.getOrientation() + 'ly']));
+
+ if (!dragWindow)
+ return Clutter.EVENT_PROPAGATE;
+
+ global.display.begin_grab_op(dragWindow,
+ Meta.GrabOp.MOVING,
+ false, /* pointer grab */
+ true, /* frame action */
+ button,
+ event.get_state(),
+ event.get_time(),
+ stageX, stageY);
+
+ return Clutter.EVENT_STOP;
+ },
+
+ _getDraggableWindowForPosition: function(stageCoord, coord, dimension, maximizedProp) {
+ let workspace = Utils.getCurrentWorkspace();
+ let allWindowsByStacking = global.display.sort_windows_by_stacking(
+ workspace.list_windows()
+ ).reverse();
+
+ return Utils.find(allWindowsByStacking, metaWindow => {
+ let rect = metaWindow.get_frame_rect();
+
+ return metaWindow.get_monitor() == this.monitor.index &&
+ metaWindow.showing_on_its_workspace() &&
+ metaWindow.get_window_type() != Meta.WindowType.DESKTOP &&
+ metaWindow[maximizedProp] &&
+ stageCoord > rect[coord] && stageCoord < rect[coord] + rect[dimension];
+ });
+ },
+
+ _onBoxActorAdded: function(box) {
+ if (this.checkIfVertical()) {
+ this._setVertical(box, true);
+ }
+ },
+
+ _refreshVerticalAlloc: function() {
+ this._setVertical(this._centerBox, true);
+ this._setVertical(this._rightBox, true);
+ this._formatVerticalClock();
+ },
+
+ _setVertical: function(actor, isVertical) {
+ let _set = (actor, isVertical) => {
+ if (!actor || actor instanceof Dash.DashItemContainer) {
+ return;
+ }
+
+ if (actor instanceof St.BoxLayout) {
+ actor.vertical = isVertical;
+ } else if ((actor._delegate || actor) instanceof PanelMenu.ButtonBox && actor != this.statusArea.appMenu) {
+ let child = actor.get_first_child();
+
+ if (isVertical && !actor.visible && !actor._dtpVisibleId) {
+ this._unmappedButtons.push(actor);
+ actor._dtpVisibleId = actor.connect('notify::visible', () => {
+ this._disconnectVisibleId(actor);
+ this._refreshVerticalAlloc();
+ });
+ actor._dtpDestroyId = actor.connect('destroy', () => this._disconnectVisibleId(actor));
+ }
+
+ if (child) {
+ let [, natWidth] = actor.get_preferred_width(-1);
+
+ child.x_align = Clutter.ActorAlign[isVertical ? 'CENTER' : 'START'];
+ actor.set_width(isVertical ? this.dtpSize : -1);
+ isVertical = isVertical && (natWidth > this.dtpSize);
+ actor[(isVertical ? 'add' : 'remove') + '_style_class_name']('vertical');
+ }
+ }
+
+ actor.get_children().forEach(c => _set(c, isVertical));
+ };
+
+ _set(actor, false);
+ _set(actor, isVertical);
+ },
+
+ _disconnectVisibleId: function(actor) {
+ actor.disconnect(actor._dtpVisibleId);
+ actor.disconnect(actor._dtpDestroyId);
+
+ delete actor._dtpVisibleId;
+ delete actor._dtpDestroyId;
+
+ this._unmappedButtons.splice(this._unmappedButtons.indexOf(actor), 1);
+ },
+
+ _setAppmenuVisible: function(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: function() {
+ // https://github.com/GNOME/gnome-desktop/blob/master/libgnome-desktop/gnome-wall-clock.c#L310
+ if (this.statusArea.dateMenu) {
+ let datetime = this.statusArea.dateMenu._clock.clock;
+ let datetimeParts = datetime.split(' ');
+ let time = datetimeParts[1];
+ let clockText = this.statusArea.dateMenu._clockDisplay.clutter_text;
+ let setClockText = text => {
+ let stacks = text instanceof Array;
+ let separator = '\n‧‧\n';
+
+ clockText.set_text((stacks ? text.join(separator) : text).trim());
+ clockText.set_use_markup(stacks);
+ clockText.get_allocation_box();
+
+ return !clockText.get_layout().is_ellipsized();
+ };
+
+ if (clockText.ellipsize == Pango.EllipsizeMode.NONE) {
+ //on gnome-shell 3.36.4, the clockdisplay isn't ellipsize anymore, so set it back
+ clockText.ellipsize = Pango.EllipsizeMode.END;
+ }
+
+ if (!time) {
+ datetimeParts = datetime.split(' ');
+ time = datetimeParts.pop();
+ datetimeParts = [datetimeParts.join(' '), time];
+ }
+
+ if (!setClockText(datetime) &&
+ !setClockText(datetimeParts) &&
+ !setClockText(time)) {
+ let timeParts = time.split('∶');
+
+ if (!this._clockFormat) {
+ this._clockFormat = Me.desktopSettings.get_string('clock-format');
+ }
+
+ if (this._clockFormat == '12h') {
+ timeParts.push.apply(timeParts, timeParts.pop().split(' '));
+ }
+
+ setClockText(timeParts);
+ }
+ }
+ },
+
+ _setShowDesktopButton: function (add) {
+ if (add) {
+ if(this._showDesktopButton)
+ return;
+
+ this._showDesktopButton = new St.Bin({ style_class: 'panel-button',
+ reactive: true,
+ can_focus: true,
+ // x_fill: true,
+ // y_fill: 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._setShowDesktopButtonStyle();
+
+ this._showDesktopButton.connect('button-press-event', () => this._onShowDesktopButtonPress());
+ this._showDesktopButton.connect('enter-event', () => {
+ if (Me.settings.get_boolean('show-showdesktop-hover')) {
+ this._timeoutsHandler.add([T4, SHOW_SHOWDESKTOP_DELAY, () => {
+ this._hiddenDesktopWorkspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
+ this._toggleWorkspaceWindows(true, this._hiddenDesktopWorkspace);
+ }]);
+ }
+ });
+
+ this._showDesktopButton.connect('leave-event', () => {
+ if (Me.settings.get_boolean('show-showdesktop-hover')) {
+ if (this._timeoutsHandler.getId(T4)) {
+ this._timeoutsHandler.remove(T4);
+ } else if (this._hiddenDesktopWorkspace) {
+ this._toggleWorkspaceWindows(false, this._hiddenDesktopWorkspace);
+ }
+ }
+ });
+
+ this.panel.actor.add_child(this._showDesktopButton);
+ } else {
+ if(!this._showDesktopButton)
+ return;
+
+ this.panel.actor.remove_child(this._showDesktopButton);
+ this._showDesktopButton.destroy();
+ this._showDesktopButton = null;
+ }
+ },
+
+ _setShowDesktopButtonStyle: function() {
+ let rgb = this._getBackgroundBrightness() ? "rgba(55, 55, 55, .2)" : "rgba(200, 200, 200, .2)";
+
+ for (let i = 0; i < this._showDesktopButton.get_children().length; i++) {
+ if (this._showDesktopButton.get_children()[i] == this._showDesktopButton.icon) {
+ this._showDesktopButton.remove_actor(this._showDesktopButton.icon);
+ }
+ }
+
+ if (this._showDesktopButton) {
+ if (Me.settings.get_boolean('show-showdesktop-icon')) {
+ this._showDesktopButton.add_actor(this._showDesktopButton.icon);
+
+ let buttonSize = Me.settings.get_int('showdesktop-button-width') + 'px';
+ let isVertical = this.checkIfVertical();
+ let buttonPadding = isVertical ? buttonSize + ' 0;' : '0 ' + buttonSize + ';';
+
+ this._showDesktopButton.set_style('padding: ' + buttonPadding);
+ } else {
+ let buttonSize = Me.settings.get_int('showdesktop-button-width') + 'px;';
+ let isVertical = this.checkIfVertical();
+
+ let style = "border: 0 solid " + rgb + "; padding: 0;";
+ style += isVertical ? 'border-top-width:1px;height:' + buttonSize : 'border-left-width:1px;width:' + buttonSize;
+
+ this._showDesktopButton.set_style(style);
+ this._showDesktopButton[(isVertical ? 'x' : 'y') + '_expand'] = true;
+ }
+ }
+ },
+
+ // _getBackgroundBrightness: return true if panel has a bright background color
+ _getBackgroundBrightness: function() {
+ return Utils.checkIfColorIsBright(this.dynamicTransparency.backgroundColorRgb);
+ },
+
+ _toggleWorkspaceWindows: function(hide, workspace) {
+ let time = SHOW_SHOWDESKTOP_TIME * .001;
+
+ workspace.list_windows().forEach(w => {
+ if (!w.minimized) {
+ let tweenOpts = {
+ opacity: hide ? 0 : 255,
+ time: time,
+ transition: 'easeOutQuad'
+ };
+
+ Utils.animateWindowOpacity(w.get_compositor_private(), tweenOpts);
+ }
+ });
+ },
+
+ _onShowDesktopButtonPress: function() {
+ let label = 'trackerFocusApp';
+
+ this._signalsHandler.removeWithLabel(label);
+ this._timeoutsHandler.remove(T5);
+
+ if(this._restoreWindowList && this._restoreWindowList.length) {
+ this._timeoutsHandler.remove(T4);
+
+ let current_workspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
+ let windows = current_workspace.list_windows();
+ this._restoreWindowList.forEach(function(w) {
+ if(windows.indexOf(w) > -1)
+ Main.activateWindow(w);
+ });
+ this._restoreWindowList = null;
+ } else {
+ let current_workspace = Utils.DisplayWrapper.getWorkspaceManager().get_active_workspace();
+ let windows = current_workspace.list_windows().filter(function (w) {
+ return w.showing_on_its_workspace() && !w.skip_taskbar;
+ });
+ windows = global.display.sort_windows_by_stacking(windows);
+
+ windows.forEach(function(w) {
+ w.minimize();
+ });
+
+ this._restoreWindowList = windows;
+
+ this._timeoutsHandler.add([T5, 20, () => this._signalsHandler.addWithLabel(
+ label,
+ [
+ tracker,
+ 'notify::focus-app',
+ () => this._restoreWindowList = null
+ ]
+ )]);
+ }
+
+ Main.overview.hide();
+ },
+
+ _initProgressManager: function() {
+ if(!this.progressManager && (Me.settings.get_boolean('progress-show-bar') || Me.settings.get_boolean('progress-show-count')))
+ this.progressManager = new Progress.ProgressManager();
+ },
+});
+
+var dtpSecondaryPanel = Utils.defineClass({
+ Name: 'ZorinTaskbar-SecondaryPanel',
+ Extends: St.Widget,
+
+ _init: function(params) {
+ this.callParent('_init', params);
+ },
+
+ vfunc_allocate: function(box, flags) {
+ Utils.setAllocation(this, box, flags);
+ }
+});
+
+var dtpSecondaryAggregateMenu = Utils.defineClass({
+ Name: 'ZorinTaskbar-SecondaryAggregateMenu',
+ Extends: PanelMenu.Button,
+
+ _init: function() {
+ this.callParent('_init', 0.0, C_("System menu in the top bar", "System"), false);
+
+ Utils.wrapActor(this);
+
+ this.menu.actor.add_style_class_name('aggregate-menu');
+
+ let menuLayout = new Panel.AggregateLayout();
+ this.menu.box.set_layout_manager(menuLayout);
+
+ this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' });
+ this.actor.add_child(this._indicators);
+
+ this._power = new imports.ui.status.power.Indicator();
+ this._volume = new imports.ui.status.volume.Indicator();
+ this._brightness = new imports.ui.status.brightness.Indicator();
+ this._system = new imports.ui.status.system.Indicator();
+
+ if (Config.PACKAGE_VERSION >= '3.28') {
+ this._thunderbolt = new imports.ui.status.thunderbolt.Indicator();
+ this._indicators.add_child(Utils.getIndicators(this._thunderbolt));
+ }
+
+ if (Config.PACKAGE_VERSION < '3.37') {
+ this._screencast = new imports.ui.status.screencast.Indicator();
+ this._indicators.add_child(Utils.getIndicators(this._screencast));
+ }
+
+ if (Config.PACKAGE_VERSION >= '3.24') {
+ this._nightLight = new imports.ui.status.nightLight.Indicator();
+ this._indicators.add_child(Utils.getIndicators(this._nightLight));
+ }
+
+ if (Config.HAVE_NETWORKMANAGER && Config.PACKAGE_VERSION >= '3.24') {
+ this._network = new imports.ui.status.network.NMApplet();
+ this._indicators.add_child(Utils.getIndicators(this._network));
+ }
+
+ if (Config.HAVE_BLUETOOTH) {
+ this._bluetooth = new imports.ui.status.bluetooth.Indicator();
+ this._indicators.add_child(Utils.getIndicators(this._bluetooth));
+ }
+
+ this._indicators.add_child(Utils.getIndicators(this._volume));
+ this._indicators.add_child(Utils.getIndicators(this._power));
+
+ this.menu.addMenuItem(this._volume.menu);
+ this._volume._volumeMenu._readOutput();
+ this._volume._volumeMenu._readInput();
+
+ this.menu.addMenuItem(this._brightness.menu);
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+
+ if (this._network) {
+ this.menu.addMenuItem(this._network.menu);
+ }
+
+ if (this._bluetooth) {
+ this.menu.addMenuItem(this._bluetooth.menu);
+ }
+
+ this.menu.addMenuItem(this._power.menu);
+ this._power._sync();
+
+ if (this._nightLight) {
+ this.menu.addMenuItem(this._nightLight.menu);
+ }
+
+ this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
+ this.menu.addMenuItem(this._system.menu);
+
+ menuLayout.addSizeChild(this._power.menu.actor);
+ menuLayout.addSizeChild(this._system.menu.actor);
+ },
+});
diff --git a/panelManager.js b/panelManager.js
new file mode 100755
index 0000000..865dc45
--- /dev/null
+++ b/panelManager.js
@@ -0,0 +1,927 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Credits:
+ * This file is based on code from the Dash to Dock extension by micheleg
+ * and code from the Dash to Panel extension
+ *
+ * Code to re-anchor the panel was taken from Thoma5 BottomPanel:
+ * https://github.com/Thoma5/gnome-shell-extension-bottompanel
+ *
+ * Pattern for moving clock based on Frippery Move Clock by R M Yorston
+ * http://frippery.org/extensions/
+ *
+ * Some code was also adapted from the upstream Gnome Shell source code.
+ */
+
+const Me = imports.misc.extensionUtils.getCurrentExtension();
+const Overview = Me.imports.overview;
+const Panel = Me.imports.panel;
+const Pos = Me.imports.panelPositions;
+const Proximity = Me.imports.proximity;
+const Taskbar = Me.imports.taskbar;
+const Utils = Me.imports.utils;
+
+const Config = imports.misc.config;
+const Lang = imports.lang;
+const Gi = imports._gi;
+const GLib = imports.gi.GLib;
+const Clutter = imports.gi.Clutter;
+const Meta = imports.gi.Meta;
+const Shell = imports.gi.Shell;
+const St = imports.gi.St;
+
+const AppDisplay = imports.ui.appDisplay;
+const BoxPointer = imports.ui.boxpointer;
+const Dash = imports.ui.dash;
+const IconGrid = imports.ui.iconGrid;
+const LookingGlass = imports.ui.lookingGlass;
+const Main = imports.ui.main;
+const PanelMenu = imports.ui.panelMenu;
+const Layout = imports.ui.layout;
+const WM = imports.ui.windowManager;
+const WorkspacesView = imports.ui.workspacesView;
+
+var dtpPanelManager = Utils.defineClass({
+ Name: 'ZorinTaskbar.PanelManager',
+
+ _init: function() {
+ this.overview = new Overview.dtpOverview();
+ this.panelsElementPositions = {};
+
+ this._saveMonitors();
+
+ Utils.getAppDisplayViews().forEach(v => {
+ Utils.wrapActor(v.view);
+ Utils.wrapActor(v.view._grid);
+ });
+ },
+
+ enable: function(reset) {
+ this.panelPositions = Pos.getSettingsPositions(Me.settings, 'panel-positions');
+ this.dtpPrimaryMonitor = Main.layoutManager.primaryMonitor; // The real primary monitor should always have the main panel
+ this.proximityManager = new Proximity.ProximityManager();
+
+ Utils.wrapActor(Main.panel);
+ Utils.wrapActor(Main.overview.dash || 0);
+
+ this.primaryPanel = this._createPanel(this.dtpPrimaryMonitor, false);
+ this.allPanels = [ this.primaryPanel ];
+
+ this.overview.enable(this.primaryPanel);
+
+ if (Me.settings.get_boolean('multi-monitors')) {
+ Main.layoutManager.monitors.filter(m => m != this.dtpPrimaryMonitor).forEach(m => {
+ this.allPanels.push(this._createPanel(m, true));
+ });
+ }
+
+ global.zorinTaskbar.panels = this.allPanels;
+ global.zorinTaskbar.emit('panels-created');
+
+ this.allPanels.forEach(p => {
+ let panelPosition = p.getPosition();
+ let leftOrRight = (panelPosition == St.Side.LEFT || panelPosition == St.Side.RIGHT);
+
+ p.panelBox.set_size(
+ leftOrRight ? -1 : p.geom.w + p.geom.lrPadding,
+ leftOrRight ? p.geom.h + p.geom.tbPadding : -1
+ );
+
+ this._findPanelMenuButtons(p.panelBox).forEach(pmb => this._adjustPanelMenuButton(pmb, p.monitor, panelPosition));
+
+ p.taskbar.iconAnimator.start();
+ });
+
+ //in 3.32, BoxPointer now inherits St.Widget
+ if (BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height) {
+ let panelManager = this;
+
+ Utils.hookVfunc(BoxPointer.BoxPointer.prototype, 'get_preferred_height', function(forWidth) {
+ let alloc = { min_size: 0, natural_size: 0 };
+
+ [alloc.min_size, alloc.natural_size] = this.vfunc_get_preferred_height(forWidth);
+
+ return panelManager._getBoxPointerPreferredHeight(this, alloc);
+ });
+ }
+
+ this._updatePanelElementPositions();
+ this.setFocusedMonitor(this.dtpPrimaryMonitor);
+
+ if (this.primaryPanel.checkIfVertical()) {
+ Main.wm._getPositionForDirection = newGetPositionForDirection;
+ }
+
+ if (reset) return;
+
+ this._oldViewSelectorAnimateIn = Main.overview.viewSelector._animateIn;
+ Main.overview.viewSelector._animateIn = Lang.bind(this.primaryPanel, newViewSelectorAnimateIn);
+ this._oldViewSelectorAnimateOut = Main.overview.viewSelector._animateOut;
+ Main.overview.viewSelector._animateOut = Lang.bind(this.primaryPanel, newViewSelectorAnimateOut);
+
+ if (Config.PACKAGE_VERSION > '3.35.1') {
+ this._oldDoSpringAnimation = AppDisplay.BaseAppView.prototype._doSpringAnimation;
+ AppDisplay.BaseAppView.prototype._doSpringAnimation = newDoSpringAnimation;
+ }
+
+ this._oldUpdatePanelBarrier = Main.layoutManager._updatePanelBarrier;
+ Main.layoutManager._updatePanelBarrier = (panel) => {
+ let panelUpdates = panel ? [panel] : this.allPanels;
+
+ panelUpdates.forEach(p => newUpdatePanelBarrier.call(Main.layoutManager, p));
+ };
+ Main.layoutManager._updatePanelBarrier();
+
+ this._oldUpdateHotCorners = Main.layoutManager._updateHotCorners;
+ Main.layoutManager._updateHotCorners = Lang.bind(Main.layoutManager, newUpdateHotCorners);
+ Main.layoutManager._updateHotCorners();
+
+ if (Main.layoutManager._interfaceSettings) {
+ this._enableHotCornersId = Main.layoutManager._interfaceSettings.connect('changed::enable-hot-corners', () => Main.layoutManager._updateHotCorners());
+ }
+
+ this._oldOverviewRelayout = Main.overview._relayout;
+ Main.overview._relayout = Lang.bind(Main.overview, this._newOverviewRelayout);
+
+ this._oldUpdateWorkspacesViews = Main.overview.viewSelector._workspacesDisplay._updateWorkspacesViews;
+ Main.overview.viewSelector._workspacesDisplay._updateWorkspacesViews = Lang.bind(Main.overview.viewSelector._workspacesDisplay, this._newUpdateWorkspacesViews);
+
+ this._oldGetShowAppsButton = Main.overview.getShowAppsButton;
+ Main.overview.getShowAppsButton = this._newGetShowAppsButton.bind(this);
+
+ this._needsDashItemContainerAllocate = !Dash.DashItemContainer.prototype.hasOwnProperty('vfunc_allocate');
+
+ if (this._needsDashItemContainerAllocate) {
+ Utils.hookVfunc(Dash.DashItemContainer.prototype, 'allocate', this._newDashItemContainerAllocate);
+ }
+
+ // Since Gnome 3.8 dragging an app without having opened the overview before cause the attemp to
+ //animate a null target since some variables are not initialized when the viewSelector is created
+ if(Main.overview.viewSelector._activePage == null)
+ Main.overview.viewSelector._activePage = Main.overview.viewSelector._workspacesPage;
+
+ LookingGlass.LookingGlass.prototype._oldResize = LookingGlass.LookingGlass.prototype._resize;
+ LookingGlass.LookingGlass.prototype._resize = _newLookingGlassResize;
+
+ LookingGlass.LookingGlass.prototype._oldOpen = LookingGlass.LookingGlass.prototype.open;
+ LookingGlass.LookingGlass.prototype.open = _newLookingGlassOpen;
+
+ this._signalsHandler = new Utils.GlobalSignalsHandler();
+
+ if (Config.PACKAGE_VERSION > '3.35.9') {
+ let currentAppsView;
+
+ this._oldAnimateIconPosition = IconGrid.animateIconPosition;
+ IconGrid.animateIconPosition = newAnimateIconPosition.bind(this);
+
+ this._signalsHandler.add(
+ [
+ Utils.DisplayWrapper.getScreen(),
+ 'window-entered-monitor',
+ () => this._needsIconAllocate = 1
+ ]
+ );
+
+ Utils.getAppDisplayViews().forEach(v => {
+ if (!v.control || v.control.has_style_pseudo_class('checked')) {
+ currentAppsView = v;
+ }
+
+ if (v.control) {
+ this._signalsHandler.add(
+ [
+ v.control,
+ 'clicked',
+ () => {
+ this._needsIconAllocate = currentAppsView != v;
+ currentAppsView = v;
+ }
+ ]
+ );
+ }
+
+ this._signalsHandler.add(
+ [
+ v.view,
+ 'notify::visible',
+ () => this._needsIconAllocate = !(currentAppsView != v && !v.view.visible)
+ ],
+ [
+ v.view._grid,
+ 'animation-done',
+ () => this._needsIconAllocate = 0
+ ]
+ );
+ });
+ }
+
+ //listen settings
+ this._signalsHandler.add(
+ [
+ Me.settings,
+ [
+ 'changed::multi-monitors',
+ 'changed::isolate-monitors',
+ 'changed::panel-positions'
+ ],
+ () => this._reset()
+ ],
+ [
+ Me.settings,
+ 'changed::panel-element-positions',
+ () => this._updatePanelElementPositions()
+ ],
+ [
+ Me.settings,
+ 'changed::intellihide-key-toggle-text',
+ () => this._setKeyBindings(true)
+ ],
+ [
+ Utils.DisplayWrapper.getMonitorManager(),
+ 'monitors-changed',
+ () => {
+ if (Main.layoutManager.primaryMonitor) {
+ this._saveMonitors();
+ this._reset();
+ }
+ }
+ ]
+ );
+
+ Panel.panelBoxes.forEach(c => this._signalsHandler.add(
+ [Main.panel[c], 'actor-added', (parent, child) => this._adjustPanelMenuButton(this._getPanelMenuButton(child), this.primaryPanel.monitor, this.primaryPanel.getPosition())]
+ ));
+
+ this._setKeyBindings(true);
+ },
+
+ disable: function(reset) {
+ this.overview.disable();
+ this.proximityManager.destroy();
+
+ this.allPanels.forEach(p => {
+ p.taskbar.iconAnimator.pause();
+
+ this._findPanelMenuButtons(p.panelBox).forEach(pmb => {
+ if (pmb.menu._boxPointer._dtpGetPreferredHeightId) {
+ pmb.menu._boxPointer._container.disconnect(pmb.menu._boxPointer._dtpGetPreferredHeightId);
+ }
+
+ pmb.menu._boxPointer.sourceActor = pmb.menu._boxPointer._dtpSourceActor;
+ delete pmb.menu._boxPointer._dtpSourceActor;
+ pmb.menu._boxPointer._userArrowSide = St.Side.TOP;
+ })
+
+ this._removePanelBarriers(p);
+
+ p.disable();
+
+ let clipContainer = p.panelBox.get_parent();
+
+ Main.layoutManager._untrackActor(p.panelBox);
+ Main.layoutManager.removeChrome(clipContainer);
+
+ if (p.isStandalone) {
+ p.panelBox.destroy();
+ } else {
+ p.panelBox.remove_child(p);
+ p.remove_child(p.panel.actor);
+ p.panelBox.add(p.panel.actor);
+
+ p.panelBox.set_position(clipContainer.x, clipContainer.y);
+
+ clipContainer.remove_child(p.panelBox);
+ Main.layoutManager.addChrome(p.panelBox, { affectsStruts: true, trackFullscreen: true });
+ }
+ });
+
+ if (BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height) {
+ Utils.hookVfunc(BoxPointer.BoxPointer.prototype, 'get_preferred_height', BoxPointer.BoxPointer.prototype.vfunc_get_preferred_height);
+ }
+
+ delete Main.wm._getPositionForDirection;
+
+ if (Main.layoutManager.primaryMonitor) {
+ Main.layoutManager.panelBox.set_position(Main.layoutManager.primaryMonitor.x, Main.layoutManager.primaryMonitor.y);
+ Main.layoutManager.panelBox.set_size(Main.layoutManager.primaryMonitor.width, -1);
+ }
+
+ if (reset) return;
+
+ this._setKeyBindings(false);
+
+ this._signalsHandler.destroy();
+
+ Main.layoutManager._updateHotCorners = this._oldUpdateHotCorners;
+ Main.layoutManager._updateHotCorners();
+
+ if (this._enableHotCornersId) {
+ Main.layoutManager._interfaceSettings.disconnect(this._enableHotCornersId);
+ }
+
+ Main.layoutManager._updatePanelBarrier = this._oldUpdatePanelBarrier;
+ Main.layoutManager._updatePanelBarrier();
+
+ Main.overview.viewSelector._animateIn = this._oldViewSelectorAnimateIn;
+ Main.overview.viewSelector._animateOut = this._oldViewSelectorAnimateOut;
+
+ Main.overview._relayout = this._oldOverviewRelayout;
+ Main.overview._relayout();
+
+ Main.overview.viewSelector._workspacesDisplay._updateWorkspacesViews = this._oldUpdateWorkspacesViews;
+
+ Utils.getPanelGhost().set_size(-1, -1);
+
+ if (this._needsDashItemContainerAllocate) {
+ Utils.hookVfunc(Dash.DashItemContainer.prototype, 'allocate', function(box, flags) { this.vfunc_allocate(box, flags); });
+ }
+
+ if (this._oldDoSpringAnimation) {
+ AppDisplay.BaseAppView.prototype._doSpringAnimation = this._oldDoSpringAnimation;
+ }
+
+ if (this._oldAnimateIconPosition) {
+ IconGrid.animateIconPosition = this._oldAnimateIconPosition;
+ }
+
+ LookingGlass.LookingGlass.prototype._resize = LookingGlass.LookingGlass.prototype._oldResize;
+ delete LookingGlass.LookingGlass.prototype._oldResize;
+
+ LookingGlass.LookingGlass.prototype.open = LookingGlass.LookingGlass.prototype._oldOpen;
+ delete LookingGlass.LookingGlass.prototype._oldOpen
+ },
+
+ setFocusedMonitor: function(monitor, ignoreRelayout) {
+ this._needsIconAllocate = 1;
+
+ if (!this.checkIfFocusedMonitor(monitor)) {
+ Main.overview.viewSelector._workspacesDisplay._primaryIndex = monitor.index;
+
+ Main.overview._overview.clear_constraints();
+ Main.overview._overview.add_constraint(new Layout.MonitorConstraint({ index: monitor.index }));
+
+ if (ignoreRelayout) return;
+
+ this._newOverviewRelayout.call(Main.overview);
+ }
+ },
+
+ _saveMonitors: function() {
+ //Mutter meta_monitor_manager_get_primary_monitor (global.display.get_primary_monitor()) doesn't return the same
+ //monitor as GDK gdk_screen_get_primary_monitor (imports.gi.Gdk.Screen.get_default().get_primary_monitor()).
+ //Since the Mutter function is what's used in gnome-shell and we can't access it from the settings dialog, store
+ //the monitors information in a setting so we can use the same monitor indexes as the ones in gnome-shell
+ let primaryIndex = Main.layoutManager.primaryIndex;
+ let monitors = [primaryIndex];
+
+ Main.layoutManager.monitors.filter(m => m.index != primaryIndex).forEach(m => monitors.push(m.index));
+ Me.settings.set_value('available-monitors', new GLib.Variant('ai', monitors));
+ },
+
+ checkIfFocusedMonitor: function(monitor) {
+ return Main.overview.viewSelector._workspacesDisplay._primaryIndex == monitor.index;
+ },
+
+ _createPanel: function(monitor, isStandalone) {
+ let panelBox;
+ let panel;
+ let clipContainer = new Clutter.Actor();
+
+ if (isStandalone) {
+ panelBox = new St.BoxLayout({ name: 'panelBox' });
+ } else {
+ panelBox = Main.layoutManager.panelBox;
+ Main.layoutManager._untrackActor(panelBox);
+ panelBox.remove_child(Main.panel.actor);
+ Main.layoutManager.removeChrome(panelBox);
+ }
+
+ Main.layoutManager.addChrome(clipContainer, { affectsInputRegion: false });
+ clipContainer.add_child(panelBox);
+ Main.layoutManager.trackChrome(panelBox, { trackFullscreen: true, affectsStruts: true, affectsInputRegion: true });
+
+ panel = new Panel.dtpPanel(this, monitor, panelBox, isStandalone);
+ panelBox.add(panel);
+ panel.enable();
+
+ panelBox.visible = true;
+ if (monitor.inFullscreen) {
+ panelBox.hide();
+ }
+ panelBox.set_position(0, 0);
+
+ return panel;
+ },
+
+ _reset: function() {
+ this.disable(true);
+ this.allPanels = [];
+ this.enable(true);
+ },
+
+ _updatePanelElementPositions: function() {
+ this.panelsElementPositions = Pos.getSettingsPositions(Me.settings, 'panel-element-positions');
+ this.allPanels.forEach(p => p.updateElementPositions());
+ },
+
+ _adjustPanelMenuButton: function(button, monitor, arrowSide) {
+ if (button) {
+ Utils.wrapActor(button);
+ button.menu._boxPointer._dtpSourceActor = button.menu._boxPointer.sourceActor;
+ button.menu._boxPointer.sourceActor = button.actor;
+ button.menu._boxPointer._userArrowSide = arrowSide;
+ button.menu._boxPointer._dtpInPanel = 1;
+
+ if (!button.menu._boxPointer.vfunc_get_preferred_height) {
+ button.menu._boxPointer._dtpGetPreferredHeightId = button.menu._boxPointer._container.connect('get-preferred-height', (actor, forWidth, alloc) => {
+ this._getBoxPointerPreferredHeight(button.menu._boxPointer, alloc, monitor);
+ });
+ }
+ }
+ },
+
+ _getBoxPointerPreferredHeight: function(boxPointer, alloc, monitor) {
+ if (boxPointer._dtpInPanel && boxPointer.sourceActor && Me.settings.get_boolean('intellihide')) {
+ monitor = monitor || Main.layoutManager.findMonitorForActor(boxPointer.sourceActor);
+ let panel = Utils.find(global.zorinTaskbar.panels, p => p.monitor == monitor);
+ let excess = alloc.natural_size + panel.dtpSize + 10 - monitor.height; // 10 is arbitrary
+
+ if (excess > 0) {
+ alloc.natural_size -= excess;
+ }
+ }
+
+ return [alloc.min_size, alloc.natural_size];
+ },
+
+ _findPanelMenuButtons: function(container) {
+ let panelMenuButtons = [];
+ let panelMenuButton;
+
+ let find = parent => parent.get_children().forEach(c => {
+ if ((panelMenuButton = this._getPanelMenuButton(c))) {
+ panelMenuButtons.push(panelMenuButton);
+ }
+
+ find(c);
+ });
+
+ find(container);
+
+ return panelMenuButtons;
+ },
+
+ _removePanelBarriers: function(panel) {
+ if (panel.isStandalone && panel._rightPanelBarrier) {
+ panel._rightPanelBarrier.destroy();
+ }
+
+ if (panel._leftPanelBarrier) {
+ panel._leftPanelBarrier.destroy();
+ delete panel._leftPanelBarrier;
+ }
+ },
+
+ _getPanelMenuButton: function(obj) {
+ return obj._delegate && obj._delegate instanceof PanelMenu.Button ? obj._delegate : 0;
+ },
+
+ _setKeyBindings: function(enable) {
+ let keys = {
+ 'intellihide-key-toggle': () => this.allPanels.forEach(p => p.intellihide.toggle())
+ };
+
+ Object.keys(keys).forEach(k => {
+ Utils.removeKeybinding(k);
+
+ if (enable) {
+ Utils.addKeybinding(k, Me.settings, keys[k], Shell.ActionMode.NORMAL);
+ }
+ });
+ },
+
+ _newOverviewRelayout: function() {
+ // To avoid updating the position and size of the workspaces
+ // we just hide the overview. The positions will be updated
+ // when it is next shown.
+ this.hide();
+
+ let workArea = Main.layoutManager.getWorkAreaForMonitor(Main.overview.viewSelector._workspacesDisplay._primaryIndex);
+
+ this._coverPane.set_position(0, workArea.y);
+ this._coverPane.set_size(workArea.width, workArea.height);
+
+ this._updateBackgrounds();
+ },
+
+ _newUpdateWorkspacesViews: function() {
+ for (let i = 0; i < this._workspacesViews.length; i++)
+ this._workspacesViews[i].destroy();
+
+ this._workspacesViews = [];
+
+ let monitors = Main.layoutManager.monitors;
+
+ for (let i = 0; i < monitors.length; i++) {
+ let workspaces;
+ let view;
+ if (this._workspacesOnlyOnPrimary && i != Main.layoutManager.primaryIndex) {
+ view = new WorkspacesView.ExtraWorkspaceView(i);
+ view.getActiveWorkspace = view.getActiveWorkspace || function() { return this._workspace; };
+ workspaces = [view._workspace];
+ } else {
+ view = new WorkspacesView.WorkspacesView(i, this._scrollAdjustment || 0);
+ workspaces = view._workspaces;
+ }
+
+ Utils.wrapActor(view);
+ view.actor.connect('scroll-event', this._onScrollEvent.bind(this));
+ if (i == Main.layoutManager.primaryIndex && view.scrollAdjustment) {
+ this._scrollAdjustment = view.scrollAdjustment;
+ this._scrollAdjustment.connect('notify::value',
+ this._scrollValueChanged.bind(this));
+ }
+
+ workspaces.forEach(w => w.setFullGeometry = geom => w._fullGeometry = geom);
+ this._workspacesViews.push(view);
+ }
+
+ this._workspacesViews.forEach(wv => Main.layoutManager.overviewGroup.add_actor(wv.actor));
+
+ if (this._syncWorkspacesFullGeometry) {
+ //gnome-shell 3.36.4
+ if (this._fullGeometry)
+ this._syncWorkspacesFullGeometry();
+ if (this._actualGeometry)
+ this._syncWorkspacesActualGeometry();
+ } else if (this._updateWorkspacesFullGeometry) {
+ this._updateWorkspacesFullGeometry();
+ this._updateWorkspacesActualGeometry();
+ }
+ },
+
+ _newGetShowAppsButton: function() {
+ let focusedMonitorIndex = Utils.findIndex(this.allPanels, p => this.checkIfFocusedMonitor(p.monitor));
+
+ return this.allPanels[focusedMonitorIndex].taskbar.showAppsButton;
+ },
+
+ _newDashItemContainerAllocate: function(box, flags) {
+ if (this.child == null)
+ return;
+
+ Utils.setAllocation(this, box, flags);
+
+ let availWidth = box.x2 - box.x1;
+ let availHeight = box.y2 - box.y1;
+ let [minChildWidth, minChildHeight, natChildWidth, natChildHeight] = this.child.get_preferred_size();
+ let [childScaleX, childScaleY] = this.child.get_scale();
+
+ let childWidth = Math.min(natChildWidth * childScaleX, availWidth);
+ let childHeight = Math.min(natChildHeight * childScaleY, availHeight);
+ let childBox = new Clutter.ActorBox();
+
+ childBox.x1 = (availWidth - childWidth) / 2;
+ childBox.y1 = (availHeight - childHeight) / 2;
+ childBox.x2 = childBox.x1 + childWidth;
+ childBox.y2 = childBox.y1 + childHeight;
+
+ Utils.allocate(this.child, childBox, flags);
+ },
+});
+
+// This class drives long-running icon animations, to keep them running in sync
+// with each other.
+var IconAnimator = Utils.defineClass({
+ Name: 'ZorinTaskbar.IconAnimator',
+
+ _init: function(actor) {
+ this._count = 0;
+ this._started = false;
+ this._animations = {
+ dance: [],
+ };
+ this._timeline = new Clutter.Timeline({
+ duration: 3000,
+ repeat_count: -1,
+ });
+
+ /* Just use the construction property when no need to support 3.36 */
+ if (this._timeline.set_actor)
+ this._timeline.set_actor(actor);
+
+ this._timeline.connect('new-frame', () => {
+ const progress = this._timeline.get_progress();
+ const danceRotation = progress < 1/6 ? 15*Math.sin(progress*24*Math.PI) : 0;
+ const dancers = this._animations.dance;
+ for (let i = 0, iMax = dancers.length; i < iMax; i++) {
+ dancers[i].target.rotation_angle_z = danceRotation;
+ }
+ });
+ },
+
+ destroy: function() {
+ this._timeline.stop();
+ this._timeline = null;
+ for (const name in this._animations) {
+ const pairs = this._animations[name];
+ for (let i = 0, iMax = pairs.length; i < iMax; i++) {
+ const pair = pairs[i];
+ pair.target.disconnect(pair.targetDestroyId);
+ }
+ }
+ this._animations = null;
+ },
+
+ pause: function() {
+ if (this._started && this._count > 0) {
+ this._timeline.stop();
+ }
+ this._started = false;
+ },
+
+ start: function() {
+ if (!this._started && this._count > 0) {
+ this._timeline.start();
+ }
+ this._started = true;
+ },
+
+ addAnimation: function(target, name) {
+ const targetDestroyId = target.connect('destroy', () => this.removeAnimation(target, name));
+ this._animations[name].push({ target, targetDestroyId });
+ if (this._started && this._count === 0) {
+ this._timeline.start();
+ }
+ this._count++;
+ },
+
+ removeAnimation: function(target, name) {
+ const pairs = this._animations[name];
+ for (let i = 0, iMax = pairs.length; i < iMax; i++) {
+ const pair = pairs[i];
+ if (pair.target === target) {
+ target.disconnect(pair.targetDestroyId);
+ pairs.splice(i, 1);
+ this._count--;
+ if (this._started && this._count === 0) {
+ this._timeline.stop();
+ }
+ return;
+ }
+ }
+ }
+});
+
+function newViewSelectorAnimateIn(oldPage) {
+ if (oldPage)
+ oldPage.hide();
+
+ let vs = Main.overview.viewSelector;
+
+ vs.emit('page-empty');
+
+ vs._activePage.show();
+
+ if (vs._activePage == vs._appsPage && oldPage == vs._workspacesPage) {
+ // Restore opacity, in case we animated via _fadePageOut
+ vs._activePage.opacity = 255;
+ let animate = Me.settings.get_boolean('animate-show-apps');
+ if(animate)
+ vs.appDisplay.animate(IconGrid.AnimationDirection.IN);
+ } else {
+ vs._fadePageIn();
+ }
+}
+
+function newViewSelectorAnimateOut(page) {
+ let oldPage = page;
+ let vs = Main.overview.viewSelector;
+
+ if (page == vs._appsPage &&
+ vs._activePage == vs._workspacesPage &&
+ !Main.overview.animationInProgress) {
+ let animate = Me.settings.get_boolean('animate-show-apps');
+ if(animate)
+ vs.appDisplay.animate(IconGrid.AnimationDirection.OUT, Lang.bind(this,
+ function() {
+ vs._animateIn(oldPage)
+ }));
+ else
+ vs._animateIn(oldPage)
+ } else {
+ vs._fadePageOut(page);
+ }
+}
+
+function newGetPositionForDirection(direction, fromWs, toWs) {
+ let [xDest, yDest] = WM.WindowManager.prototype._getPositionForDirection(direction, fromWs, toWs);
+
+ if (direction == Meta.MotionDirection.UP ||
+ direction == Meta.MotionDirection.UP_LEFT ||
+ direction == Meta.MotionDirection.UP_RIGHT) {
+ yDest -= Main.panel.height;
+ } else if (direction != Meta.MotionDirection.LEFT &&
+ direction != Meta.MotionDirection.RIGHT) {
+ yDest += Main.panel.height;
+ }
+
+ return [xDest, yDest];
+}
+
+function newDoSpringAnimation(animationDirection) {
+ this._grid.opacity = 255;
+ this._grid.animateSpring(animationDirection, Main.overview.getShowAppsButton());
+}
+
+function newAnimateIconPosition(icon, box, flags, nChangedIcons) {
+ if (this._needsIconAllocate) {
+ Utils.allocate(icon, box, flags);
+ return;
+ }
+
+ return this._oldAnimateIconPosition(icon, box, flags, nChangedIcons);;
+}
+
+function newUpdateHotCorners() {
+ // destroy old hot corners
+ this.hotCorners.forEach(function(corner) {
+ if (corner)
+ corner.destroy();
+ });
+ this.hotCorners = [];
+
+ //global.settings is ubuntu specific setting to disable the hot corner (Tweak tool > Top Bar > Activities Overview Hot Corner)
+ //this._interfaceSettings is for the setting to disable the hot corner introduced in gnome-shell 3.34
+ if ((global.settings.list_keys().indexOf('enable-hot-corners') >= 0 && !global.settings.get_boolean('enable-hot-corners')) ||
+ (this._interfaceSettings && !this._interfaceSettings.get_boolean('enable-hot-corners'))) {
+ this.emit('hot-corners-changed');
+ return;
+ }
+
+ // build new hot corners
+ for (let i = 0; i < this.monitors.length; i++) {
+ let panel = Utils.find(global.zorinTaskbar.panels, p => p.monitor.index == i);
+ let panelPosition = panel ? panel.getPosition() : St.Side.BOTTOM;
+ let panelTopLeft = panelPosition == St.Side.TOP || panelPosition == St.Side.LEFT;
+ let monitor = this.monitors[i];
+ let cornerX = this._rtl ? monitor.x + monitor.width : monitor.x;
+ let cornerY = monitor.y;
+
+ let haveTopLeftCorner = true;
+
+ // If the panel is on the bottom, unless this is explicitly forced, don't add a topleft
+ // hot corner unless it is actually a top left panel. Otherwise, it stops the mouse
+ // as you are dragging across. In the future, maybe we will automatically move the
+ // hotcorner to the bottom when the panel is positioned at the bottom
+ if (i != this.primaryIndex || !panelTopLeft) {
+ // Check if we have a top left (right for RTL) corner.
+ // I.e. if there is no monitor directly above or to the left(right)
+ let besideX = this._rtl ? monitor.x + 1 : cornerX - 1;
+ let besideY = cornerY;
+ let aboveX = cornerX;
+ let aboveY = cornerY - 1;
+
+ for (let j = 0; j < this.monitors.length; j++) {
+ if (i == j)
+ continue;
+ let otherMonitor = this.monitors[j];
+ if (besideX >= otherMonitor.x &&
+ besideX < otherMonitor.x + otherMonitor.width &&
+ besideY >= otherMonitor.y &&
+ besideY < otherMonitor.y + otherMonitor.height) {
+ haveTopLeftCorner = false;
+ break;
+ }
+ if (aboveX >= otherMonitor.x &&
+ aboveX < otherMonitor.x + otherMonitor.width &&
+ aboveY >= otherMonitor.y &&
+ aboveY < otherMonitor.y + otherMonitor.height) {
+ haveTopLeftCorner = false;
+ break;
+ }
+ }
+ }
+
+ if (haveTopLeftCorner) {
+ let corner = new Layout.HotCorner(this, monitor, cornerX, cornerY);
+
+ corner.setBarrierSize = size => corner.__proto__.setBarrierSize.call(corner, Math.min(size, 32));
+ corner.setBarrierSize(panel ? panel.dtpSize : 32);
+ this.hotCorners.push(corner);
+ } else {
+ this.hotCorners.push(null);
+ }
+ }
+
+ this.emit('hot-corners-changed');
+}
+
+function newUpdatePanelBarrier(panel) {
+ let barriers = {
+ _rightPanelBarrier: [(panel.isStandalone ? panel : this)],
+ _leftPanelBarrier: [panel]
+ };
+
+ Object.keys(barriers).forEach(k => {
+ let obj = barriers[k][0];
+
+ if (obj[k]) {
+ obj[k].destroy();
+ obj[k] = null;
+ }
+ });
+
+ if (!this.primaryMonitor || !panel.panelBox.height) {
+ return;
+ }
+
+ let barrierSize = Math.min(10, panel.panelBox.height);
+ let fixed1 = panel.monitor.y;
+ let fixed2 = panel.monitor.y + barrierSize;
+
+ if (panel.checkIfVertical()) {
+ barriers._rightPanelBarrier.push(panel.monitor.y + panel.monitor.height, Meta.BarrierDirection.POSITIVE_Y);
+ barriers._leftPanelBarrier.push(panel.monitor.y, Meta.BarrierDirection.NEGATIVE_Y);
+ } else {
+ barriers._rightPanelBarrier.push(panel.monitor.x + panel.monitor.width, Meta.BarrierDirection.NEGATIVE_X);
+ barriers._leftPanelBarrier.push(panel.monitor.x, Meta.BarrierDirection.POSITIVE_X);
+ }
+
+ switch (panel.getPosition()) {
+ //values are initialized as St.Side.TOP
+ case St.Side.BOTTOM:
+ fixed1 = panel.monitor.y + panel.monitor.height - barrierSize;
+ fixed2 = panel.monitor.y + panel.monitor.height;
+ break;
+ case St.Side.LEFT:
+ fixed1 = panel.monitor.x;
+ fixed2 = panel.monitor.x + barrierSize;
+ break;
+ case St.Side.RIGHT:
+ fixed1 = panel.monitor.x + panel.monitor.width;
+ fixed2 = panel.monitor.x + panel.monitor.width - barrierSize;
+ break;
+ }
+
+ //remove left barrier if it overlaps one of the hotcorners
+ for (let k in this.hotCorners) {
+ let hc = this.hotCorners[k];
+
+ if (hc && hc._monitor == panel.monitor &&
+ ((fixed1 == hc._x || fixed2 == hc._x) || fixed1 == hc._y || fixed2 == hc._y)) {
+ delete barriers._leftPanelBarrier;
+ break;
+ }
+ }
+
+ Object.keys(barriers).forEach(k => {
+ let barrierOptions = {
+ display: global.display,
+ directions: barriers[k][2]
+ };
+
+ barrierOptions[panel.varCoord.c1] = barrierOptions[panel.varCoord.c2] = barriers[k][1];
+ barrierOptions[panel.fixedCoord.c1] = fixed1;
+ barrierOptions[panel.fixedCoord.c2] = fixed2;
+
+ barriers[k][0][k] = new Meta.Barrier(barrierOptions);
+ });
+}
+
+function _newLookingGlassResize() {
+ let primaryMonitorPanel = Utils.find(global.zorinTaskbar.panels, p => p.monitor == Main.layoutManager.primaryMonitor);
+ let topOffset = primaryMonitorPanel.getPosition() == St.Side.TOP ? primaryMonitorPanel.dtpSize + 8 : 32;
+
+ this._oldResize();
+ Utils.wrapActor(this);
+ Utils.wrapActor(this._objInspector);
+
+ this._hiddenY = Main.layoutManager.primaryMonitor.y + topOffset - this.actor.height;
+ this._targetY = this._hiddenY + this.actor.height;
+ this.actor.y = this._hiddenY;
+
+ this._objInspector.actor.set_position(this.actor.x + Math.floor(this.actor.width * 0.1), this._targetY + Math.floor(this.actor.height * 0.1));
+}
+
+function _newLookingGlassOpen() {
+ if (this._open)
+ return;
+
+ this._resize();
+ this._oldOpen();
+}
diff --git a/panelPositions.js b/panelPositions.js
new file mode 100644
index 0000000..af766a4
--- /dev/null
+++ b/panelPositions.js
@@ -0,0 +1,73 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Credits:
+ * This file is based on code from the Dash to Panel extension
+ */
+
+var SHOW_APPS_BTN = 'showAppsButton';
+var ACTIVITIES_BTN = 'activitiesButton';
+var TASKBAR = 'taskbar';
+var DATE_MENU = 'dateMenu';
+var SYSTEM_MENU = 'systemMenu';
+var LEFT_BOX = 'leftBox';
+var CENTER_BOX = 'centerBox';
+var RIGHT_BOX = 'rightBox';
+var DESKTOP_BTN = 'desktopButton';
+
+var STACKED_TL = 'stackedTL';
+var STACKED_BR = 'stackedBR';
+var CENTERED = 'centered';
+var CENTERED_MONITOR = 'centerMonitor';
+
+var TOP = 'TOP';
+var BOTTOM = 'BOTTOM';
+var LEFT = 'LEFT';
+var RIGHT = 'RIGHT';
+
+var defaults = [
+ { element: LEFT_BOX, visible: true, position: STACKED_TL },
+ { element: SHOW_APPS_BTN, visible: false, position: STACKED_TL },
+ { element: ACTIVITIES_BTN, visible: true, position: STACKED_TL },
+ { element: TASKBAR, visible: true, position: STACKED_TL },
+ { element: CENTER_BOX, visible: true, position: STACKED_BR },
+ { element: RIGHT_BOX, visible: true, position: STACKED_BR },
+ { element: SYSTEM_MENU, visible: true, position: STACKED_BR },
+ { element: DATE_MENU, visible: true, position: STACKED_BR },
+ { element: DESKTOP_BTN, visible: false, position: STACKED_BR },
+];
+
+var optionDialogFunctions = {};
+
+optionDialogFunctions[SHOW_APPS_BTN] = '_showShowAppsButtonOptions';
+optionDialogFunctions[DATE_MENU] = '_showDateMenuOptions';
+optionDialogFunctions[DESKTOP_BTN] = '_showDesktopButtonOptions';
+
+function getSettingsPositions(settings, setting) {
+ var positions = null;
+
+ try {
+ positions = JSON.parse(settings.get_string(setting));
+ } catch(e) {
+ log('Error parsing positions: ' + e.message);
+ }
+
+ return positions;
+}
+
+function checkIfCentered(position) {
+ return position == CENTERED || position == CENTERED_MONITOR;
+}
diff --git a/panelStyle.js b/panelStyle.js
new file mode 100644
index 0000000..8e68a71
--- /dev/null
+++ b/panelStyle.js
@@ -0,0 +1,176 @@
+/*
+ * This file is part of the Zorin Taskbar extension for Zorin OS.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Credits:
+ * This file is based on code from the Dash to Panel extension
+ * Ideas for recursing child actors and assigning inline styles
+ * are based on code from the StatusAreaHorizontalSpacing extension
+ * https://bitbucket.org/mathematicalcoffee/status-area-horizontal-spacing-gnome-shell-extension
+ * mathematical.coffee@gmail.com
+ */
+
+const Me = imports.misc.extensionUtils.getCurrentExtension();
+const ExtensionUtils = imports.misc.extensionUtils;
+const Lang = imports.lang;
+const Main = imports.ui.main;
+const Mainloop = imports.mainloop;
+const St = imports.gi.St;
+const Shell = imports.gi.Shell;
+
+const Panel = Me.imports.panel;
+const Taskbar = Me.imports.taskbar;
+const Utils = Me.imports.utils;
+
+var dtpPanelStyle = Utils.defineClass({
+ Name: 'ZorinTaskbar.PanelStyle',
+
+ _init: function() {
+
+ },
+
+ enable : function(panel) {
+ this.panel = panel;
+
+ this._applyStyles();
+ },
+
+ disable: function () {
+ this._removeStyles();
+ },
+
+ _applyStyles: function() {
+ this._rightBoxOperations = [];
+
+ // center box has been moved next to the right box and will be treated the same
+ this._centerBoxOperations = this._rightBoxOperations;
+
+ this._leftBoxOperations = [];
+
+ this._applyStylesRecursively();
+
+ /* connect signal */
+ this._rightBoxActorAddedID = this.panel._rightBox.connect('actor-added',
+ Lang.bind(this, function (container, actor) {
+ if(this._rightBoxOperations.length && !this._ignoreAddedChild)
+ this._recursiveApply(actor, this._rightBoxOperations);
+
+ this._ignoreAddedChild = 0;
+ })
+ );
+ this._centerBoxActorAddedID = this.panel._centerBox.connect('actor-added',
+ Lang.bind(this, function (container, actor) {
+ if(this._centerBoxOperations.length && !this._ignoreAddedChild)
+ this._recursiveApply(actor, this._centerBoxOperations);
+
+ this._ignoreAddedChild = 0;
+ })
+ );
+ this._leftBoxActorAddedID = this.panel._leftBox.connect('actor-added',
+ Lang.bind(this, function (container, actor) {
+ if(this._leftBoxOperations.length)
+ this._recursiveApply(actor, this._leftBoxOperations);
+ })
+ );
+ },
+
+ _removeStyles: function() {
+ /* disconnect signal */
+ if (this._rightBoxActorAddedID)
+ this.panel._rightBox.disconnect(this._rightBoxActorAddedID);
+ if (this._centerBoxActorAddedID)
+ this.panel._centerBox.disconnect(this._centerBoxActorAddedID);
+ if (this._leftBoxActorAddedID)
+ this.panel._leftBox.disconnect(this._leftBoxActorAddedID);
+
+ this._restoreOriginalStyle(this.panel._rightBox);
+ this._restoreOriginalStyle(this.panel._centerBox);
+ this._restoreOriginalStyle(this.panel._leftBox);
+
+ this._applyStylesRecursively(true);
+ },
+
+ _applyStylesRecursively: function(restore) {
+ /*recurse actors */
+ if(this._rightBoxOperations.length) {
+ // add the system menu as we move it from the rightbox to the panel to position it independently
+ let children = this.panel._rightBox.get_children().concat([this.panel.statusArea.aggregateMenu.container]);
+ for(let i in children)
+ this._recursiveApply(children[i], this._rightBoxOperations, restore);
+ }
+
+ if(this._centerBoxOperations.length) {
+ // add the date menu as we move it from the centerbox to the panel to position it independently
+ let children = this.panel._centerBox.get_children().concat([this.panel.statusArea.dateMenu.container]);
+ for(let i in children)
+ this._recursiveApply(children[i], this._centerBoxOperations, restore);
+ }
+
+ if(this._leftBoxOperations.length) {
+ let children = this.panel._leftBox.get_children();
+ for(let i in children)
+ this._recursiveApply(children[i], this._leftBoxOperations, restore);
+ }
+ },
+
+ _recursiveApply: function(actor, operations, restore) {
+ for(let i in operations) {
+ let o = operations[i];
+ if(o.compareFn(actor))
+ if(restore)
+ o.restoreFn ? o.restoreFn(actor) : this._restoreOriginalStyle(actor);
+ else
+ o.applyFn(actor, i);
+ }
+
+ if(actor.get_children) {
+ let children = actor.get_children();
+ for(let i in children) {
+ this._recursiveApply(children[i], operations, restore);
+ }
+ }
+ },
+
+ _restoreOriginalStyle: function(actor) {
+ if (actor._dtp_original_inline_style !== undefined) {
+ actor.set_style(actor._dtp_original_inline_style);
+ delete actor._dtp_original_inline_style;
+ delete actor._dtp_style_overrides;
+ }
+
+ if (actor.has_style_class_name('panel-button')) {
+ this._refreshPanelButton(actor);
+ }
+ },
+
+ _refreshPanelButton: function(actor) {
+ if (actor.visible && imports.misc.config.PACKAGE_VERSION >= '3.34.0') {
+ //force gnome 3.34+ to refresh (having problem with the -natural-hpadding)
+ let parent = actor.get_parent();
+ let children = parent.get_children();
+ let actorIndex = 0;
+
+ if (children.length > 1) {
+ actorIndex = children.indexOf(actor);
+ }
+
+ this._ignoreAddedChild = [this.panel._centerBox, this.panel._rightBox].indexOf(parent) >= 0;
+
+ parent.remove_child(actor);
+ parent.insert_child_at_index(actor, actorIndex);
+ }
+ }
+
+});
diff --git a/po/af.po b/po/af.po
new file mode 100644
index 0000000..4781f01
--- /dev/null
+++ b/po/af.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: af\n"
+
+msgid "Files"
+msgstr "Lêers"
+
+msgid "Settings"
+msgstr "Instellings"
diff --git a/po/an.po b/po/an.po
new file mode 100644
index 0000000..7c1e239
--- /dev/null
+++ b/po/an.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: an\n"
+
+msgid "System Monitor"
+msgstr "Monitor d'o sistema"
+
+msgid "Files"
+msgstr "Fichers"
+
+msgid "Settings"
+msgstr "Configuración"
diff --git a/po/ar.po b/po/ar.po
new file mode 100644
index 0000000..9bfdbac
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ar\n"
+
+msgid "System Monitor"
+msgstr "مرقاب النّظام"
+
+msgid "Files"
+msgstr "الملفات"
+
+msgid "Settings"
+msgstr "الإعدادات"
diff --git a/po/as.po b/po/as.po
new file mode 100644
index 0000000..8e37193
--- /dev/null
+++ b/po/as.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: as\n"
+
+msgid "System Monitor"
+msgstr "চিস্টেম মনিটৰ"
+
+msgid "Files"
+msgstr "ফাইলসমূহ"
+
+msgid "Settings"
+msgstr "সংহতিসমূহ"
diff --git a/po/ast.po b/po/ast.po
new file mode 100644
index 0000000..6c07a01
--- /dev/null
+++ b/po/ast.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ast\n"
+
+msgid "System Monitor"
+msgstr "Monitor del Sistema"
+
+msgid "Files"
+msgstr "Ficheros"
diff --git a/po/az.po b/po/az.po
new file mode 100644
index 0000000..13bf6c1
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: az\n"
+
+msgid "System Monitor"
+msgstr "Sistem İzləyicisi"
diff --git a/po/be.po b/po/be.po
new file mode 100644
index 0000000..68c52e9
--- /dev/null
+++ b/po/be.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: be\n"
+
+msgid "System Monitor"
+msgstr "Сістэмны назіральнік"
+
+msgid "Files"
+msgstr "Файлы"
+
+msgid "Settings"
+msgstr "Настройкі"
diff --git a/po/be@latin.po b/po/be@latin.po
new file mode 100644
index 0000000..f807a24
--- /dev/null
+++ b/po/be@latin.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: be@latin\n"
+
+msgid "System Monitor"
+msgstr "Systemny naziralnik"
diff --git a/po/bg.po b/po/bg.po
new file mode 100644
index 0000000..fbc2a60
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: bg\n"
+
+msgid "System Monitor"
+msgstr "Наблюдение на системата"
+
+msgid "Files"
+msgstr "Файлове"
+
+msgid "Settings"
+msgstr "Настройки"
diff --git a/po/bn.po b/po/bn.po
new file mode 100644
index 0000000..6534976
--- /dev/null
+++ b/po/bn.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: bn\n"
+
+msgid "System Monitor"
+msgstr "সিস্টেম পর্যবেক্ষক"
+
+msgid "Files"
+msgstr "ফাইল"
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644
index 0000000..30f4dc3
--- /dev/null
+++ b/po/bn_IN.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: bn_IN\n"
+
+msgid "System Monitor"
+msgstr "System Monitor"
+
+msgid "Files"
+msgstr "ফাইল"
+
+msgid "Settings"
+msgstr "সেটিং"
diff --git a/po/bo.po b/po/bo.po
new file mode 100644
index 0000000..e24e310
--- /dev/null
+++ b/po/bo.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: bo\n"
+
+msgid "Files"
+msgstr "ཡིག་ཆ"
diff --git a/po/br.po b/po/br.po
new file mode 100644
index 0000000..e4b1629
--- /dev/null
+++ b/po/br.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: br\n"
+
+msgid "Settings"
+msgstr "Arventennoù"
diff --git a/po/bs.po b/po/bs.po
new file mode 100644
index 0000000..4dcfbf5
--- /dev/null
+++ b/po/bs.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: bs\n"
+
+msgid "System Monitor"
+msgstr "Nadzor sistema"
+
+msgid "Files"
+msgstr "Datoteke"
+
+msgid "Settings"
+msgstr "Postavke"
diff --git a/po/ca.po b/po/ca.po
new file mode 100644
index 0000000..2b471d0
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ca\n"
+
+msgid "System Monitor"
+msgstr "Monitor del sistema"
+
+msgid "Files"
+msgstr "Fitxers"
+
+msgid "Settings"
+msgstr "Paràmetres"
diff --git a/po/ca@valencia.po b/po/ca@valencia.po
new file mode 100644
index 0000000..3b4423c
--- /dev/null
+++ b/po/ca@valencia.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ca-valencia\n"
+
+msgid "System Monitor"
+msgstr "Monitor del sistema"
+
+msgid "Files"
+msgstr "Fitxers"
+
+msgid "Settings"
+msgstr "Paràmetres"
diff --git a/po/ckb.po b/po/ckb.po
new file mode 100644
index 0000000..8b30d48
--- /dev/null
+++ b/po/ckb.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ckb\n"
+
+msgid "Files"
+msgstr "پەڕگەکان"
+
+msgid "Settings"
+msgstr "ڕێكخستنەكان"
diff --git a/po/crh.po b/po/crh.po
new file mode 100644
index 0000000..f925ab8
--- /dev/null
+++ b/po/crh.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: crh\n"
+
+msgid "Files"
+msgstr "Dosyeler"
+
+msgid "Settings"
+msgstr "Ayarlar"
diff --git a/po/cs.po b/po/cs.po
new file mode 100644
index 0000000..6887e06
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,1311 @@
+# Dash to panel.
+# Copyright (C) 2018
+# This file is distributed under the same license as the dash-to-panel package.
+# Milan Zink , 2018
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-10-11 09:28+0200\n"
+"PO-Revision-Date: 2019-10-11 09:33+0200\n"
+"Last-Translator: Milan Zink \n"
+"Language-Team: \n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.4\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Nahoře, ikony dole"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "Vlevo, ikony vpravo"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Nahoře, ikony ukotveny uprostřed"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "Vlevo, ikony uprostřed"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Nahoře, plovoucí ikony"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "Vlevo, plovoucí ikony"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Uprostřed, na střed monitoru"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Uprostřed, plovoucí"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Uprostřed, plovoucí"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "Nad ikonami"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "Vlevo od ikon"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "Dole pod ikonami"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "Vpravo od ikon"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "Nad systémovou oblastí"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "Vlevo od systémové oblasti"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "Pod systémovou oblastí"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "Vpravo od systémové oblasti"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "Nad seznamem úloh"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "Vlevo od seznamu úloh"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "Pod seznamem úloh"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "Vpravo od seznamu úloh"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "Výška tlačítka plochy (px)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "Šířka tlačítka plochy (px)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Nastavení indikátoru běžících aplikací"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1078 prefs.js:1325 prefs.js:1409 prefs.js:1474
+#: prefs.js:1510 prefs.js:1607 prefs.js:1641 prefs.js:1683
+msgid "Reset to defaults"
+msgstr "Nastavit výchozí hodnoty"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Default (Primární monitor)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Monitor "
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Nastavení více monitorů"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Dynamická průhlednost"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Nastavení inteligentního skrývaní (Intellihide)"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "Zobrazit ikonu aplikací"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "Nastavení plochy"
+
+#: prefs.js:1071
+msgid "Window preview options"
+msgstr "Nastavení náhledu oken"
+
+#: prefs.js:1318
+msgid "Ungrouped application options"
+msgstr "Nastavení neseskupených aplikací"
+
+#: prefs.js:1402
+msgid "Customize middle-click behavior"
+msgstr "Akce prostředního tlačítko myši"
+
+#: prefs.js:1467
+msgid "Customize panel scroll behavior"
+msgstr "Chování prostředního tlačítko myši nad panelem"
+
+#: prefs.js:1503
+msgid "Customize icon scroll behavior"
+msgstr "Nastavit chování prostředního tlačítko myši"
+
+#: prefs.js:1600
+msgid "Advanced hotkeys options"
+msgstr "Nastavení dalších klávesových zkratek"
+
+#: prefs.js:1634
+msgid "Secondary Menu Options"
+msgstr "Nastavení sekundárního menu"
+
+#: prefs.js:1676 Settings.ui.h:223
+msgid "Advanced Options"
+msgstr "Pokročilá nastavení"
+
+#: prefs.js:1763
+msgid "Export settings"
+msgstr "Exportovat nastavení"
+
+#: prefs.js:1780
+msgid "Import settings"
+msgstr "Importovat nastavení"
+
+#: appIcons.js:1380
+msgid "Show Details"
+msgstr "Zobrazit detaily"
+
+#: appIcons.js:1398
+msgid "New Window"
+msgstr "Nové okno"
+
+#: appIcons.js:1398 appIcons.js:1458 appIcons.js:1460 Settings.ui.h:10
+msgid "Quit"
+msgstr "Ukončit"
+
+#: appIcons.js:1460
+msgid "Windows"
+msgstr "Okna"
+
+#: appIcons.js:1684
+msgid "Power options"
+msgstr "Možnosti napájení"
+
+#: appIcons.js:1689
+msgid "Event logs"
+msgstr "Události"
+
+#: appIcons.js:1694
+msgid "System"
+msgstr "Systém"
+
+#: appIcons.js:1699
+msgid "Device Management"
+msgstr "Spáva zařízení"
+
+#: appIcons.js:1704
+msgid "Disk Management"
+msgstr "Správa disků"
+
+#: appIcons.js:1711
+msgid "Terminal"
+msgstr "Terminál"
+
+#: appIcons.js:1716
+msgid "System Monitor"
+msgstr "Sledování systému"
+
+#: appIcons.js:1721
+msgid "Files"
+msgstr "Soubory"
+
+#: appIcons.js:1726
+msgid "Settings"
+msgstr "Nastavení"
+
+#: appIcons.js:1733
+msgid "Unlock taskbar"
+msgstr "Odemknout panel úloh"
+
+#: appIcons.js:1733
+msgid "Lock taskbar"
+msgstr "Zamknout panel úloh"
+
+#: appIcons.js:1738
+msgid "Taskbar Settings"
+msgstr "Nastavení panel úloh"
+
+#: appIcons.js:1745
+msgid "Restore Windows"
+msgstr "Obnovit okna"
+
+#: appIcons.js:1745
+msgid "Show Desktop"
+msgstr "Zobrazit plochu"
+
+#: update.js:58
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "Verze %s (%s) je dostupná"
+
+#: update.js:59
+msgid "Details"
+msgstr "Zobrazit detaily"
+
+#: update.js:60
+msgid "Update"
+msgstr "Aktualizace"
+
+#: update.js:63
+msgid "Already up to date"
+msgstr "Používáte aktuální verzi"
+
+#: update.js:148
+msgid "Update successful, please log out/in"
+msgstr "Aktualizace proběhla, je nutné se odhlásit a přihlásit"
+
+#: update.js:149
+msgid "Log out"
+msgstr "Odhlásit"
+
+#: update.js:153
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Aktualizace proběhla, restartujte GNOME Shell"
+
+#: update.js:154
+msgid "Restart GNOME Shell"
+msgstr "Restartovat GNOME Shell..."
+
+#: update.js:154
+msgid "Restarting GNOME Shell..."
+msgstr "Restartuji GNOME Shell..."
+
+#: update.js:160
+msgid "Error: "
+msgstr "Chyba: "
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Zatím nedostupné!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Pokud je nastavena minimalizace, pak budou minimalizováno všechna okna "
+"aplikace."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Akce při Shift+Click"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Okno do popředí"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Minimalizovat okno"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Spustit nové okno aplikace"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Procházet okna"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Procházet okna a minimalizovat"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Přepnout náhled jedno/více"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Chování při stisku prostředního tlačítka."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Prostřední tlačítko myši"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Shift + prostřední tlačítko myši."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Akce při Shift + prostřední tlačítko myši"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Oddělit monitory"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Zobrazit oblíbené aplikace na všech monitorech"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Zobrazit hodiny na všech monitorech"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Zobrazit stavovou nabídku na všech monitorech"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Zobrazit položky menu aplikace"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Zobrazit menu Detail"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Zvýraznit aplikaci v popředí"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Hlavní barva ikony"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Vlastní barva"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Průhlednost zvýraznění"
+
+#: Settings.ui.h:25
+msgid "Indicator height (px)"
+msgstr "Výška indikátoru aplikace (px)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Hlavní barva ikony - Přepsat nastavení vzhledu"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Barva indikátoru - Přepsat nastavení vzhledu"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 otevřené okno (nebo neseskupené)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Nastavit pro všechny"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 otevřená okna"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 otevřená okna"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4 a více otevřených oken"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Použít jinou pro okna v pozadí"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Velikost fontu (px) titulku aplikace (výchozí 14)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Velikost fontu titulku aplikace"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "zdědit nastavení tématu"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "normální"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "tenčí"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "tučný"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "tučnější"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Barva fontu (px) titulku aplikace"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Maximální šířka titulku aplikace (výchozí 160)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Použít pevnou šířku titulku aplikací"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Titulky aplikací mají stejnou šířku, i když je text kratší. Maximální "
+"hodnota je použita pro všechny."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Zobrazit indikátor aplikací na pozadí"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "Použít ikony oblíbených aplikací jako spouštěče"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Skrýt panel pouze při překrytí okny aplikací "
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "Skrývání panelu pro"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Všechna okna"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Okna v popředí"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Maximalizovaná okna"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Vyžaduje podržení myši u okraje obrazovky pro zobrazení panelu"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Citlivost okraje obrazovky při držení myši (px)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Doba držení myši (ms)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Povolit zobrazení panelu v režimu celá obrazovka"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Skrýt pouze sekundární panely (pro více monitorů)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "např. i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Klávesová zkratka pro zobrazení panelu"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Syntaxe: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Rychlost animace zobrazení/skrytí panelu"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Zpoždění před skrytím panelu"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Zpoždění před skrytím při startu (ms)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Pauza před zobrazením náhledu (výchozí 100ms)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Trvání animace (ms)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Pauza před skrytím náhledu (výchozí 100ms)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Okamžitě po kliknutí na ikonu aplikace"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr "Prostřední tlačítko myši zavře okno v režimu náhledu"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Velikost náhledu okna (px)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Poměr stran náhledu okna (výška)"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Okraje náhledu oken (px)"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr "Pevný"
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Poměr stran náhledu okna (šířka)"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Použít vlastní nastavení průhlednosti pro náhledy"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr "Při vypnutí se použije hodnota průhlednosti panelu"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Pozice titulku a tlačítka zavření okna"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Dole"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Nahoře"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Zobrazit titulek okna v náhledech"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Velikost fontu (px) titulku aplikace"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Velikost fontu titulku aplikace"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Barva fontu (px) titulku aplikace"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Povolit režim náhledu okna"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr "Rozlišit okna po delším zobrazení náhledu."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Povolit režim náhledu okna po (ms)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr "Čas nečinnosti nad ikonou před přechodem do režimu náhledu okna."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Průhlednost režimu náhledu okna"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr "Všechna okna, mimo aktivního, mají stejné nastavení průhlednosti."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Prodleva mezi skrolováním myší"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr "Omezit počet událostí skrolování myší"
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Win"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Win + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Zkratka"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Zkratky budou buď Win+číslo nebo Win+Alt+číslo"
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Nikdy"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Zobrazit dočasně"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Vždy viditelné"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Zobrazit číslo"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr "Dočasně zobrazit čísla aplikací při použití klávesových zkratek."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Schovat po (ms)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "např: q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Zkratka pro zobrazení přehledu"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Zobrazit náhled okna při najetí myši"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Zobrazit náhledy pokud má aplikace více otevřených oken"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Číslo řádku"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Numerická klávesnice"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Oba"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Aktivovat klávesové zkratky pomocí"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr "Vyberte které klávesy jsou použity k aktivaci klávesových zkratek"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Zobrazit ikonu aplikace"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Vyberte volbu 'Zobrazit ikonu aplikace'"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Vlastní nastavení zobrazení ikony aplikace"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "Zobrazit ikonu aplikací s mezerou (px)"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Zobrazit pracovní plochu po najetí na tlačítko plochy"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Zpoždění před zobrazením plochy (ms)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Schovat po (ms)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "Nastavení průhlednosti panelu je ovlivněno"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Změnit průhlednost při přiblížení okna (px)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Změnit průhlednost (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Rychlost animace zobrazení/skrytí panelu"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Pozice panelu na obrazovce"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "Vlevo"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "Vpravo"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Pozice panelu"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Umístění hodin"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "Hlavní panel zobrazit na"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Zobrazit panel na všech monitorech"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Inteligentní skrývání (Intellihide)"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Zobrazit/skrýt panel podle nastavení"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Umístění"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Výška panelu\n"
+"(výchozí = 48)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Rozestup ikon aplikací\n"
+"(výchozí = 8)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Okraje ikon aplikací\n"
+"(výchozí = 4)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Pozice indikátoru"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Styl indikátoru běžících aplikací (v popředí)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Tečky"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Čtverce"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Čárkovaný"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Dělený"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Solid"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Styl indikátoru běžících aplikací (v pozadí)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "Vlastní barva pozadí panelu "
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "Vlastní průhlednost panelu"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Průhlednost panelu (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Dynamická průhlednost"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Změnit průhlednost při přiblížení okna"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "Vlastní nastavení barevného přechodu panelu "
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Horní barva barevného přechodu a průhlednost (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Dolní barva barevného přechodu a průhlednost (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Vzhled"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Zobrazit oblíbené aplikace"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Zobrazit spuštěné aplikace"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Zobrazit ikonu aplikací"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Animovat zobrazení aplikací."
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Zobrazit tlačítko aktivit"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Zobrazit tlačítko plochy"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Zobrazit tlačítko aplikací"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr "Nabídka aplikace > Musí být povoleno v Gnome Tweak Tool"
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Zobrazit náhled okna při najetí myši"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Zobrazit tip okna při najetí myši"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Oddělit pracovní plochy"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Neseskupené aplikace"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Chování"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Chování při kliknutí na ikonu běžící aplikace."
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Akce myši"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Přepínat okna"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Akce panelu při skrolování"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Chování prostředního tlačítko myši nad panelem"
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Akce kolečka myši"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Chování kolečka myši nad ikonu běžící aplikace."
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "Nedělat nic"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Přepnout plochu"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Procházet okna"
+
+#: Settings.ui.h:205
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Povolit klávesové zkratky Win+(0-9) ke spouštění aplikací. Lze použít v "
+"kombinaci s Shift a Ctrl."
+
+#: Settings.ui.h:206
+msgid "Use hotkeys to activate apps"
+msgstr "Použít klávesové zkratky pro spouštění aplikací"
+
+#: Settings.ui.h:207
+msgid "Action"
+msgstr "Akce"
+
+#: Settings.ui.h:208
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr "Stavové ikony - velikost fontu (0 = výchozí)"
+
+#: Settings.ui.h:210
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr "Levý panel - velikost fontu (0 = výchozí)"
+
+#: Settings.ui.h:212
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Mezery mezi systémovými ikonami\n"
+"(-1 = theme default)"
+
+#: Settings.ui.h:214
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Mezery mezi stavovými ikonami\n"
+"(-1 = výchozí)"
+
+#: Settings.ui.h:216
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Odsazení vlevo\n"
+"(-1 = výchozí)"
+
+#: Settings.ui.h:218
+msgid "Animate switching applications"
+msgstr "Animovat přepínání oken"
+
+#: Settings.ui.h:219
+msgid "Animate launching new windows"
+msgstr "Animovat spouštěná okna"
+
+#: Settings.ui.h:220
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Ponechat původní 'gnome-shell dash' (přehled úloh)"
+
+#: Settings.ui.h:221
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "Aktivovat tlačítka na panelu pouze po stisknutí"
+
+#: Settings.ui.h:222
+msgid "App icon secondary (right-click) menu"
+msgstr "Nastavení pravého kliku na ikonu aplikace"
+
+#: Settings.ui.h:224
+msgid "Fine-Tune"
+msgstr "Detailní nastavení"
+
+#: Settings.ui.h:225
+msgid "version: "
+msgstr "verze: "
+
+#: Settings.ui.h:226
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:227
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Pomocí níže uvedených tlačítek vytvoříte exportujete nastavení do souboru. "
+"Ten lze importovat na jiném počítači."
+
+#: Settings.ui.h:228
+msgid "Export and import settings"
+msgstr "Export a Import nastavení"
+
+#: Settings.ui.h:229
+msgid "Export to file"
+msgstr "Exportovat do souboru"
+
+#: Settings.ui.h:230
+msgid "Import from file"
+msgstr "Importovat ze souboru"
+
+#: Settings.ui.h:231
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr "Povolit aktualizace přímo z Github"
+
+#: Settings.ui.h:232
+msgid "Updates"
+msgstr "Aktualizace"
+
+#: Settings.ui.h:233
+msgid "Periodically check for updates"
+msgstr "Pravidelně kontrolovat aktualizace"
+
+#: Settings.ui.h:234
+msgid "Check now"
+msgstr "Zkontrolovat teď"
+
+#: Settings.ui.h:235
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Pozor, nové verze nemusím být ještě "
+"schváleny na portálu extensions.gnome.org! Dozvědět se víc"
+
+#: Settings.ui.h:236
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Tento program je nabízen bez jakýchkoli záruk.\n"
+"Přečtěte si GNU General Public License, version 2 nebo novější verze."
+
+#: Settings.ui.h:238
+msgid "About"
+msgstr "O rozšíření"
+
+#~ msgid "Highlight color"
+#~ msgstr "Barva zvýraznění"
+
+#~ msgid "Preview timeout on icon leave (ms)"
+#~ msgstr "Skrýt náhled aplikace po odjetí myši (ms)"
+
+#~ msgid ""
+#~ "If set too low, the window preview of running applications may seem to "
+#~ "close too quickly when trying to enter the popup. If set too high, the "
+#~ "preview may linger too long when moving to an adjacent icon."
+#~ msgstr ""
+#~ "Náhled aplikací může mizet velmi rychle při velmi nízkých hodnotách. Při "
+#~ "velkých hodnotách může naopak zůstávat i po najetí na jinou ikonu "
+#~ "aplikace."
+
+#~ msgid "Middle click to close window"
+#~ msgstr "Prostřední tlačítko myši zavře okno"
+
+#~ msgid "Width of the window previews (px)"
+#~ msgstr "Šířka náhledu oken aplikací (px)"
+
+#~ msgid "Height of the window previews (px)"
+#~ msgstr "Výška náhledu oken aplikací (px)"
+
+#~ msgid "Padding of the window previews (px)"
+#~ msgstr "Mezery náhledu oken aplikací (px)"
+
+#~ msgid "Natural"
+#~ msgstr "Přirozené"
+
+#~ msgid "Left side of panel"
+#~ msgstr "Vlevo na panelu"
+
+#~ msgid "Centered in content"
+#~ msgstr "Na střed obsahu"
+
+#~ msgid "Github"
+#~ msgstr "Github"
+
+msgid "Weekday"
+msgstr "Den v týdnu"
+
+msgid "Date"
+msgstr "Datum"
+
+msgid "Seconds"
+msgstr "Sekundy"
diff --git a/po/cy.po b/po/cy.po
new file mode 100644
index 0000000..92eb46f
--- /dev/null
+++ b/po/cy.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: cy\n"
+
+msgid "System Monitor"
+msgstr "Arsylwr System"
diff --git a/po/da.po b/po/da.po
new file mode 100644
index 0000000..0a6eece
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: da\n"
+
+msgid "System Monitor"
+msgstr "Systemovervågning"
+
+msgid "Files"
+msgstr "Filer"
+
+msgid "Settings"
+msgstr "Indstillinger"
diff --git a/po/de.po b/po/de.po
new file mode 100644
index 0000000..4218436
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,1297 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-10-04 20:47+0200\n"
+"PO-Revision-Date: 2019-10-04 21:49+0200\n"
+"Last-Translator: Jonatan Hatakeyama Zeidler \n"
+"Language-Team: \n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.4\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Oben, mit Erweiterungssymbolen nach unten eingeklappt"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "Links, mit Erweiterungssymbolen nach rechts eingeklappt"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Oben, mit fix zentrierten Erweiterungssymbolen"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "Links, mit fix zentrierten Erweiterungssymbolen"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Oben, mit beweglich zentrierten Erweiterungssymbolen"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "Links, mit beweglich zentrierten Erweiterungssymbolen"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Mitte, fest in der Bildschirmmitte"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Mitte, beweglich zwischen oberen und unteren Elementen"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Mitte, beweglich zwischen linken und rechten Elementen"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "Oberhalb der Erweiterungssymbole"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "Links der Erweiterungssymbole"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "Unterhalb der Erweiterungssymbole"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "Rechts der Erweiterungssymbole"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "Oberhalb der Systemindikatoren"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "Links der Systemindikatoren"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "Unterhalb der Systemindikatoren"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "Rechts der Systemindikatoren"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "Oberhalb der Anwendungsleiste"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "Links der Anwendungsleiste"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "Unterhalb der Anwendungsleiste"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "Rechts der Anwendungsleiste"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "Schreibtisch-Schaltflächenhöhe (px)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "Schreibtisch-Schaltflächenbreite (px)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Optionen Aktiv-Markierungen"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1078 prefs.js:1325 prefs.js:1409 prefs.js:1474
+#: prefs.js:1510 prefs.js:1607 prefs.js:1641 prefs.js:1683
+msgid "Reset to defaults"
+msgstr "Zurücksetzen"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Vorgabe (Primärer Monitor)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Bildschirm "
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Optionen Mehrere Bildschirme"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Optionen Dynamische Deckkraft"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Optionen zum automatischen Ausblenden"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "Anwendungsoptionen anzeigen"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "Schreibtisch-Optionen anzeigen"
+
+#: prefs.js:1071
+msgid "Window preview options"
+msgstr "Optionen Fenstervorschau"
+
+#: prefs.js:1318
+msgid "Ungrouped application options"
+msgstr "Optionen nicht gruppierter Anwendungen"
+
+#: prefs.js:1402
+msgid "Customize middle-click behavior"
+msgstr "Mittelklick-Verhalten anpassen"
+
+#: prefs.js:1467
+msgid "Customize panel scroll behavior"
+msgstr "Leisten-Scroll-Verhalten anpassen"
+
+#: prefs.js:1503
+msgid "Customize icon scroll behavior"
+msgstr "Symbol-Scroll-Verhalten anpassen"
+
+#: prefs.js:1600
+msgid "Advanced hotkeys options"
+msgstr "Erweiterte Schnelltastenoptionen"
+
+#: prefs.js:1634
+msgid "Secondary Menu Options"
+msgstr "Rechtsklickmenü-Optionen"
+
+#: prefs.js:1676 Settings.ui.h:223
+msgid "Advanced Options"
+msgstr "Erweiterte Optionen"
+
+#: prefs.js:1763
+msgid "Export settings"
+msgstr "Einstellungen exportieren"
+
+#: prefs.js:1780
+msgid "Import settings"
+msgstr "Einstellungen importieren"
+
+#: appIcons.js:1380
+msgid "Show Details"
+msgstr "Details anzeigen"
+
+#: appIcons.js:1398
+msgid "New Window"
+msgstr "Neues Fenster"
+
+#: appIcons.js:1398 appIcons.js:1458 appIcons.js:1460 Settings.ui.h:10
+msgid "Quit"
+msgstr "Schließen"
+
+#: appIcons.js:1460
+msgid "Windows"
+msgstr "Fenster"
+
+#: appIcons.js:1684
+msgid "Power options"
+msgstr "Energieoptionen"
+
+#: appIcons.js:1689
+msgid "Event logs"
+msgstr "Ereignislogs"
+
+#: appIcons.js:1694
+msgid "System"
+msgstr "System"
+
+#: appIcons.js:1699
+msgid "Device Management"
+msgstr "Geräteverwaltung"
+
+#: appIcons.js:1704
+msgid "Disk Management"
+msgstr "Festplattenverwaltung"
+
+#: appIcons.js:1711
+msgid "Terminal"
+msgstr "Terminal"
+
+#: appIcons.js:1716
+msgid "System Monitor"
+msgstr "Systemüberwachung"
+
+#: appIcons.js:1721
+msgid "Files"
+msgstr "Dateien"
+
+#: appIcons.js:1726
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: appIcons.js:1733
+msgid "Unlock taskbar"
+msgstr "Anwendungsleiste entsperren"
+
+#: appIcons.js:1733
+msgid "Lock taskbar"
+msgstr "Anwendungsleiste sperren"
+
+#: appIcons.js:1738
+msgid "Taskbar Settings"
+msgstr "Erweiterungseinstellungen"
+
+#: appIcons.js:1745
+msgid "Restore Windows"
+msgstr "Fenster wiederherstellen"
+
+#: appIcons.js:1745
+msgid "Show Desktop"
+msgstr "Schreibtisch anzeigen"
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Noch nichts!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Falls Minimieren eingestellt ist, minimiert ein Doppelklick alle Fenster der "
+"Anwendung."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Aktion Umschalt+Klick"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Fenster nach vorne holen"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Fenster minimieren"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Neues Fenster öffnen"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Fenster durchwechseln"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Fenster durchwechseln + minimieren"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Einzelumschaltung / Vorschau mehrere"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Verhalten bei einem Mittelklick."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Aktion Mittelklick"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Aktion bei Umschalt+Mittelklick."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Aktion Umschalt+Mittelklick"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Bildschirme isolieren"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Favoriten auf allen Bildschirmen anzeigen"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Uhr auf allen Bildschirmen anzeigen"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Statusmenü auf allen Bildschirmen anzeigen"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Integriere Einträge aus Anwendungsmenü"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Details anzeigen-Menüeintrag"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Fokussierte Anwendung hervorheben"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Dominante Symbolfarbe"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Angepasste Farbe"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Deckkraft Hervorhebung"
+
+#: Settings.ui.h:25
+msgid "Indicator height (px)"
+msgstr "Symbolhöhe (px)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Symbolfarbe - Symbol Dominant"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Symbolfarbe - Thema überschreiben"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 Fenster offen (oder nicht gruppiert)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Auf alle anwenden"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 Fenster offen"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 Fenster offen"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4+ Fenster offen"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Andere für nicht fokussierte"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Schriftgröße (px) des Anwendungstitels (14 ist Vorgabe)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Schriftdicke der Anwendungstitel"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "Vom Thema übernehmen"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "normal"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "dünner"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "dick"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "dicker"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Schriftfarbe des Anwendungstitels"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Maximale Breite (px) des Anwendungstitels (160 ist Vorgabe)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Feste Breite für Anwendungstitel nutzen"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Die Anwendungstitel haben alle die gleiche Breite, selbst wenn der Text "
+"kürzer ist als die maximale Breite. Die maximale Breite wird als feste "
+"Breite genutzt."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Läuft-Indikatoren auf nicht fokussierten Anwendungen anzeigen"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "Favoritensymbole als Anwendungsstarter nutzen"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Leiste nur bei Überschneidung mit Fenstern ausblenden "
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "Die Leiste weicht aus"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Alle Fenster"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Fokussierte Fenster"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Maximierte Fenster"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Druckschwelle am Rand zum Einblenden der Leiste"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Benötigte Druckschwelle (px)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Benötigte Druckverzögerung (ms)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Einblenden der Leiste im Vollbildmodus erlauben"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Nur sekundäre Leisten ausblenden (benötigt Option Mehrere Bildschirme)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "z.B. i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Tastenkürzel zum Einblenden und Halten der Leiste"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Syntax: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Ein-/Ausblenddauer (ms)"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Verzögerung vor dem Ausblenden (ms)"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Verzögerung des automatischen Ausblendens beim Start (ms)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Verzögerung (ms) beim Einblenden (Standard ist 100)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Animationszeit (ms)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Verzögerung (ms) beim Ausblenden (Vorgabe ist 100)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Sofort beim Klick auf das Anwendungssymbol"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr "Mittelklick auf Vorschau zum Schließen des Fensters"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Bevorzugte Fenstervorschaugröße (px)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Fenstervorschau Format Y (Höhe)"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Abstand Fenstervorschau (px)"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr "Fest"
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Fenstervorschau Format X (Breite)"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Angepasste Deckkraft für Vorschauhintergrund"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr ""
+"Falls deaktiviert, hat der Vorschauhintergrund die gleiche Deckkraft wie die "
+"Leiste"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Schließenschaltfläche und Position Fenstertitel"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Unten"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Oben"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Fenstertitel in Vorschau anzeigen"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Schriftgröße (px) des Vorschauanwendungstitels"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Schriftdicke des Vorschauanwendungstitels"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Schriftfarbe des Vorschauanwendungstitels"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Fensterhervorhebung aktivieren"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Wenn der Mauszeiger über einer Fenstervorschau verweilt, wird das Fenster "
+"hervorgehoben."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Zeitgrenze zur Aktivierung der Fensterhervorhebung (ms)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Verzögerung, während der der Mauszeiger über einer Fenstervorschau bleiben "
+"muss, um die Fensterhervorhebung zu aktivieren."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Deckkraft Fensterhervorhebung"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"Die Deckkraft aller Fenster, außer dem hervorgehobenen, hat denselben Wert."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Verzögerung zwischen Maus-Scroll-Ereignissen (ms)"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr "Dieser Wert limitiert die Anzahl akzeptierter Maus-Scroll-Ereignisse."
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Schnelltasten-Präfix"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Schnelltasten sind entweder Super+Nummer oder Super+Alt+Nummer"
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Nie"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Vorübergehend anzeigen"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Immer sichtbar"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Nummern-Overlay"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Zeige Anwendungsnummern über Symbolen, während Schnelltasten gedrückt werden."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Ausblendeverzögerung (ms)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "z.B. q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Kürzel zum Anzeigen der Nummern für 2 Sekunden"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Fenstervorschau per Tastenkürzel einblenden"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Vorschau anzeigen, wenn Anwendungen mehrere Fenster hat"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Nummernreihe"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Zahlenfeld"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Beide"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Schnelltasten aktivieren mit"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr "Auswählen, welche Zahlenfeldtasten die Schnelltasten aktivieren"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Aktuelles Anwendungen anzeigen-Symbol"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Anwendungen anzeigen-Symbol auswählen"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Angepasstes Anwendungen anzeigen-Symbol"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "Seitenabstand bei Anwendungssymbolen anzeigen (px)"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Schreibtisch zeigen, wenn Maus die Schreibtischschaltfläche berührt"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Verzögerung beim Zeigen des Schreibtischs (ms)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Ausblendedauer (ms)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "Die Deckkraft des Leistenhintergrunds wird beeinflusst durch"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Deckkraft ändern, wenn Fenster näher kommt als (px)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Deckkraft ändern zu (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Animationsdauer Änderung Deckkraft (ms)"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Position der Leiste"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "Links"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "Rechts"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Position Anwendungsleiste"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Position der Uhr"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "Hauptleiste anzeigen auf"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Leisten auf allen Bildschirmen anzeigen"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Automatischen Ausblenden"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Leiste entsprechend der Einstellungen ein-/ausblenden"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Position"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Leistengröße\n"
+"(48 ist Standard)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Symbolabstand\n"
+"(8 ist Standard)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Symbolabstand\n"
+"(Vorgabewert ist 4)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Position Aktiv-Markierung"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Stil Aktiv-Markierung (fokussierte Anwendung)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Punkte"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Quadrate"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Striche"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Unterteilt"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Fest"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Stil Aktiv-Markierung (nicht fokussierte Anwendung)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "Leistenhintergrundfarbe des Themas überschreiben "
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "Leistenhintergrunddeckkraft des Themas überschreiben"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Leistenhintergrunddeckkraft (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Dynamische Hintergrunddeckkraft"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Deckkraft ändern, wenn Fenster der Leiste nahe kommt"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "Verlauf des Themas überschreiben "
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Obere Farbe und Deckkraft des Verlaufs (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Untere Farbe und Deckkraft des Verlaufs (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Stil"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Favoritensymbole anzeigen"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Laufende Anwendungen anzeigen"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Anwendungen-Symbol anzeigen"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Animation bei Anwendungen einblenden."
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Aktivitäten-Schaltfläche anzeigen"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Schreibtisch-Schaltfläche anzeigen"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Anwendungsmenü-Schaltläche anzeigen"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Obere Leiste > Anwendungsmenü anzeigen muss aktiviert sein im "
+"Optimierungswerkzeug (Tweak Tool)"
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Fenstervorschau bei Berührung einblenden"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Kurzinfo bei Berührung"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Arbeitsflächen isolieren"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Anwendungen nicht gruppieren"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Verhalten"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Verhalten beim Anklicken des Symbols einer laufenden Anwendung."
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Klickaktion"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Fenster umschalten"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Leisten-Scrollen"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Verhalten beim Scrollen über der Leiste."
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Symbol-Scrollen"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Verhalten beim Scrollen über ein Anwendungssymbol."
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "Nichts tun"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Arbeitsfläche wechseln"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Fenster durchwechseln"
+
+#: Settings.ui.h:205
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Super+(0-9) als Kürzel zum Aktivieren von Anwendungen nutzen. Kann auch mit "
+"Strg und Umschalttaste genutzt werden."
+
+#: Settings.ui.h:206
+msgid "Use hotkeys to activate apps"
+msgstr "Schnelltasten zum Aktivieren von Anwendungen nutzen"
+
+#: Settings.ui.h:207
+msgid "Action"
+msgstr "Aktion"
+
+#: Settings.ui.h:208
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Schriftgröße Benachrichtigungsbereich\n"
+"(0 = Themenstandard)"
+
+#: Settings.ui.h:210
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Schriftgröße linker Teil\n"
+"(0 = Themenstandard)"
+
+#: Settings.ui.h:212
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Symbolabstand Benachrichtigungsbereich\n"
+"(-1 = Themenstandard)"
+
+#: Settings.ui.h:214
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Statussymbolabstand\n"
+"(-1 = Themenstandard)"
+
+#: Settings.ui.h:216
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr "Elementabstand linker Teil"
+
+#: Settings.ui.h:218
+msgid "Animate switching applications"
+msgstr "Wechsel zwischen Anwendungen animieren"
+
+#: Settings.ui.h:219
+msgid "Animate launching new windows"
+msgstr "Öffnen von Anwendungen animieren"
+
+#: Settings.ui.h:220
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Originale Anwendungsleiste der GNOME Shell behalten (Übersicht)"
+
+#: Settings.ui.h:221
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr ""
+"Menüschaltflächen der Leiste (z.B. Datumsmenü) nur per Klick aktivieren"
+
+#: Settings.ui.h:222
+msgid "App icon secondary (right-click) menu"
+msgstr "Anwendungsrechtsklickmenü"
+
+#: Settings.ui.h:224
+msgid "Fine-Tune"
+msgstr "Feineinstellung"
+
+#: Settings.ui.h:225
+msgid "version: "
+msgstr "Version: "
+
+#: Settings.ui.h:226
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:227
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Mit den Schaltflächen lässt sich eine Konfigdatei mit den aktuellen "
+"Einstellungen erstellen, die sich auf einem anderen Rechner importieren "
+"lässt."
+
+#: Settings.ui.h:228
+msgid "Export and import settings"
+msgstr "Einstellungen ex- und importieren"
+
+#: Settings.ui.h:229
+msgid "Export to file"
+msgstr "In Datei exportieren"
+
+#: Settings.ui.h:230
+msgid "Import from file"
+msgstr "Aus Datei importieren"
+
+#: Settings.ui.h:231
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Erlaubt das Aktualisieren der Erweiterung direkt vom GitHub-Repository."
+
+#: Settings.ui.h:232
+msgid "Updates"
+msgstr "Aktualisierungen"
+
+#: Settings.ui.h:233
+msgid "Periodically check for updates"
+msgstr "Regelmäßig auf verfügbare Aktualisierungen prüfen"
+
+#: Settings.ui.h:234
+msgid "Check now"
+msgstr "Jetzt prüfen"
+
+#: Settings.ui.h:235
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Achtung, diese offiziellen "
+"Veröffentlichungen von Dash to Panel sind möglicherweise noch nicht von "
+"extensions.gnome.org geprüft! Weiterlesen"
+
+#: Settings.ui.h:236
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Für dieses Programm besteht KEINERLEI GARANTIE.\n"
+"Details unter GNU General Public License, version 2 or later"
+
+#: Settings.ui.h:238
+msgid "About"
+msgstr "Info"
+
+#~ msgid "Highlight color"
+#~ msgstr "Farbe Hervorhebung"
+
+#~ msgid "Preview timeout on icon leave (ms)"
+#~ msgstr "Verzögerung beim Ausblenden von Fenstervorschau (ms)"
+
+#~ msgid ""
+#~ "If set too low, the window preview of running applications may seem to "
+#~ "close too quickly when trying to enter the popup. If set too high, the "
+#~ "preview may linger too long when moving to an adjacent icon."
+#~ msgstr ""
+#~ "Wenn zu niedrig eingestellt, scheint die Fenstervorschau zu schnell zu "
+#~ "schließen, wenn man versucht, mit der Maus die Vorschau anzuklicken. "
+#~ "Falls zu hoch eingestellt, dann scheint die Fenstervorschau zu hängen, "
+#~ "wenn man zum nächsten Fenster wechselt."
+
+#~ msgid "Middle click to close window"
+#~ msgstr "Mittelklick zum Fensterschließen"
+
+#~ msgid "Width of the window previews (px)"
+#~ msgstr "Breite der Fenstervorschau (px)"
+
+#~ msgid "Height of the window previews (px)"
+#~ msgstr "Höhe der Fenstervorschau (px)"
+
+#~ msgid "Padding of the window previews (px)"
+#~ msgstr "Abstand zwischen Fenstervorschau (px)"
+
+#~ msgid "Natural"
+#~ msgstr "Natürlich"
+
+#~ msgid "Left side of panel"
+#~ msgstr "Linke Seite der Leiste"
+
+#~ msgid "Centered in content"
+#~ msgstr "Am Inhalt zentriert"
+
+#~ msgid "Github"
+#~ msgstr "Github"
+
+#~ msgid "Height (px)"
+#~ msgstr "Höhe (px)"
+
+#~ msgid "Color - Override Theme"
+#~ msgstr "Farbe - Thema überschreiben"
+
+#~ msgid "1 window open"
+#~ msgstr "1 Fenster offen"
+
+msgid "Weekday"
+msgstr "Wochentag"
+
+msgid "Date"
+msgstr "Datum"
+
+msgid "Seconds"
+msgstr "Sekunden"
diff --git a/po/dz.po b/po/dz.po
new file mode 100644
index 0000000..52dd59a
--- /dev/null
+++ b/po/dz.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: dz\n"
+
+msgid "System Monitor"
+msgstr "རིམ་ལུགས་ལྟ་རྟོག་པ།"
diff --git a/po/el.po b/po/el.po
new file mode 100644
index 0000000..ea56e0b
--- /dev/null
+++ b/po/el.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: el\n"
+
+msgid "System Monitor"
+msgstr "Παρακολούθηση συστήματος"
+
+msgid "Files"
+msgstr "Αρχεία"
+
+msgid "Settings"
+msgstr "Ρυθμίσεις"
diff --git a/po/eo.po b/po/eo.po
new file mode 100644
index 0000000..258d0bf
--- /dev/null
+++ b/po/eo.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: eo\n"
+
+msgid "System Monitor"
+msgstr "Sistemmonitoro"
+
+msgid "Files"
+msgstr "Dosieroj"
+
+msgid "Settings"
+msgstr "Agordoj"
diff --git a/po/es.po b/po/es.po
new file mode 100644
index 0000000..5d2318e
--- /dev/null
+++ b/po/es.po
@@ -0,0 +1,1343 @@
+# Dash to Panel Spanish translation.
+# This file is distributed under the same license as the Dash to Panel package.
+# Fran Glais , 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-04-08 09:47-0400\n"
+"PO-Revision-Date: 2017-02-17 12:11+0100\n"
+"Last-Translator: Fran Glais \n"
+"Language-Team: \n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.8.11\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Arriba, con iconos contraídos"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "A la izquierda, con iconos contraídos a la derecha"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Arriba, con iconos fijos centrados"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "A la izquierda, con iconos fijos centrados"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Arriba, con iconos flotantes centrados"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "A la izquierda, con iconos flotantes centrados"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Centrado, fijo en mitad del monitor"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Centrado, flotando entre los elementos superiores e inferiores"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Centrado, flotando entre los elementos de la izquierda y derecha"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "Arriba de los iconos"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "A la izquierda de los iconos"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "Abajo de los iconos"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "A la derecha de los iconos"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "Arriba de los indicadores del sistema"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "A la izquierda de los indicadores del sistema"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "Abajo de los indicadores del sistema"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "A la derecha de los indicadores del sistema"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "Arriba de la barra de tareas"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "A la izquierda de la barra de tareas"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "Abajo de la barra de tareas"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "A la derecha de la barra de tareas"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "Alto del botón Mostrar Escritorio (px)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "Ancho del botón Mostrar Escritorio (px)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Opciones del indicador de ejecución"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1084 prefs.js:1331 prefs.js:1415 prefs.js:1480
+#: prefs.js:1516 prefs.js:1613 prefs.js:1647 prefs.js:1689
+msgid "Reset to defaults"
+msgstr "Restablecer los valores predeterminados"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Por defecto (Monitor principal)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Monitor "
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Opciones Muti-monitores"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Opciones de opacidad dinámica"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Opciones de ocultación inteligente"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "Mostrar las opciones de aplicación"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "Mostrar el Escritorio"
+
+#: prefs.js:1077
+msgid "Window preview options"
+msgstr "Opciones de vista rápida de ventanas"
+
+#: prefs.js:1324
+msgid "Ungrouped application options"
+msgstr "Opciones de ventanas no combinadas"
+
+#: prefs.js:1408
+msgid "Customize middle-click behavior"
+msgstr "Personalizar comportamiento del botón central"
+
+#: prefs.js:1473
+msgid "Customize panel scroll behavior"
+msgstr "Personalizar comportamiento del desplazamiento del panel"
+
+#: prefs.js:1509
+msgid "Customize icon scroll behavior"
+msgstr "Personalizar comportamiento del desplazamiento de los iconos"
+
+#: prefs.js:1606
+msgid "Advanced hotkeys options"
+msgstr "Opciones avanzadas de atajos de teclado"
+
+#: prefs.js:1640
+msgid "Secondary Menu Options"
+msgstr "Opciones del menú secundario"
+
+#: prefs.js:1682 Settings.ui.h:226
+msgid "Advanced Options"
+msgstr "Opciones avanzadas"
+
+#: prefs.js:1774
+msgid "Export settings"
+msgstr "Exportar configuraciones"
+
+#: prefs.js:1791
+msgid "Import settings"
+msgstr "Importar configuraciones"
+
+#: appIcons.js:1411
+msgid "Show Details"
+msgstr "Mostrar detalles"
+
+#: appIcons.js:1429
+msgid "New Window"
+msgstr "Ventana nueva"
+
+#: appIcons.js:1429 appIcons.js:1489 appIcons.js:1491 Settings.ui.h:10
+msgid "Quit"
+msgstr "Salir"
+
+#: appIcons.js:1491
+msgid "Windows"
+msgstr "Ventanas"
+
+#: appIcons.js:1745
+msgid "Power options"
+msgstr "Energía"
+
+#: appIcons.js:1750
+msgid "Event logs"
+msgstr "Registros"
+
+#: appIcons.js:1755
+msgid "System"
+msgstr "Sistema"
+
+#: appIcons.js:1760
+msgid "Device Management"
+msgstr "Pantallas"
+
+#: appIcons.js:1765
+msgid "Disk Management"
+msgstr "Discos"
+
+#: appIcons.js:1773
+msgid "Terminal"
+msgstr "Terminal"
+
+#: appIcons.js:1778
+msgid "System Monitor"
+msgstr "Monitor del sistema"
+
+#: appIcons.js:1783
+msgid "Files"
+msgstr "Carpeta personal"
+
+#: appIcons.js:1788
+msgid "Extensions"
+msgstr "Extensiones"
+
+#: appIcons.js:1793
+msgid "Settings"
+msgstr "Configuración"
+
+#: appIcons.js:1800
+msgid "Unlock taskbar"
+msgstr "Desbloquear barra de tareas"
+
+#: appIcons.js:1800
+msgid "Lock taskbar"
+msgstr "Bloquear barra de tareas"
+
+#: appIcons.js:1805
+msgid "Taskbar Settings"
+msgstr "Opciones de barra de tareas"
+
+#: appIcons.js:1818
+msgid "Restore Windows"
+msgstr "Restaurar ventanas"
+
+#: appIcons.js:1818
+msgid "Show Desktop"
+msgstr "Mostrar el Escritorio"
+
+#: update.js:48
+msgid "Unavailable when installed from extensions.gnome.org"
+msgstr "No disponible cuando se instala desde extensions.gnome.org"
+
+#: update.js:62
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "La versión %s (%s) está disponible"
+
+#: update.js:63
+msgid "Details"
+msgstr "Mostrar detalles"
+
+#: update.js:64
+msgid "Update"
+msgstr "Actualizar"
+
+#: update.js:67
+msgid "Already up to date"
+msgstr "Ya está actualizado"
+
+#: update.js:75
+msgid "Error: "
+msgstr "Error: "
+
+#: update.js:168
+msgid "Update successful, please log out/in"
+msgstr "Actualización correcta, por favor, cierre e inicie sesión"
+
+#: update.js:169
+msgid "Log out"
+msgstr "Cerrar sesión"
+
+#: update.js:173
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Actualización correcta, por favor, restaure GNOME Shell"
+
+#: update.js:174
+msgid "Restart GNOME Shell"
+msgstr "Restarurar GNOME Shell"
+
+#: update.js:174
+msgid "Restarting GNOME Shell..."
+msgstr "Restaurando GNOME Shel..."
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "¡Nada aún!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Cuando está seleccionado minimizar, doble pulsación minimiza todas las ventanas "
+"de la aplicación."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Acción de Mayúsculas+Click"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Elevar ventanas"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Minimizar ventana"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Lanzar una nueva instancia"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Alternar entre ventanas"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Alternar ventanas y minimizar"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Alternar entre simple y vista rápida múltiple"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Comportamiento del botón central"
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Acción del botón central"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Comportamiento para Mayúsculas+Botón-Central"
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Acción de Mayúsculas+Botón-Central"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Aislar los espacios de trabajo"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Mostrar aplicaciones favoritas en todos los espacios de trabajo"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Mostrar reloj en todos los espacios de trabajo"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Mostrar el menú de estado en todos los espacios de trabajo"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Integrar los elementos del Menú de aplicación"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Mostrar detalles del menú de elementos"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Resaltar la aplicación activa"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Color del icono predominante"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Color personalizado"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Opacidad de resaltado"
+
+#: Settings.ui.h:25
+msgid "Indicator size (px)"
+msgstr "Tamaño del indicador (px)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Color del indicador - Predominar el icono"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Color del indicador - Predominar sobre el tema"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 ventana abierta (o no combinada)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Aplicar a todo"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 ventanas abiertas"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 ventanas abiertas"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4 o más ventanas abiertas"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Usar diferente para desenfoque"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Tamaño de la fuente (px) para los títulos de aplicación (14 por defecto)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Tamaño de la fuente para los títulos de aplicación"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "heredado del tema"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "normal"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "más fino"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "en negrita"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "más en negrita"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Color de letra de los títulos de aplicación"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Ancho máximo (px) de los títulos de aplicación (160 por defecto)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Usar ancho fijo para los títulos de aplicación"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Todos los títulos de aplicación tienen el mismo ancho, aun si el texto es "
+"más corto que el ancho máximo. El ancho máximo es usado como valor fijo."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Estilo de los indicadores de ejecución (aplicación no enfocada)"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "Usar los iconos favoritos como lanzadores de aplicación"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Esconder el panel sólo cuando es obstruido por ventanas"
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "El panel se esconde de"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Todas las ventanas"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Ventanas activas"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Ventanas maximizadas"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Requerir presión en el borde de la pantalla para mostrar el panel"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Presión mínima requerida (px)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Tiempo de activación (ms)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "En modo pantalla completa, permitir que el panel sea mostrado"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Ocultar sólo los paneles secundarios (requiere opción multi-monitor)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "p.e. i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Atajos del teclado para mostrar y mantener el panel"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Sintáxis: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Duración de ocultar y mostrar animaciones (ms)"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Tiempo antes de ocultar el panel (ms)"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Tiempo antes de habilitar el panel inteligente (ms)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Tiempo (ms) antes de mostrar (100 por defecto)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Tiempo de la animación (ms)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Tiempo (ms) antes de ocultar (100 por defecto)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Pulsación inmediata en icono de aplicación"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr "Usar el botón central en la vista rápida para cerrar la ventana"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Tamaño por defecto de las vistas rápidas (px)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Altura de la vista rápida de ventanas"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Relleno (px) de la vista rápida de ventanas"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr ""
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr ""
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr ""
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr ""
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr ""
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr ""
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr ""
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr ""
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr ""
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr ""
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr ""
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr ""
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr ""
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr ""
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr ""
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr ""
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr ""
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr ""
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr ""
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr ""
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr ""
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr ""
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Anchura de la vista rápida de ventanas"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Usar opacidad personalizada para el fondo de las vistas rápidas"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr "Si está deshabilitado, el fondo de las vistas rápidas tienen la misma opacidad que la del panel"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Botón de apagado y posición de los títulos"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Abajo"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Arriba"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Mostrar los títulos de las ventanas en las vistas rápidas"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Tamaño de letra (px) de los títulos de aplicación (14 por defecto)"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Color de letra de los títulos de aplicación"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Color de letra de los títulos de aplicación"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Habilitar ojeada rápida de ventana"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Al desplazar el ratón sobre una vista rápida de ventana, la ventana es "
+"resaltada."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Tiempo para activar el modo de ojeada rápida (ms)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr ""
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Tiempo de inactividad al desplazar el ratón sobre una vista rápida de "
+"ventana para activar el modo de ojeada rápida."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Opacidad del modo de ojeada rápida"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr ""
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr "Todas las ventanas excepto la resaltada tienen la misma opacidad fija."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Retraso entre eventos de desplazamiento del ratón (ms)"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr "Usar este valor para limitra el número de eventos de desplazamiento capturados del ratón"
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Súper"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Súper + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Prefijo de atajo de teclado"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Los atajos serán Súper+Núm. o Súper+Alt+Núm."
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Nunca"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Mostrar temporalmente"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Siempre visible"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Número de aplicación"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Al usar atajos, mostrar momentáneamente el número de aplicación sobre los "
+"íconos."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Tiempo de ocultación (ms)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "p.e. q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Atajo para mostrar el número de aplicación por 2 segundos"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Mostrar vista rápida de ventanas al pasar con el ratón"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Mostrar vistas previas cuando la aplicación tiene múltiples instancias"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Fila numérica"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Teclado numérico"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Ambos"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Usar atajos de teclado para activar aplicaciones"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr "Selecciona qué teclas numéricas se usan para activar los atajos de teclado"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Icono actual de Mostrar aplicaciones"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Seleccionar un icono Mostrar aplicaciones"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Icono Mostrar aplicaciones personalizado"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "Tamaño de relleno (px) de Mostrar aplicaciones"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Mostrar escritorio al colocar el botón Mostrar Escritorio"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Tiempo antes de ocultar el panel (ms)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Tiempo de ocultación (ms)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "La opacidad del fondo del panel está afectada por"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Cambiar la opacidad cuando una ventana se aproxima (px)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Cambiar la opacidad a (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Duración de las animaciones (ms)"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Posición del panel en la pantalla"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "A la izquierda"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "A la derecha"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Posición de la barra de tareas"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Posición del reloj"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "Mostrar el panel principal en"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Mostrar los paneles en todos los espacios de trabajo"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Ocultación inteligente del panel"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Ocultar y mostrar el panel de acuerdo con las preferencias"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Posición"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Tamaño del panel\n"
+"(48 por defecto)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Margen de los íconos\n"
+"(8 por defecto)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Relleno de los íconos\n"
+"(4 por defecto)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Posición de los indicadores de ejecución"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Estilo de los indicadores de ejecución (aplicación enfocada)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Puntos"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Cuadrados"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Guiones"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Segmentado"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Sólido"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Estilo de los indicadores de ejecución (aplicación no enfocada)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "Cambiar el color de fondo del tema del panel "
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "Cambiar la opacidad de fondo del tema del panel"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Opacidad del fondo del panel (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Opacidad dinámica del fondo"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Cambiar la opacidad cuando una ventana se aproxima al panel"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "Cambiar el gradiente del tema del panel"
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Color y opacidad del gradiente superior (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Color y opacidad del gradiente inferior (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Estilo"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Mostrar aplicaciones favoritas"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Mostrar aplicaciones en ejecución"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Mostrar el icono Aplicaciones"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Animar Mostrar Aplicaciones"
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Mostrar el botón Actividades"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Mostrar el botón Escritorio"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Mostrar el botón Menú de Aplicación"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Barra superior > Mostrar menú de aplicación habilitado en "
+"Herramienta de retoques."
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Mostrar vista rápida de ventanas al pasar con el ratón"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Mostrar barra de herramientas al pasar con el ratón"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Aislar los espacios de trabajo"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Desagrupar aplicaciones"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Comportamiento"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Comportamiento al pulsar el ícono de una aplicación en ejecución"
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Acción de pulsación"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Alternar ventanas"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Acción del panel de desplazamiento"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Comportamiento cuando el ratón de desplaza en el panel"
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Acción al desplazar iconos"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Comportamiento cuando el ratón se desplaza sobre el icono de una aplicación"
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "No hacer nada"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Cambiar espacio de trabajo"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Alternar entre ventanas"
+
+#: Settings.ui.h:205
+msgid "Change volume"
+msgstr "Cambiar el volumen"
+
+#: Settings.ui.h:206
+msgid "Same as panel"
+msgstr "La misma que el panel"
+
+#: Settings.ui.h:207
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Habilitar Súper+(0-9) como atajos para activar aplicaciones. También puede "
+"ser usado junto con Mayús. y Ctrl."
+
+#: Settings.ui.h:208
+msgid "Use hotkeys to activate apps"
+msgstr "Usar atajos de teclado para activar aplicaciones"
+
+#: Settings.ui.h:209
+msgid "Action"
+msgstr "Acción"
+
+#: Settings.ui.h:210
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tamaño de fuente en la bandeja del sistema\n"
+"(0 = predeterminado)"
+
+#: Settings.ui.h:212
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tamaño de fuente en la zona izquierda\n"
+"(0 = predeterminado)"
+
+#: Settings.ui.h:214
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Separación en la bandeja del sistema\n"
+"(-1 = predeterminado)"
+
+#: Settings.ui.h:216
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Separación de los íconos de estado\n"
+"(-1 = predeterminado)"
+
+#: Settings.ui.h:218
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Separación en la zona izquierda\n"
+"(-1 = predeterminado)"
+
+#: Settings.ui.h:220
+msgid "Animate switching applications"
+msgstr "Animar al cambiar de aplicación"
+
+#: Settings.ui.h:221
+msgid "Animate launching new windows"
+msgstr "Animar al abrir nuevas ventanas"
+
+#: Settings.ui.h:222
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Conservar el dash original de gnome-shell (vista principal)"
+
+#: Settings.ui.h:223
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "Activar los botones del menú del panel (p.e. menú de fecha) sólo al pulsar"
+
+#: Settings.ui.h:224
+msgid "Force Activities hot corner on primary monitor"
+msgstr "Forzar las actividades de la esquina 'caliente' en el monitor principal"
+
+#: Settings.ui.h:225
+msgid "App icon secondary (right-click) menu"
+msgstr "Menú secundario (click derecho) de aplicación"
+
+#: Settings.ui.h:227
+msgid "Fine-Tune"
+msgstr "Retoques"
+
+#: Settings.ui.h:228
+msgid "version: "
+msgstr "versión: "
+
+#: Settings.ui.h:229
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:230
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr "Usar los botones de abajo para crear el fichero de configuración con tus preferencias"
+"actuales para poder ser importadas de otra máquina."
+
+#: Settings.ui.h:231
+msgid "Export and import settings"
+msgstr "Exportar e importar configuración"
+
+#: Settings.ui.h:232
+msgid "Export to file"
+msgstr "Exportar a un fichero"
+
+#: Settings.ui.h:233
+msgid "Import from file"
+msgstr "Importar de un fichero"
+
+#: Settings.ui.h:234
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr "Esto te permite actualizar la extensión directamente del repositorio GitHub"
+
+#: Settings.ui.h:235
+msgid "Updates"
+msgstr "Actualizaciones"
+
+#: Settings.ui.h:236
+msgid "Periodically check for updates"
+msgstr "Comprobar periódicamente actualizaciones"
+
+#: Settings.ui.h:237
+msgid "Check now"
+msgstr "Comprobar ahora"
+
+#: Settings.ui.h:238
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"¡Sé consciente de que estas versiones "
+"oficiales de 'Dash to Panel' podrían no estar todavía revisadas en extensions.gnome.org!"
+" Leer más"
+
+#: Settings.ui.h:239
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Este programa viene SIN NINGUNA GARANTÍA.\n"
+"Consulte la Licencia Pública General de GNU, versión 2 o posterior para obtener "
+"más detalles."
+
+#: Settings.ui.h:241
+msgid "About"
+msgstr "Acerca de"
+
+#~ msgid "Highlight color"
+#~ msgstr "Color de resaltado"
+
+#~ msgid "Preview timeout on icon leave (ms)"
+#~ msgstr "Tiempo para cerrar la vista rápida (ms)"
+
+#~ msgid ""
+#~ "If set too low, the window preview of running applications may seem to "
+#~ "close too quickly when trying to enter the popup. If set too high, the "
+#~ "preview may linger too long when moving to an adjacent icon."
+#~ msgstr ""
+#~ "Si el valor es muy chico, la ventana de vista rápida parecerá cerrarse "
+#~ "muy rápidamente al intentar usar el menú. Si el valor es muy grande, la "
+#~ "vista rápida no desaparecerá al ir a un ícono adyacente."
+
+#~ msgid "Middle click to close window"
+#~ msgstr "Click central para cerrar ventana"
+
+#~ msgid "Width of the window previews (px)"
+#~ msgstr "Ancho de las vistas rápidas de ventanas (px)"
+
+#~ msgid "Height of the window previews (px)"
+#~ msgstr "Altura de las vistas rápidas de ventanas (px)"
+
+#~ msgid "Padding of the window previews (px)"
+#~ msgstr "Margen de las vistas rápidas de ventanas (px)"
+
+#~ msgid "Natural"
+#~ msgstr "Natural"
+
+#~ msgid "Left side of panel"
+#~ msgstr "Lado izquierdo del panel"
+
+#~ msgid "Centered in content"
+#~ msgstr "Centrado en el contenido"
+
+#~ msgid "Github"
+#~ msgstr "Github"
+
+msgid "Weekday"
+msgstr "Día de la semana"
+
+msgid "Date"
+msgstr "Fecha"
+
+msgid "Seconds"
+msgstr "Segundos"
diff --git a/po/et.po b/po/et.po
new file mode 100644
index 0000000..bfd6b14
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: et\n"
+
+msgid "System Monitor"
+msgstr "Süsteemijälgija"
+
+msgid "Files"
+msgstr "Failid"
+
+msgid "Settings"
+msgstr "Sätted"
diff --git a/po/eu.po b/po/eu.po
new file mode 100644
index 0000000..8ceaf5d
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: eu\n"
+
+msgid "System Monitor"
+msgstr "Sistemaren monitorea"
+
+msgid "Files"
+msgstr "Fitxategiak"
+
+msgid "Settings"
+msgstr "Ezarpenak"
diff --git a/po/fa.po b/po/fa.po
new file mode 100644
index 0000000..80c0a80
--- /dev/null
+++ b/po/fa.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: fa\n"
+
+msgid "System Monitor"
+msgstr "پایشگر سامانه"
+
+msgid "Files"
+msgstr "پروندهها"
+
+msgid "Settings"
+msgstr "تنظیمات"
diff --git a/po/fi.po b/po/fi.po
new file mode 100644
index 0000000..45f5c84
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: fi\n"
+
+msgid "System Monitor"
+msgstr "Järjestelmän valvonta"
+
+msgid "Files"
+msgstr "Tiedostot"
+
+msgid "Settings"
+msgstr "Asetukset"
diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..2f76f1a
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,1426 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+# Laurent Tréguier , 2019.
+# Charles Gagnon , 2019-2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: unnamed project\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-07-12 07:39-0400\n"
+"PO-Revision-Date: 2020-07-12 08:23-0400\n"
+"Last-Translator: Charles Gagnon \n"
+"Language-Team: French - Canada <>\n"
+"Language: fr_CA\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 3.36.0\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: prefs.js:206
+msgid "Show Desktop button height (px)"
+msgstr "Hauteur du bouton Afficher le Bureau (px)"
+
+#: prefs.js:206
+msgid "Show Desktop button width (px)"
+msgstr "Longueur du bouton Afficher le Bureau (px)"
+
+#: prefs.js:218
+msgid "Unavailable when gnome-shell top panel is present"
+msgstr "Indisponible quand le panneau de gnome-shell est présent"
+
+#: prefs.js:293
+msgid "Show Applications button"
+msgstr "Bouton Afficher les Applications"
+
+#: prefs.js:294
+msgid "Activities button"
+msgstr "Bouton Activités"
+
+#: prefs.js:295
+msgid "Taskbar"
+msgstr "Barre des tâches"
+
+#: prefs.js:296
+msgid "Date menu"
+msgstr "Horloge"
+
+#: prefs.js:297
+msgid "System menu"
+msgstr "Menu système"
+
+#: prefs.js:298
+msgid "Left box"
+msgstr "Zone gauche"
+
+#: prefs.js:299
+msgid "Center box"
+msgstr "Zone centre"
+
+#: prefs.js:300
+msgid "Right box"
+msgstr "Zone droite"
+
+#: prefs.js:301
+msgid "Desktop button"
+msgstr "Bouton Afficher le Bureau"
+
+#: prefs.js:307
+msgid "Move up"
+msgstr "Déplacer vers le haut"
+
+#: prefs.js:309
+msgid "Move down"
+msgstr "Déplacer vers le bas"
+
+#: prefs.js:311
+msgid "Visible"
+msgstr "Visible"
+
+#: prefs.js:312
+msgid "Select element position"
+msgstr "Sélectionner la position de l'élément"
+
+#: prefs.js:323
+msgid "Stacked to top"
+msgstr "Empilé en haut"
+
+#: prefs.js:323
+msgid "Stacked to left"
+msgstr "Empilé à gauche"
+
+#: prefs.js:324
+msgid "Stacked to bottom"
+msgstr "Empilé en bas"
+
+#: prefs.js:324
+msgid "Stacked to right"
+msgstr "Empilé à droite"
+
+#: prefs.js:325
+msgid "Centered"
+msgstr "Centré"
+
+#: prefs.js:326
+msgid "Monitor Center"
+msgstr "Centre de l'écran "
+
+#: prefs.js:345
+msgid "More options"
+msgstr "Plus d'options"
+
+#: prefs.js:369
+msgid "Show Applications options"
+msgstr "Options du bouton Afficher les Applications"
+
+#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1019
+#: prefs.js:1146 prefs.js:1405 prefs.js:1500 prefs.js:1565 prefs.js:1608
+#: prefs.js:1705 prefs.js:1739 prefs.js:1781
+msgid "Reset to defaults"
+msgstr "Restaurer paramètres"
+
+#: prefs.js:426
+msgid "Show Desktop options"
+msgstr "Options du bouton Afficher le Bureau"
+
+#: prefs.js:569
+msgid "Running Indicator Options"
+msgstr "Options de l'indicateur d'activité"
+
+#: prefs.js:732
+msgid "Primary monitor"
+msgstr "Écran principal"
+
+#: prefs.js:732
+msgid "Monitor "
+msgstr "Écran "
+
+#: prefs.js:887
+msgid "Dynamic opacity options"
+msgstr "Options d'opacité dynamique"
+
+#: prefs.js:1012
+msgid "Intellihide options"
+msgstr "Options du masquage intelligent"
+
+#: prefs.js:1139
+msgid "Window preview options"
+msgstr "Options de la prévisualisation"
+
+#: prefs.js:1398
+msgid "Ungrouped application options"
+msgstr "Options des applications dégroupées"
+
+#: prefs.js:1493
+msgid "Customize middle-click behavior"
+msgstr "Modifier l'action du clic de la molette"
+
+#: prefs.js:1558
+msgid "Customize panel scroll behavior"
+msgstr "Modifier l'action du défilement de la souris sur le panneau"
+
+#: prefs.js:1601
+msgid "Customize icon scroll behavior"
+msgstr "Modifier l'action du défilement de la souris sur une application"
+
+#: prefs.js:1698
+msgid "Advanced hotkeys options"
+msgstr "Raccourcis avancés"
+
+#: prefs.js:1732
+msgid "Secondary Menu Options"
+msgstr "Options du menu secondaire"
+
+#: prefs.js:1774 Settings.ui.h:226
+msgid "Advanced Options"
+msgstr "Options avancées"
+
+#: prefs.js:1877
+msgid "Export settings"
+msgstr "Exporter les paramètres"
+
+#: prefs.js:1894
+msgid "Import settings"
+msgstr "Importer des paramètres"
+
+#: appIcons.js:1431
+msgid "Show Details"
+msgstr "Afficher les détails"
+
+#: appIcons.js:1449
+msgid "New Window"
+msgstr "Nouvelle fenêtre"
+
+#: appIcons.js:1449 appIcons.js:1509 appIcons.js:1511 Settings.ui.h:10
+msgid "Quit"
+msgstr "Quitter"
+
+#: appIcons.js:1511
+msgid "Windows"
+msgstr "Fenêtres"
+
+#: appIcons.js:1858
+msgid "Unlock taskbar"
+msgstr "Déverrouiller la barre des tâches"
+
+#: appIcons.js:1858
+msgid "Lock taskbar"
+msgstr "Verrouiller la barre des tâches"
+
+#: appIcons.js:1863
+msgid "Taskbar Settings"
+msgstr "Paramètres de la barre des tâches"
+
+#: appIcons.js:1876
+msgid "Restore Windows"
+msgstr "Restaurer les fenêtres"
+
+#: appIcons.js:1876
+msgid "Show Desktop"
+msgstr "Afficher le bureau"
+
+#: update.js:48
+msgid "Unavailable when installed from extensions.gnome.org"
+msgstr "Indisponible lorsqu'installé depuis extensions.gnome.org"
+
+#: update.js:62
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "La version %s (%s) est disponible"
+
+#: update.js:63
+msgid "Details"
+msgstr "Détails"
+
+#: update.js:64
+msgid "Update"
+msgstr "Mettre à jour"
+
+#: update.js:67
+msgid "Already up to date"
+msgstr "Déjà à jour"
+
+#: update.js:75
+msgid "Error: "
+msgstr "Erreur: "
+
+#: update.js:168
+msgid "Update successful, please log out/in"
+msgstr ""
+"Mise à jour complétée avec succès, veuillez fermer/ouvrir votre session"
+
+#: update.js:169
+msgid "Log out"
+msgstr "Fermer la session"
+
+#: update.js:173
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Mise à jour complétée avec succès, veuillez redémarrer GNOME Shell"
+
+#: update.js:174
+msgid "Restart GNOME Shell"
+msgstr "Redémarrer GNOME Shell"
+
+#: update.js:174
+msgid "Restarting GNOME Shell..."
+msgstr "Redémarrage de GNOME Shell..."
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Rien pour l'instant !"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Quand minimiser est sélectionné, un double-clic réduit toutes les fenêtres "
+"de l'application."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Action Maj+Clic"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Montrer les fenêtres"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Réduire la fenêtre"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Lancer une nouvelle instance"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Cycler sur les fenêtres"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Cycler sur les fenêtres + réduire"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Prévisualisation simple / multiple"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Comportement du clic molette."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Action clic molette"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Comportement pour Maj+Clic molette."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Action de Maj+Clic molette"
+
+#: Settings.ui.h:15
+msgid "Integrate AppMenu items"
+msgstr "Intégrer les actions du Menu d'applications"
+
+#: Settings.ui.h:16
+msgid "Show Details menu item"
+msgstr "Menu Afficher les détails"
+
+#: Settings.ui.h:17
+msgid "Highlight focused application"
+msgstr "Surligner l'application active"
+
+#: Settings.ui.h:18
+msgid "Icon dominant color"
+msgstr "Couleur d'icône dominante"
+
+#: Settings.ui.h:19
+msgid "Custom color"
+msgstr "Couleur personnalisée"
+
+#: Settings.ui.h:20
+msgid "Highlight opacity"
+msgstr "Opacité du surlignement"
+
+#: Settings.ui.h:21
+msgid "Indicator size (px)"
+msgstr "Taille de l'indicateur (px)"
+
+#: Settings.ui.h:22
+msgid "Indicator color - Icon Dominant"
+msgstr "Couleur de l'indicateur - Icône dominante"
+
+#: Settings.ui.h:23
+msgid "Indicator color - Override Theme"
+msgstr "Couleur de l'indicateur - Remplacer le thème"
+
+#: Settings.ui.h:24
+msgid "1 window open (or ungrouped)"
+msgstr "1 fenêtre ouverte (ou dégroupée)"
+
+#: Settings.ui.h:25
+msgid "Apply to all"
+msgstr "Appliquer à tout"
+
+#: Settings.ui.h:26
+msgid "2 windows open"
+msgstr "2 fenêtres ouvertes"
+
+#: Settings.ui.h:27
+msgid "3 windows open"
+msgstr "3 fenêtres ouvertes"
+
+#: Settings.ui.h:28
+msgid "4+ windows open"
+msgstr "4+ fenêtres ouvertes"
+
+#: Settings.ui.h:29
+msgid "Use different for unfocused"
+msgstr "Style différent pour les applications inactives"
+
+#: Settings.ui.h:30
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Taille (px) du texte des titres d'application (défaut: 14)"
+
+#: Settings.ui.h:31
+msgid "Font weight of application titles"
+msgstr "Épaisseur de la police du texte des titres d'application"
+
+#: Settings.ui.h:32
+msgid "inherit from theme"
+msgstr "hériter du thème"
+
+#: Settings.ui.h:33
+msgid "normal"
+msgstr "normale"
+
+#: Settings.ui.h:34
+msgid "lighter"
+msgstr "plus légere"
+
+#: Settings.ui.h:35
+msgid "bold"
+msgstr "grasse"
+
+#: Settings.ui.h:36
+msgid "bolder"
+msgstr "plus grasse"
+
+#: Settings.ui.h:37
+msgid "Font color of the application titles"
+msgstr "Couleur du texte des titres d'application"
+
+#: Settings.ui.h:38
+msgid "Font color of the minimized application titles"
+msgstr "Couleur du texte des titres d'application de fenêtres minimisées"
+
+#: Settings.ui.h:39
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Longueur maximum (px) des titres d'application (défaut: 160)"
+
+#: Settings.ui.h:40
+msgid "Use a fixed width for the application titles"
+msgstr "Utiliser une largeur fixe pour les titres d'application"
+
+#: Settings.ui.h:41
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Les titres d'application ont tous la même longueur, même si leur texte est "
+"plus petit que la taille maximum. La valeur maximale de longueur est "
+"utilisée comme longueur fixe."
+
+#: Settings.ui.h:42
+msgid "Display running indicators on unfocused applications"
+msgstr "Afficher des indicateurs sur les applications an arrière-plan"
+
+#: Settings.ui.h:43
+msgid "Use the favorite icons as application launchers"
+msgstr "Utiliser les applications favorites comme lanceurs"
+
+#: Settings.ui.h:44
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Ne cacher le panneau que lorsqu'il est au-dessus d'une fenêtre "
+
+#: Settings.ui.h:45
+msgid "The panel hides from"
+msgstr "Le panneau se cache de"
+
+#: Settings.ui.h:46
+msgid "All windows"
+msgstr "Toutes les fenêtres"
+
+#: Settings.ui.h:47
+msgid "Focused windows"
+msgstr "Fenêtres au premier plan"
+
+#: Settings.ui.h:48
+msgid "Maximized windows"
+msgstr "Fenêtres maximisées"
+
+#: Settings.ui.h:49
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Requérir une pression sur le bord de l'écran pour afficher le panneau"
+
+#: Settings.ui.h:50
+msgid "Required pressure threshold (px)"
+msgstr "Seuil d'activation (px)"
+
+#: Settings.ui.h:51
+msgid "Required pressure timeout (ms)"
+msgstr "Délai d'activation (ms)"
+
+#: Settings.ui.h:52
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Permettre au panneau d'être affiché en mode plein écran"
+
+#: Settings.ui.h:53
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Ne cacher que les panneaux secondaires (multi-moniteurs)"
+
+#: Settings.ui.h:54
+msgid "e.g. i"
+msgstr "e.g. i"
+
+#: Settings.ui.h:55
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Raccourci clavier pour révéler et maintenir le panneau"
+
+#: Settings.ui.h:56
+msgid "Syntax: , , , "
+msgstr "Syntaxe: , , , "
+
+#: Settings.ui.h:57
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Durée des animations d'affichage (ms)"
+
+#: Settings.ui.h:58
+msgid "Delay before hiding the panel (ms)"
+msgstr "Délai avant le masquage du panneau (ms)"
+
+#: Settings.ui.h:59
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Délai avant l'activation du masquage intelligent (ms)"
+
+#: Settings.ui.h:60
+msgid "Time (ms) before showing (400 is default)"
+msgstr "Temps (ms) avant d'afficher (400 par défaut)"
+
+#: Settings.ui.h:61
+msgid "Animation time (ms)"
+msgstr "Durée d'animation (ms)"
+
+#: Settings.ui.h:62
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Temps (ms) avant de cacher (100 par défaut)"
+
+#: Settings.ui.h:63
+msgid "Immediate on application icon click"
+msgstr "Immédiat au clic d'application"
+
+#: Settings.ui.h:64
+msgid "Middle click on the preview to close the window"
+msgstr "Cliquez avec la molette sur la prévisualisation pour fermer la fenêtre"
+
+#: Settings.ui.h:65
+msgid "Window previews preferred size (px)"
+msgstr "Taille des prévisualisations de fenêtres (px)"
+
+#: Settings.ui.h:66
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Ratio d'aspect des prévisualisations (hauteur)"
+
+#: Settings.ui.h:67
+msgid "Window previews padding (px)"
+msgstr "Marge intérieure des prévisualisations (px)"
+
+#: Settings.ui.h:68
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:69
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:70
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:71
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:72
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:73
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:74
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:75
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:76
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:77
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:78
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:79
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:80
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:81
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:82
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:83
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:84
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:85
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:86
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:87
+msgid "20"
+msgstr "200"
+
+#: Settings.ui.h:88
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:89
+msgid "Fixed"
+msgstr "Fixé"
+
+#: Settings.ui.h:90
+msgid "Window previews aspect ratio X (width)"
+msgstr "Ratio d'aspect des prévisualisations (largeur)"
+
+#: Settings.ui.h:91
+msgid "Use custom opacity for the previews background"
+msgstr "Opacité personnalisée pour l'arrière plan des prévisualisations"
+
+#: Settings.ui.h:92
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr "Si désactivé, les prévisualisations ont la même opacité que le panneau"
+
+#: Settings.ui.h:93
+msgid "Close button and header position"
+msgstr "Bouton de fermeture et position de l'en-tête"
+
+#: Settings.ui.h:94
+msgid "Bottom"
+msgstr "Bas"
+
+#: Settings.ui.h:95
+msgid "Top"
+msgstr "Haut"
+
+#: Settings.ui.h:96
+msgid "Display window preview headers"
+msgstr "Afficher le titre de la fenêtre dans la prévis."
+
+#: Settings.ui.h:97
+msgid "Font size (px) of the preview titles"
+msgstr "Taille (px) du texte des prévisualisations"
+
+#: Settings.ui.h:98
+msgid "Font weight of the preview titles"
+msgstr "Épaisseur du texte des titres de prévisualisation"
+
+#: Settings.ui.h:99
+msgid "Font color of the preview titles"
+msgstr "Couleur du texte des titres de prévisualisation"
+
+#: Settings.ui.h:100
+msgid "Enable window peeking"
+msgstr "Activer la vue de fenêtre"
+
+#: Settings.ui.h:101
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Le survol sur la prévisualisation de la fenêtre, pendant un certain temps, "
+"la met en avant."
+
+#: Settings.ui.h:102
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Temps d'attente avant activation de la vue fenêtre"
+
+#: Settings.ui.h:103
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:104
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Temps d'inactivité pendant le survol de la prévisualisation d'une fenêtre "
+"nécessaire pour activer la vue de la fenêtre."
+
+#: Settings.ui.h:105
+msgid "Window peeking mode opacity"
+msgstr "Opacité de la vue de fenêtre"
+
+#: Settings.ui.h:106
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:107
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"Toutes les fenêtres, mis à part celle prévisualisée, ont leur opacité mise à "
+"la même valeur."
+
+#: Settings.ui.h:108
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Délai entre les évènements de défilement de la souris (ms)"
+
+#: Settings.ui.h:109
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr ""
+"Utiliser cette valeur pour limiter le nombre d'évènements de défilement de "
+"la souris (ms)"
+
+#: Settings.ui.h:110
+msgid "Show popup when changing workspace"
+msgstr "Afficher l'indicateur de changement d'espace de travail"
+
+#: Settings.ui.h:111
+msgid "This affects workspace popup when scrolling on the panel only."
+msgstr ""
+"Affecte uniquement l'indicateur de changement d'espace de travail au "
+"défilement de la souris sur le panneau."
+
+#: Settings.ui.h:112
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:113
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:114
+msgid "Hotkeys prefix"
+msgstr "Préfixe raccourcis"
+
+#: Settings.ui.h:115
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Les raccourcis seront soit Super+Numéro soit Super+Alt+Numéro"
+
+#: Settings.ui.h:116
+msgid "Never"
+msgstr "Jamais"
+
+#: Settings.ui.h:117
+msgid "Show temporarily"
+msgstr "Afficher temporairement"
+
+#: Settings.ui.h:118
+msgid "Always visible"
+msgstr "Toujours visible"
+
+#: Settings.ui.h:119
+msgid "Number overlay"
+msgstr "Superposition des nombres"
+
+#: Settings.ui.h:120
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Afficher temporairement les numéros des applications par dessus les icônes "
+"lors de l'utilisation des raccourcis."
+
+#: Settings.ui.h:121
+msgid "Hide timeout (ms)"
+msgstr "Délai avant de cacher (ms)"
+
+#: Settings.ui.h:122
+msgid "e.g. q"
+msgstr "e.g. q"
+
+#: Settings.ui.h:123
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Raccourci pour afficher la superposition pendant 2 secondes"
+
+#: Settings.ui.h:124
+msgid "Show window previews on hotkey"
+msgstr "Afficher les aperçus des fenêtres lors de l'utilisation d'un raccourci"
+
+#: Settings.ui.h:125
+msgid "Show previews when the application have multiple instances"
+msgstr ""
+"Afficher les aperçus lorsque les applications possèdent plusieurs fenêtres"
+
+#: Settings.ui.h:126
+msgid "Number row"
+msgstr "Rangée des chiffres"
+
+#: Settings.ui.h:127
+msgid "Numeric keypad"
+msgstr "Pavé numérique"
+
+#: Settings.ui.h:128
+msgid "Both"
+msgstr "Les deux"
+
+#: Settings.ui.h:129
+msgid "Hotkeys are activated with"
+msgstr "Les raccourcis sont activés par"
+
+#: Settings.ui.h:130
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr ""
+"Sélectionner quelles touches numériques sont utilisées pour activer les "
+"raccourcis"
+
+#: Settings.ui.h:131
+msgid "Current Show Applications icon"
+msgstr "Icône Afficher les Applications actuelle"
+
+#: Settings.ui.h:132
+msgid "Select a Show Applications image icon"
+msgstr "Sélectionner une icône Afficher les Applications"
+
+#: Settings.ui.h:133
+msgid "Custom Show Applications image icon"
+msgstr "Icône d'affichage des applications personnalisée"
+
+#: Settings.ui.h:134
+msgid "Show Applications icon side padding (px)"
+msgstr "Marge interne du bouton \"Afficher les Applications\""
+
+#: Settings.ui.h:135
+msgid "Override escape key and return to desktop"
+msgstr ""
+"Remplacer l'action de la touche d'échappement et retourner sur le bureau"
+
+#: Settings.ui.h:136
+msgid "Animate Show Applications."
+msgstr "Animer Afficher les applications."
+
+#: Settings.ui.h:137
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Révéler le bureau lors du survol du bouton \"Afficher le Bureau\""
+
+#: Settings.ui.h:138
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Délai avant affichage du bureau (ms)"
+
+#: Settings.ui.h:139
+msgid "Fade duration (ms)"
+msgstr "Durée du fondu (ms)"
+
+#: Settings.ui.h:140
+msgid "The panel background opacity is affected by"
+msgstr "L'opacité de l'arrière-plan du panneau est affectée par"
+
+#: Settings.ui.h:141
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Changer l'opacité lorsqu'une fenêtre est plus proche que (px)"
+
+#: Settings.ui.h:143
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Changer l'opacité à (%)"
+
+#: Settings.ui.h:144
+msgid "Opacity change animation duration (ms)"
+msgstr "Durée de l'animation de changement d'opacité (ms)"
+
+#: Settings.ui.h:145
+msgid "Display the main panel on"
+msgstr "Afficher le panneau principal sur"
+
+#: Settings.ui.h:146
+msgid "Display panels on all monitors"
+msgstr "Afficher le panneau principal sur tous les écrans"
+
+#: Settings.ui.h:147
+msgid "Panel Intellihide"
+msgstr "Masquage intelligent du panneau"
+
+#: Settings.ui.h:148
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Afficher/Cacher le panneau selon les préférences"
+
+#: Settings.ui.h:149
+msgid "Order and positions on monitor"
+msgstr "Ordre et positions de l'écran"
+
+#: Settings.ui.h:150
+msgid "Apply changes to all monitors"
+msgstr "Appliquer les changements sur tous les écrans"
+
+#: Settings.ui.h:151
+msgid "Panel screen position"
+msgstr "Position du panneau"
+
+#: Settings.ui.h:152
+msgid "Left"
+msgstr "Gauche"
+
+#: Settings.ui.h:153
+msgid "Right"
+msgstr "Droit"
+
+#: Settings.ui.h:154
+msgid "Position"
+msgstr "Position"
+
+#: Settings.ui.h:155
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Taille du panneau\n"
+"(la valeur par défaut est 48)"
+
+#: Settings.ui.h:157
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Marge ext. de l'icône d'application\n"
+"(la valeur par défaut est 8)"
+
+#: Settings.ui.h:159
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Marge int. de l'icône d'application\n"
+"(la valeur par défaut est 4)"
+
+#: Settings.ui.h:161
+msgid "Running indicator position"
+msgstr "Position de l'indicateur d'activité"
+
+#: Settings.ui.h:162
+msgid "Running indicator style (Focused app)"
+msgstr "Style de l'indicateur d'activité (Application active)"
+
+#: Settings.ui.h:163
+msgid "Dots"
+msgstr "Points"
+
+#: Settings.ui.h:164
+msgid "Squares"
+msgstr "Carrés"
+
+#: Settings.ui.h:165
+msgid "Dashes"
+msgstr "Traits"
+
+#: Settings.ui.h:166
+msgid "Segmented"
+msgstr "Segmenté"
+
+#: Settings.ui.h:167
+msgid "Solid"
+msgstr "Solide"
+
+#: Settings.ui.h:168
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:169
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:170
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Style de l'indicateur d'activité (Applications inactives)"
+
+#: Settings.ui.h:171
+msgid "Override panel theme background color "
+msgstr "Remplacer la couleur de fond du thème du panneau "
+
+#: Settings.ui.h:172
+msgid "Override panel theme background opacity"
+msgstr "Remplacer l'opacité du thème du panneau"
+
+#: Settings.ui.h:174
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Opacité du fond du panneau"
+
+#: Settings.ui.h:175
+msgid "Dynamic background opacity"
+msgstr "Opacité de fond dynamique"
+
+#: Settings.ui.h:176
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Changer l'opacité lorsqu'une fenêtre s'approche du panneau"
+
+#: Settings.ui.h:177
+msgid "Override panel theme gradient "
+msgstr "Remplacer le gradient du thème du panneau "
+
+#: Settings.ui.h:179
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Couleur et opacité (%) du haut du gradient"
+
+#: Settings.ui.h:181
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Couleur et opacité (%) du bas du gradient"
+
+#: Settings.ui.h:182
+msgid "Style"
+msgstr "Style"
+
+#: Settings.ui.h:183
+msgid "Show favorite applications"
+msgstr "Afficher les applications favorites"
+
+#: Settings.ui.h:184
+msgid "Show running applications"
+msgstr "Afficher les applications ouvertes"
+
+#: Settings.ui.h:185
+msgid "Show favorite applications on secondary panels"
+msgstr "Afficher les applications favorites sur les panneaux secondaires"
+
+#: Settings.ui.h:186
+msgid "Show AppMenu button"
+msgstr "Afficher le bouton Menu d'Applications"
+
+#: Settings.ui.h:187
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Barre supérieure > Afficher le menu de l'application doit être activé dans "
+"Ajustements"
+
+#: Settings.ui.h:188
+msgid "Show window previews on hover"
+msgstr "Afficher les aperçus des fenêtres lors du survol"
+
+#: Settings.ui.h:189
+msgid "Show tooltip on hover"
+msgstr "Afficher les bulles d'info. lors du survol"
+
+#: Settings.ui.h:190
+msgid "Isolate Workspaces"
+msgstr "Isoler les espaces de travail"
+
+#: Settings.ui.h:191
+msgid "Isolate monitors"
+msgstr "Isoler les écrans"
+
+#: Settings.ui.h:192
+msgid "Ungroup applications"
+msgstr "Dégrouper les applications"
+
+#: Settings.ui.h:193
+msgid "Behavior"
+msgstr "Comportement"
+
+#: Settings.ui.h:194
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Comportement lors du clic sur l'icône d'une application lancée."
+
+#: Settings.ui.h:195
+msgid "Click action"
+msgstr "Action du clic"
+
+#: Settings.ui.h:196
+msgid "Toggle windows"
+msgstr "Basculer les fenêtres"
+
+#: Settings.ui.h:197
+msgid "Scroll panel action"
+msgstr "Action du défilement de la souris sur le panneau"
+
+#: Settings.ui.h:198
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Comportement lors du défilement de la souris sur le panneau"
+
+#: Settings.ui.h:199
+msgid "Scroll icon action"
+msgstr "Action du défilement de la souris sur une application"
+
+#: Settings.ui.h:200
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Comportement lors du défilement de la souris sur une application"
+
+#: Settings.ui.h:201
+msgid "Do nothing"
+msgstr "Ne rien faire"
+
+#: Settings.ui.h:202
+msgid "Switch workspace"
+msgstr "Défiler les espaces de travail"
+
+#: Settings.ui.h:203
+msgid "Cycle windows"
+msgstr "Défiler les fenêtres"
+
+#: Settings.ui.h:204
+msgid "Change volume"
+msgstr "Changer le volume"
+
+#: Settings.ui.h:205
+msgid "Same as panel"
+msgstr "Comme le panneau"
+
+#: Settings.ui.h:206
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Activer Super+(0-9) comme raccourcis pour lancer les applications. Maj et "
+"Ctrl peuvent aussi être utilisés."
+
+#: Settings.ui.h:207
+msgid "Use hotkeys to activate apps"
+msgstr "Utiliser des raccourcis pour lancer les applications"
+
+#: Settings.ui.h:208
+msgid "Action"
+msgstr "Action"
+
+#: Settings.ui.h:209
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Taille de la police\n"
+"(0 = par défaut)"
+
+#: Settings.ui.h:211
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Taille de la police de la zone de gauche\n"
+"(0 = par défaut)"
+
+#: Settings.ui.h:213
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Marge des éléments de la barre d'état\n"
+"(-1 = par défaut)"
+
+#: Settings.ui.h:215
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Marge des icônes de statut\n"
+"(-1 = par défaut)"
+
+#: Settings.ui.h:217
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Marge de la zone de gauche\n"
+"(-1 = par défaut)"
+
+#: Settings.ui.h:219
+msgid "Animate switching applications"
+msgstr "Animer le changement d'application"
+
+#: Settings.ui.h:220
+msgid "Animate launching new windows"
+msgstr "Animer le lancement de nouvelles fenêtres"
+
+#: Settings.ui.h:221
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Garder le lanceur d'origine de gnome-shell (activités)"
+
+#: Settings.ui.h:222
+msgid "Force Activities hot corner on primary monitor"
+msgstr "Forcer le coin actif des Activités sur l'écran principal"
+
+#: Settings.ui.h:223
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "Activer les menus du panneau seulement au clic"
+
+#: Settings.ui.h:224
+msgid "Keep original gnome-shell top panel"
+msgstr "Garder le panneau d'origine de gnome-shell"
+
+#: Settings.ui.h:225
+msgid "App icon secondary (right-click) menu"
+msgstr "Menu secondaire de l'application (clic droit)"
+
+#: Settings.ui.h:227
+msgid "Fine-Tune"
+msgstr "Personnalisation"
+
+#: Settings.ui.h:228
+msgid "version: "
+msgstr "version: "
+
+#: Settings.ui.h:229
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:230
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Utiliser les boutons ci-dessous pour créer un fichier de paramètres à partir "
+"de vos préférences actuelles qui pourra être importé sur une autre machine."
+
+#: Settings.ui.h:231
+msgid "Export and import settings"
+msgstr "Import et export de paramètres"
+
+#: Settings.ui.h:232
+msgid "Export to file"
+msgstr "Exporter vers un fichier"
+
+#: Settings.ui.h:233
+msgid "Import from file"
+msgstr "Importer à partir d'un fichier"
+
+#: Settings.ui.h:234
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Ceci vous permet de mettre l'extension à jour directement depuis GitHub"
+
+#: Settings.ui.h:235
+msgid "Updates"
+msgstr "Mises à jour"
+
+#: Settings.ui.h:236
+msgid "Periodically check for updates"
+msgstr "Vérifier périodiquement les mises à jour"
+
+#: Settings.ui.h:237
+msgid "Check now"
+msgstr "Vérifier maintenant"
+
+#: Settings.ui.h:238
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Soyez avisé, ces versions "
+"officielles de Dash to Panel n'ont peut-être pas encore été approuvées sur "
+"extensions.gnome.org! En savoir plus"
+
+#: Settings.ui.h:239
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Ce programme est fourni SANS AUCUNE GARANTIE.\n"
+"Pour plus de détails, visitez la Licence publique générale GNU, version 2 ou "
+"ultérieure"
+
+#: Settings.ui.h:241
+msgid "About"
+msgstr "À propos"
+
+#~ msgid "Top, with plugin icons collapsed to bottom"
+#~ msgstr "En haut, et placer les icônes de plugins au bas"
+
+#~ msgid "Left, with plugin icons collapsed to right"
+#~ msgstr "À gauche, et placer les icônes de plugins sur la droite"
+
+#~ msgid "Top, with fixed center plugin icons"
+#~ msgstr "En haut, et fixer les icônes de plugins au centre"
+
+#~ msgid "Left, with fixed center plugin icons"
+#~ msgstr "À gauche, et fixer les icônes de plugins au centre"
+
+#~ msgid "Top, with floating center plugin icons"
+#~ msgstr "En haut, et laisser flotter les icônes de plugins au centre"
+
+#~ msgid "Left, with floating center plugin icons"
+#~ msgstr "À gauche, et laisser flotter les icônes de plugins au centre"
+
+#~ msgid "Center, fixed in middle of monitor"
+#~ msgstr "Centrer, et fixer au milieu de l'écran"
+
+#~ msgid "Center, floating between top and bottom elements"
+#~ msgstr "Centrer, et laisser flotter entre les éléments du haut et du bas"
+
+#~ msgid "Center, floating between left and right elements"
+#~ msgstr "Centrer, et laisser flotter entre les éléments à gauche et à droite"
+
+#~ msgid "Top of plugin icons"
+#~ msgstr "En haut des icônes de plugins"
+
+#~ msgid "Left of plugin icons"
+#~ msgstr "À gauche des icônes de plugins"
+
+#~ msgid "Bottom of plugin icons"
+#~ msgstr "En bas des icônes de plugins"
+
+#~ msgid "Right of plugin icons"
+#~ msgstr "À droite des icônes de plugins"
+
+#~ msgid "Top of system indicators"
+#~ msgstr "En haut du menu système"
+
+#~ msgid "Left of system indicators"
+#~ msgstr "À gauche du menu système"
+
+#~ msgid "Bottom of system indicators"
+#~ msgstr "En bas du menu système"
+
+#~ msgid "Right of system indicators"
+#~ msgstr "À droite du menu système"
+
+#~ msgid "Left of taskbar"
+#~ msgstr "À gauche de la barre des tâches"
+
+#~ msgid "Bottom of taskbar"
+#~ msgstr "En bas de la barre des tâches"
+
+#~ msgid "Right of taskbar"
+#~ msgstr "À droite de la barre des tâches"
+
+#~ msgid "Multi-monitors options"
+#~ msgstr "Options multi-écran"
+
+#~ msgid "Event logs"
+#~ msgstr "Journaux d'évènements"
+
+#~ msgid "System"
+#~ msgstr "Système"
+
+#~ msgid "Device Management"
+#~ msgstr "Gestionnaire de périphériques"
+
+#~ msgid "Disk Management"
+#~ msgstr "Gestionnaire de disques"
+
+#~ msgid "Terminal"
+#~ msgstr "Terminal"
+
+#~ msgid "Extensions"
+#~ msgstr "Extensions"
+
+#~ msgid "Display favorite applications on all monitors"
+#~ msgstr "Afficher les applications favorites sur tous les écrans"
+
+#~ msgid "Display the clock on all monitors"
+#~ msgstr "Afficher l'horloge sur tous les écrans"
+
+#~ msgid "Display the status menu on all monitors"
+#~ msgstr "Afficher le menu système sur tous les écrans"
+
+#~ msgid "Taskbar position"
+#~ msgstr "Position de la barre des tâches"
+
+#~ msgid "Clock location"
+#~ msgstr "Position de l'horloge"
+
+#~ msgid "Show Applications icon"
+#~ msgstr "Afficher l'icône Applications"
+
+#~ msgid "Highlight color"
+#~ msgstr "Couleur de surlignement"
+
+#~ msgid "Preview timeout on icon leave (ms)"
+#~ msgstr "Délai de l'aperçu lorsqu'on quitte l'icône (ms)"
+
+#~ msgid ""
+#~ "If set too low, the window preview of running applications may seem to "
+#~ "close too quickly when trying to enter the popup. If set too high, the "
+#~ "preview may linger too long when moving to an adjacent icon."
+#~ msgstr ""
+#~ "Si trop bas, l'aperçu des fenêtres des applications actives peut sembler "
+#~ "se fermer trop vite quand on essaie de cliquer sur l'aperçu. Si trop "
+#~ "haut, l'aperçu peut rester trop longtemps quand on passe à une icône "
+#~ "adjacente."
+
+#~ msgid "Middle click to close window"
+#~ msgstr "Cliquez avec la molette pour fermer la fenêtre"
+
+#~ msgid "Width of the window previews (px)"
+#~ msgstr "Largeur des aperçus des fenêtres lors du survol (px)"
+
+#~ msgid "Height of the window previews (px)"
+#~ msgstr "Hauteur des aperçus des fenêtres lors du survol (px)"
+
+#~ msgid "Padding of the window previews (px)"
+#~ msgstr "Marge des prévisualisations (px)"
+
+#~ msgid "Natural"
+#~ msgstr "Naturelle"
+
+#~ msgid "Left side of panel"
+#~ msgstr "Côté gauche de la barre"
+
+#~ msgid "Centered in content"
+#~ msgstr "Centré sur le contenu"
+
+#~ msgid "Github"
+#~ msgstr "GitHub"
+
+msgid "Weekday"
+msgstr "Jour de semaine"
+
+msgid "Date"
+msgstr "Date"
+
+msgid "Seconds"
+msgstr "Secondes"
+
+msgid "System Monitor"
+msgstr "Moniteur système"
+
+msgid "Files"
+msgstr "Fichiers"
+
+msgid "Settings"
+msgstr "Paramètres"
diff --git a/po/fur.po b/po/fur.po
new file mode 100644
index 0000000..c187053
--- /dev/null
+++ b/po/fur.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: fur\n"
+
+msgid "System Monitor"
+msgstr "Monitor di sisteme"
+
+msgid "Files"
+msgstr "File"
+
+msgid "Settings"
+msgstr "Impostazions"
diff --git a/po/ga.po b/po/ga.po
new file mode 100644
index 0000000..08719f2
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ga\n"
+
+msgid "System Monitor"
+msgstr "Monatóir an Chórais"
+
+msgid "Files"
+msgstr "Comhaid"
+
+msgid "Settings"
+msgstr "Socruithe"
diff --git a/po/gd.po b/po/gd.po
new file mode 100644
index 0000000..a053e58
--- /dev/null
+++ b/po/gd.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: gd\n"
+
+msgid "System Monitor"
+msgstr "Monatair an t-siostaim"
+
+msgid "Files"
+msgstr "Faidhlichean"
+
+msgid "Settings"
+msgstr "Roghainnean"
diff --git a/po/gl.po b/po/gl.po
new file mode 100644
index 0000000..4941be8
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,1312 @@
+# Dash to Panel Spanish translation.
+# This file is distributed under the same license as the Dash to Panel package.
+# Fran Dieguez , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dash-to-panel\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-04-08 09:47-0400\n"
+"PO-Revision-Date: 2020-10-05 23:24+0200\n"
+"Last-Translator: Fran Dieguez \n"
+"Language-Team: Galician >\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 3.36.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Arriba, coas iconas contraídas"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "Á esquerda, coas iconas contraídas á dereita"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Arriba, coas iconas fixas centradas"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "Á esquerda, coas iconas fixas centradas"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Arriba, coas iconas flotantes centradas"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "Á esquerda, coas iconas flotantes centradas"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Centrado, fixo no medio do monitor"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Centrado, flotando entre os elementos superiores e inferiores"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Centrado, flotando entre os elementos da esquerda e dereita"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "Enriba das iconas"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "Á esquerda das iconas"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "Embaixo das iconas"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "Á dereita das iconas"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "Enriba dos indicadores do sistema"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "Á esquerda dos indicadores do sistema"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "Embaixo dos indicadores do sistema"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "Á dereita dos indicadores do sistema"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "Enriba da barra de tarefas"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "Á esquerda da barra de tarefas"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "Embaixo da barra de tareas"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "Á dereita da barra de tareas"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "Alto do botón Mostrar Escritorio (px)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "Ancho do botón Mostrar Escritorio (px)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Opcións do indicador de execución"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1084 prefs.js:1331 prefs.js:1415 prefs.js:1480
+#: prefs.js:1516 prefs.js:1613 prefs.js:1647 prefs.js:1689
+msgid "Reset to defaults"
+msgstr "Restabelecer os valores predeterminados"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Por defecto (Monitor principal)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Monitor"
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Opcións de multimonitores"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Opcións de opacidade dinámica"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Opcións de «Intellihide»"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "Mostrar as opciones de aplicación"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "Mostrar o Escritorio"
+
+#: prefs.js:1077
+msgid "Window preview options"
+msgstr "Opcións de vista rápida de xanelas"
+
+#: prefs.js:1324
+msgid "Ungrouped application options"
+msgstr "Opcións de xanelas non combinadas"
+
+#: prefs.js:1408
+msgid "Customize middle-click behavior"
+msgstr "Personalizar comportamento do botón central"
+
+#: prefs.js:1473
+msgid "Customize panel scroll behavior"
+msgstr "Personalizar comportamento do desplazamento do panel"
+
+#: prefs.js:1509
+msgid "Customize icon scroll behavior"
+msgstr "Personalizar comportamento do desplazamento das iconas"
+
+#: prefs.js:1606
+msgid "Advanced hotkeys options"
+msgstr "Opcións avanzadas de atallos de teclado"
+
+#: prefs.js:1640
+msgid "Secondary Menu Options"
+msgstr "Opcións do menú secundario"
+
+#: prefs.js:1682 Settings.ui.h:226
+msgid "Advanced Options"
+msgstr "Opcións avanzadas"
+
+#: prefs.js:1774
+msgid "Export settings"
+msgstr "Exportar configuracións"
+
+#: prefs.js:1791
+msgid "Import settings"
+msgstr "Importar configuracións"
+
+#: appIcons.js:1411
+msgid "Show Details"
+msgstr "Mostrar detalles"
+
+#: appIcons.js:1429
+msgid "New Window"
+msgstr "Xanela nova"
+
+#: appIcons.js:1429 appIcons.js:1489 appIcons.js:1491 Settings.ui.h:10
+msgid "Quit"
+msgstr "Saír"
+
+#: appIcons.js:1491
+msgid "Windows"
+msgstr "Xanelas"
+
+#: appIcons.js:1745
+msgid "Power options"
+msgstr "Opcións de enerxía"
+
+#: appIcons.js:1750
+msgid "Event logs"
+msgstr "Rexistros do sistema"
+
+#: appIcons.js:1755
+msgid "System"
+msgstr "Sistema"
+
+#: appIcons.js:1760
+msgid "Device Management"
+msgstr "Xestión de dispositivo"
+
+#: appIcons.js:1765
+msgid "Disk Management"
+msgstr "Xestión de discos"
+
+#: appIcons.js:1773
+msgid "Terminal"
+msgstr "Terminal"
+
+#: appIcons.js:1778
+msgid "System Monitor"
+msgstr "Monitor do sistema"
+
+#: appIcons.js:1783
+msgid "Files"
+msgstr "Ficheiros"
+
+#: appIcons.js:1788
+msgid "Extensions"
+msgstr "Extensións"
+
+#: appIcons.js:1793
+msgid "Settings"
+msgstr "Preferencias"
+
+#: appIcons.js:1800
+msgid "Unlock taskbar"
+msgstr "Desbloquear barra de tarefas"
+
+#: appIcons.js:1800
+msgid "Lock taskbar"
+msgstr "Bloquear barra de tarefas"
+
+#: appIcons.js:1805
+msgid "Taskbar Settings"
+msgstr "Opcións de la barra de tarefas"
+
+#: appIcons.js:1818
+msgid "Restore Windows"
+msgstr "Restaurar xanelas"
+
+#: appIcons.js:1818
+msgid "Show Desktop"
+msgstr "Mostrar o Escritorio"
+
+#: update.js:48
+msgid "Unavailable when installed from extensions.gnome.org"
+msgstr "Non dispoñíbel cando se instala desde extensions.gnome.org"
+
+#: update.js:62
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "A versión %s (%s) está dispoñíbel"
+
+#: update.js:63
+msgid "Details"
+msgstr "Mostrar detalles"
+
+#: update.js:64
+msgid "Update"
+msgstr "Actualizar"
+
+#: update.js:67
+msgid "Already up to date"
+msgstr "Xa está actualizado"
+
+#: update.js:75
+msgid "Error: "
+msgstr "Erro: "
+
+#: update.js:168
+msgid "Update successful, please log out/in"
+msgstr "Actualización correcta, por favor, peche e inicie sesión"
+
+#: update.js:169
+msgid "Log out"
+msgstr "Pechar sesión"
+
+#: update.js:173
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Actualización correcta, por favor, restaure GNOME Shell"
+
+#: update.js:174
+msgid "Restart GNOME Shell"
+msgstr "Reiniciar GNOME Shell"
+
+#: update.js:174
+msgid "Restarting GNOME Shell..."
+msgstr "Reiniciando GNOME Shel..."
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Aínda nada!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Cuando está a minimizar, doble pulsación minimiza todas as xanelas da "
+"aplicación."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Acción de Maiúsculas+Click"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Elevar xanelas"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Minimizar xanelas"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Lanzar unha nova xanela"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Alternar entre xanelas"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Alternar xanelas e minimizar"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Trocar entre simple e vista rápida múltiple"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Comportamento do botón central"
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Acción do botón central"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Comportamento para Maiúsculas+Botón-Central"
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Acción de Maiúsculas+Botón-Central"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Illar os espazos de traballo"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Mostrar aplicacións favoritas en todos os espazos de traballo"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Mostrar reloxo en todos os espazos de traballo"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Mostrar o menú de estado en todos os espazos de traballo"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Integrar os elementos do Menú de aplicación"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Mostrar detalles do menú de elementos"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Realzar a aplicación activa"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Color da icona predominante"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Cor personalizado"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Opacidade de realzado"
+
+#: Settings.ui.h:25
+msgid "Indicator size (px)"
+msgstr "Tamaño do indicador (px)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Cor do indicador - Predominar a icona"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Color do indicador - Predominar sobre o tema"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 xanela aberta (ou non combinada)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Aplicar a todo"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 xanelas abertas"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 xanelas abertas"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4+ xanelas abertas"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Usar diferente para desenfoque"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Tamaño da fonte (px) para os títulos de aplicación (14 por defecto)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Tamaño da fonte para os títulos de aplicación"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "herdado do tema"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "normal"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "máis fino"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "en negriña"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "máis en negriña"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Cor de letra dos títulos de aplicación"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Ancho máximo (px) dos títulos de aplicación (160 por defecto)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Usar ancho fixo para os títulos de aplicación"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Todos os títulos de aplicación teñen o mesmo ancho, aínda se o seu texto é "
+"máis curto que o ancho máximo. O ancho máximo é usado como valor fixo."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Estilo dos indicadores de execución (aplicación non enfocada)"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "Usar as iconas favoritas como lanzadores de aplicación"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Esconder o panel sólo cando é obstruido por xanelas"
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "O panel escóndese de"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Todas as xanelas"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Xanelas enfocadas"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Xanelas maximizadas"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Requirir presión no bordo da pantalla para mostrar o panel"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Presión mínima requirida (px)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Tempo de activación por presión (ms)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "En modo pantalla completa, permitir que o panel sexa mostrado"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Ocultar só os paneis secundarios (require opción multi-monitor)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "p.ex. i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Atallos do teclado para mostrar e manter o panel"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Sintaxe: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Duración de ocultar e mostrar animacións (ms)"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Tempo antes de ocultar o panel (ms)"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Tempo antes de activar o panel intelixente (ms)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Tempo (ms) antes de mostrar (100 por defecto)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Tempo da animación (ms)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Tempo (ms) antes de ocultar (100 por defecto)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Pulsación inmediata en icona de aplicación"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr "Usar o botón central na vista rápida para cerrar a xanela"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Tamaño por defecto das vistas rápidas (px)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Altura da vista rápida de xanelas"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Recheo (px) da vista rápida de xanelas"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr "Fixa"
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Anchura da vista rápida de xanelas"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Usar opacidade personalizada para o fondo das vistas rápidas"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr ""
+"Se está desactivado, o fondo dos vistas rápidas teñen a mesma opacidade que "
+"a do panel"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Botón de apagado e posición dos títulos"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Abaixo"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Enriba"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Mostrar os títulos das xanelas nas vistas rápidas"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Tamaño de letra (px) dos títulos de aplicación (14 por defecto)"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Color de letra dos títulos de aplicación"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Color de letra dos títulos de aplicación"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Activar ollada rápida de xanela"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Al desprazxar o rato sobre unha vista rápida de xanela, a xanela reálzase."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Tempo para activar o modo de ollada rápida (ms)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Tempo de inactividade ao desprazar o rato sobre unha vista rápida de xanela "
+"para activar o modo de ollada rápida."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Opacidad do modo de ollada rápida"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr "Todas as xanelas excepto a resaltada ten a mesma opacidade fixa."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Atraso entre eventos de desprazamento do rato (ms)"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr ""
+"Usar este valor para limitar o número de eventos de desprazamento capturados "
+"do rato"
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Prefixo de atallo de teclado"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Os atallos serán Super+Núm. ou Super+Alt+Núm."
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Nunca"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Mostrar temporalmente"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Sempre visíbel"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Número de aplicación"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Ao usar atallos, mostrar momentaneamente o número de aplicación sobre as "
+"iconas."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Tempo de ocultación (ms)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "p.e. q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Atallo para mostrar o número de aplicación por 2 segundos"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Mostrar vista rápida de xanelas ao pasar co rato"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Mostrar vistas previas cando a aplicación ten múltiples instancias"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Fila numérica"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Teclado numérico"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Ambos"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Usar atallos de teclado para activar aplicacións"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr ""
+"Selecciona qué teclas numéricas se usan para activar os atallos de teclado"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Icona actual de Mostrar aplicacións"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Seleccionar icona personalizada para Mostrar aplicacións"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Imaxe da icona personalizada de Mostrar aplicacións"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "Recheo lateral da icona de Mostrar aplicacións (px)"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr ""
+"Mostrar escritorio ao colocar pasar por enriba do botón Mostrar Escritorio"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Tempo antes de mostrar o escritorio (ms)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Duración de esvaecemento (ms)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "A opacidade do fondo do panel está afectada por"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Cambiar a opacidade cando unha xanela se aproxima (px)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Cambiar a opacidade a (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Duración das animacións de cambio de opacidade (ms)"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Posición do panel na pantalla"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "Á esquerda"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "Á dereita"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Posición da barra de tarefas"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Posición do reloxo"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "Mostrar o panel principal en"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Mostrar os paneles en todos os espazos de traballo"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Ocultación intelixente do panel"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Ocultar e mostrar o panel de acordo coas preferencias"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Posición"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Tamaño do panel\n"
+"(48 por defecto)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Marxe das iconas\n"
+"(8 por defecto)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Recheo das iconas\n"
+"(4 por defecto)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Posición dos indicadores de execución"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Estilo dos indicadores de execución (aplicación enfocada)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Puntos"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Cadrados"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Guións"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Segmentado"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Sólido"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Estilo dos indicadores de execución (aplicación non enfocada)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "Cambiar a cor de fondo do tema do panel "
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "Cambiar a opacidade de fondo do tema do panel"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Opacidade do fondo do panel (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Opacidade dinámica do fondo"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Cambiar a opacidade cando unha xanela se aproxima ao panel"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "Cambiar o gradiente do tema do panel"
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Color e opacidade do gradiente superior (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Color e opacidadd do gradiente inferior (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Estilo"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Mostrar aplicacións favoritas"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Mostrar aplicacións en execución"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Mostrar a icona de Aplicacións"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Animar Mostrar Aplicacións"
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Mostrar o botón Actividades"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Mostrar o botón Escritorio"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Mostrar o botón Menú de Aplicación"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Barra superior > Mostrar menú de aplicación habilitado en Ferramenta de "
+"retoques."
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Mostrar vista rápida de xanelas ao pasar co rató"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Mostrar barra de ferramentas al pasar co rato"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Illar os espazos de traballo"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Desagrupar aplicacións"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Comportamento"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Comportamento ao pulsar a icona dunha aplicación en execución"
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Acción de pulsación"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Trocar xanelas"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Acción do panel de desprazamento"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Comportamento cando o rato se desplaza no panel"
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Acción ao desplazar iconas"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Comportamento cando o rató se desplaza sobre a icona dunha aplicación"
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "Non facer nada"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Cambiar espazo de traballo"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Trocar entre xanelas"
+
+#: Settings.ui.h:205
+msgid "Change volume"
+msgstr "Cambiar o volume"
+
+#: Settings.ui.h:206
+msgid "Same as panel"
+msgstr "A mesma que o panel"
+
+#: Settings.ui.h:207
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Activar Super+(0-9) como atallos para activar aplicacións. Tamén pode ser "
+"usado xunto con Maiús. e Ctrl."
+
+#: Settings.ui.h:208
+msgid "Use hotkeys to activate apps"
+msgstr "Usar atallos de teclado para activar aplicacións"
+
+#: Settings.ui.h:209
+msgid "Action"
+msgstr "Acción"
+
+#: Settings.ui.h:210
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tamaño do tipo de letra na bandexa do sistema\n"
+"(0 = predeterminado)"
+
+#: Settings.ui.h:212
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tamaño do tipo de letra na zona esquerda\n"
+"(0 = predeterminado)"
+
+#: Settings.ui.h:214
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Separación na bandexa do sistema\n"
+"(-1 = predeterminado)"
+
+#: Settings.ui.h:216
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Separación das iconas de estado\n"
+"(-1 = predeterminado)"
+
+#: Settings.ui.h:218
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Separación na zona esquerda\n"
+"(-1 = predeterminado)"
+
+#: Settings.ui.h:220
+msgid "Animate switching applications"
+msgstr "Animar ao cambiar de aplicación"
+
+#: Settings.ui.h:221
+msgid "Animate launching new windows"
+msgstr "Animar ao abrir novas xanelas"
+
+#: Settings.ui.h:222
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Conservar o dash original de gnome-shell (vista principal)"
+
+#: Settings.ui.h:223
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "Activar os botóns do menú do panel (p.ex. menú de frecha) só ao pulsar"
+
+#: Settings.ui.h:224
+msgid "Force Activities hot corner on primary monitor"
+msgstr "Forzar as actividades da esquina 'quente' no monitor principal"
+
+#: Settings.ui.h:225
+msgid "App icon secondary (right-click) menu"
+msgstr "Menú secundario (clic dereito) de aplicación"
+
+#: Settings.ui.h:227
+msgid "Fine-Tune"
+msgstr "Retoques"
+
+#: Settings.ui.h:228
+msgid "version: "
+msgstr "versión: "
+
+#: Settings.ui.h:229
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:230
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Usar os botóns de abaixo para crear o fichero de configuración coas súas "
+"preferencias actuais para poder ser importadas de outra máquina."
+
+#: Settings.ui.h:231
+msgid "Export and import settings"
+msgstr "Exportar e importar configuración"
+
+#: Settings.ui.h:232
+msgid "Export to file"
+msgstr "Exportar a un ficheiro"
+
+#: Settings.ui.h:233
+msgid "Import from file"
+msgstr "Importar dun ficheiro"
+
+#: Settings.ui.h:234
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Isto permítelle actualizar a extensión directamente do repositorio GitHub"
+
+#: Settings.ui.h:235
+msgid "Updates"
+msgstr "Actualizacións"
+
+#: Settings.ui.h:236
+msgid "Periodically check for updates"
+msgstr "Comprobar periódicamente actualizacións"
+
+#: Settings.ui.h:237
+msgid "Check now"
+msgstr "Comprobar agora"
+
+#: Settings.ui.h:238
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"¡Sé consciente de que estas versións "
+"oficiais de 'Dash to Panel' poderían non estar todavía revisadas en "
+"extensions.gnome.org! Ler máis"
+
+#: Settings.ui.h:239
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Este programa ven SEN NINGUNHA GARANTÍA.\n"
+"Consulte a Licencia Pública General de GNU, versión 2 ou posterior para obtener "
+"máis detalles."
+
+#: Settings.ui.h:241
+msgid "About"
+msgstr "Acerca de"
+
+msgid "Weekday"
+msgstr "Día da semana"
+
+msgid "Date"
+msgstr "Data"
+
+msgid "Seconds"
+msgstr "Segundos"
diff --git a/po/gu.po b/po/gu.po
new file mode 100644
index 0000000..b55ea4e
--- /dev/null
+++ b/po/gu.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: gu\n"
+
+msgid "System Monitor"
+msgstr "સિસ્ટમ મૉનિટર"
+
+msgid "Files"
+msgstr "ફાઇલો"
+
+msgid "Settings"
+msgstr "સુયોજનો"
diff --git a/po/he.po b/po/he.po
new file mode 100644
index 0000000..adb890b
--- /dev/null
+++ b/po/he.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: he\n"
+
+msgid "System Monitor"
+msgstr "צג המערכת"
+
+msgid "Files"
+msgstr "קבצים"
+
+msgid "Settings"
+msgstr "הגדרות"
diff --git a/po/hi.po b/po/hi.po
new file mode 100644
index 0000000..e352abc
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: hi\n"
+
+msgid "System Monitor"
+msgstr "तंत्र मॉनीटर"
+
+msgid "Files"
+msgstr "फ़ाइल"
+
+msgid "Settings"
+msgstr "सेटिंग्स"
diff --git a/po/hr.po b/po/hr.po
new file mode 100644
index 0000000..4098959
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: hr\n"
+
+msgid "System Monitor"
+msgstr "Nadgledatelj sustava"
+
+msgid "Files"
+msgstr "Datoteke"
+
+msgid "Settings"
+msgstr "Postavke"
diff --git a/po/hu.po b/po/hu.po
new file mode 100644
index 0000000..1393930
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,1305 @@
+# Hungarian translation for dash-to-panel.
+# Copyright (C) 2017, 2018, 2019 Free Software Foundation, Inc.
+# This file is distributed under the same license as the dash-to-panel package.
+#
+# Balázs Úr , 2017, 2018, 2019.
+msgid ""
+msgstr ""
+"Project-Id-Version: GitHub\n"
+"Report-Msgid-Bugs-To: https://github.com/home-sweet-gnome/dash-to-panel/issues"
+"\n"
+"POT-Creation-Date: 2019-10-12 22:22+0200\n"
+"PO-Revision-Date: 2019-10-12 22:30+0200\n"
+"Last-Translator: Balázs Úr \n"
+"Language-Team: Hungarian\n"
+"Language: hu\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 18.12.3\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Fent, a bővítményikonokkal lent összecsukva"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "Balra, a bővítményikonokkal jobbra összecsukva"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Fent, középen rögzített bővítményikonokkal"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "Balra, középen rögzített bővítményikonokkal"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Fent, középen lebegő bővítményikonokkal"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "Balra, középen lebegő bővítményikonokkal"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Középen, a kijelző közepén rögzítve"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Középen, a fenti és lenti elemek között lebegve"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Középen, a bal és jobb oldali elemek között lebegve"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "A bővítményikonok fölött"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "A bővítményikonoktól balra"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "A bővítményikonok alatt"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "A bővítményikonoktól jobbra"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "A rendszerjelzők fölött"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "A rendszerjelzőktől balra"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "A rendszerjelzők alatt"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "A rendszerjelzőktől jobbra"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "A feladatsáv fölött"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "A feladatsávtól balra"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "A feladatsáv alatt"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "A feladatsávtól jobbra"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "„Asztal megjelenítése” gomb magassága (képpont)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "„Asztal megjelenítése” gomb szélessége (képpont)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Futásjelző beállításai"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1078 prefs.js:1325 prefs.js:1409 prefs.js:1474
+#: prefs.js:1510 prefs.js:1607 prefs.js:1641 prefs.js:1683
+msgid "Reset to defaults"
+msgstr "Visszaállítás az alapértékekre"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Default (Elsődleges kijelző)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Kijelző"
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Többkijelzős beállítások"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Dinamikus átlátszatlansági beállítások"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Intelligens elrejtés beállításai"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "„Alkalmazások megjelenítése” ikon beállításai"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "„Asztal megjelenítése” gomb beállításai"
+
+#: prefs.js:1071
+msgid "Window preview options"
+msgstr "Ablakelőnézet beállításai"
+
+#: prefs.js:1318
+msgid "Ungrouped application options"
+msgstr "Nem csoportosított alkalmazás beállításai"
+
+#: prefs.js:1402
+msgid "Customize middle-click behavior"
+msgstr "Középső kattintás viselkedésének személyre szabása"
+
+#: prefs.js:1467
+msgid "Customize panel scroll behavior"
+msgstr "Panel görgetési viselkedésének személyre szabása"
+
+#: prefs.js:1503
+msgid "Customize icon scroll behavior"
+msgstr "Ikon görgetési viselkedésének személyre szabása"
+
+#: prefs.js:1600
+msgid "Advanced hotkeys options"
+msgstr "Speciális gyorsbillentyű-beállítások"
+
+#: prefs.js:1634
+msgid "Secondary Menu Options"
+msgstr "Másodlagos menü beállítások"
+
+#: prefs.js:1676 Settings.ui.h:223
+msgid "Advanced Options"
+msgstr "Speciális beállítások"
+
+#: prefs.js:1763
+msgid "Export settings"
+msgstr "Beállítások exportálása"
+
+#: prefs.js:1780
+msgid "Import settings"
+msgstr "Beállítások importálása"
+
+#: appIcons.js:1380
+msgid "Show Details"
+msgstr "Részletek megjelenítése"
+
+#: appIcons.js:1398
+msgid "New Window"
+msgstr "Új ablak"
+
+#: appIcons.js:1398 appIcons.js:1458 appIcons.js:1460 Settings.ui.h:10
+msgid "Quit"
+msgstr "Kilépés"
+
+#: appIcons.js:1460
+msgid "Windows"
+msgstr "Ablakok"
+
+#: appIcons.js:1684
+msgid "Power options"
+msgstr "Energiabeállítások"
+
+#: appIcons.js:1689
+msgid "Event logs"
+msgstr "Eseménynaplók"
+
+#: appIcons.js:1694
+msgid "System"
+msgstr "Rendszer"
+
+#: appIcons.js:1699
+msgid "Device Management"
+msgstr "Eszközkezelés"
+
+#: appIcons.js:1704
+msgid "Disk Management"
+msgstr "Lemezkezelés"
+
+#: appIcons.js:1711
+msgid "Terminal"
+msgstr "Terminál"
+
+#: appIcons.js:1716
+msgid "System Monitor"
+msgstr "Rendszerfigyelő"
+
+#: appIcons.js:1721
+msgid "Files"
+msgstr "Fájlok"
+
+#: appIcons.js:1726
+msgid "Settings"
+msgstr "Beállítások"
+
+#: appIcons.js:1733
+msgid "Unlock taskbar"
+msgstr "Feladatsáv feloldása"
+
+#: appIcons.js:1733
+msgid "Lock taskbar"
+msgstr "Feladatsáv zárolása"
+
+#: appIcons.js:1738
+msgid "Taskbar Settings"
+msgstr "Feladatsáv beállításai"
+
+#: appIcons.js:1745
+msgid "Restore Windows"
+msgstr "Ablakok visszaállítása"
+
+#: appIcons.js:1745
+msgid "Show Desktop"
+msgstr "Asztal megjelenítése"
+
+#: update.js:58
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "%s (%s) verzió érhető el"
+
+#: update.js:59
+msgid "Details"
+msgstr "Részletek"
+
+#: update.js:60
+msgid "Update"
+msgstr "Frissítés"
+
+#: update.js:63
+msgid "Already up to date"
+msgstr "Már naprakész"
+
+#: update.js:148
+msgid "Update successful, please log out/in"
+msgstr "Sikeres frissítés, jelentkezzen ki és be"
+
+#: update.js:149
+msgid "Log out"
+msgstr "Kijelentkezés"
+
+#: update.js:153
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Sikeres frissítés, indítsa újra a GNOME Shell környezetet"
+
+#: update.js:154
+msgid "Restart GNOME Shell"
+msgstr "GNOME Shell újraindítása"
+
+#: update.js:154
+msgid "Restarting GNOME Shell..."
+msgstr "GNOME Shell újraindítása…"
+
+#: update.js:160
+msgid "Error: "
+msgstr "Hiba: "
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Még semmi!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Ha minimalizálásra van állítva, akkor a dupla kattintás az alkalmazás összes "
+"ablakát minimalizálja."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Shift + kattintás művelet"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Ablakok előtérbe hozása"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Ablak minimalizálása"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Új példány indítása"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Ablakok körbeléptetése"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Ablakok körbeléptetése + minimalizálás"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Önálló átkapcsolása / több előnézete"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "A középső kattintás viselkedése."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Középső kattintás művelet"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "A Shift + középső kattintás viselkedése."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Shift + középső kattintás művelet"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Kijelzők elszigetelése"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Kedvenc alkalmazások megjelenítése az összes kijelzőn"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Az óra megjelenítése az összes kijelzőn"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Az állapot menü megjelenítése az összes kijelzőn"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Alkalmazásmenü elemeinek integrálása"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Részletek megjelenítése menüpont"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Kijelölt alkalmazás kiemelése"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Ikon uralkodó színe"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Egyéni szín"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Kiemelés átlátszatlansága"
+
+#: Settings.ui.h:25
+msgid "Indicator height (px)"
+msgstr "Jelző magassága (képpont)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Jelző színe – ikon uralkodó szín"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Jelző színe – téma felülbírálása"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 nyitott ablak (vagy nem csoportosított)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Alkalmazás az összesre"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 nyitott ablak"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 nyitott ablak"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4+ nyitott ablak"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Eltérő használata a nem kijelölthöz"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Az alkalmazáscímek betűkészletmérete képpontban (alapértelmezetten 14)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Az alkalmazáscímek betűvastagsága"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "öröklés a témától"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "normál"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "vékonyabb"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "félkövér"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "vastagabb"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Az alkalmazáscímek betűkészletszíne"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr ""
+"Az alkalmazáscímek legnagyobb szélessége képpontban (alapértelmezetten 160)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Rögzített szélesség használata az alkalmazáscímeknél"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Az összes alkalmazáscím ugyanolyan széles lesz még akkor is, ha a szövegük "
+"rövidebb a legnagyobb szélességnél. A legnagyobb szélesség érték lesz "
+"használva rögzített szélességként."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Futásjelzők megjelenítése nem kijelölt alkalmazásoknál"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "A kedvenc ikonok használata alkalmazásindítókként"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Csak akkor rejtse el a panelt, amikor akadályozzák az ablakok "
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "A panel el van rejtve ettől"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Az összes ablak"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Kijelölt ablakok"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Maximalizált ablakok"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Nyomás szükséges a képernyő szélénél a panel előhozásához"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Szükséges nyomási küszöbszint (képpont)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Szükséges nyomási időkorlát (ezredmásodperc)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Lehetővé teszi a panelnek, hogy előjöjjön teljes képernyős módban"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Csak a másodlagos panel elrejtése (többmonitoros beállítást igényel)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "például i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Gyorsbillentyű a panel előhozásához és megtartásához"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Szintaxis: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Elrejtési és előhozási animáció időkorlátja (ezredmásodperc)"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Késleltetés a panel elrejtése előtt (ezredmásodperc)"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr ""
+"Az intelligens elrejtés indításkori engedélyezése előtti késleltetés "
+"(ezredmásodperc)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Megjelenítés előtti idő (ezredmásodperc, alapérték: 100)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Animáció ideje (ezredmásodperc)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Elrejtés előtti idő (ezredmásodperc, alapértelmezetten 100)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Azonnal az alkalmazásikonra kattintáskor"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr "Középső kattintás az előnézeten az ablak bezárásához"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Ablakelőnézetek előnyben részesített mérete (képpont)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Ablakelőnézetek Y képaránya (magasság)"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Ablakelőnézetek kitöltése (képpont)"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr "Rögzített"
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Ablakelőnézetek X képaránya (szélesség)"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Egyéni átlátszatlanság használata az előnézetek hátteréhez"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr ""
+"Ha le van tiltva, akkor az előnézetek háttere ugyanazzal az "
+"átlátszatlansággal rendelkezik mint a panel"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Bezáró gomb és fejléc helyzete"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Lent"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Fent"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Ablakelőnézet fejléceinek megjelenítése"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Az előnézet címeinek betűmérete (képpont)"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Az előnézet címeinek betűvastagsága"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Az előnézet címeinek betűszíne"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Ablakbetekintés engedélyezése"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Amikor rámutat egy ablakelőnézetre egy ideig, az ablak megkülönböztethetővé "
+"válik."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Ablakbetekintési módba lépés időkorlátja (ezredmásodperc)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Egy ablakelőnézet rámutatása közbeni tétlenség ideje, amely az "
+"ablakbetekintési módba lépéshez szükséges."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Ablakbetekintési módba átlátszatlansága"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"A betekintett ablak kivételével az összes ablaknál a saját átlátszatlanság "
+"ugyanarra az értékre van állítva."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Egérgörgetés-események közti késleltetés (ezredmásodperc)"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr ""
+"Használja ezt az értéket a rögzített egérgörgetés-események számának "
+"korlátozásához."
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Szuper"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Szuper + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Gyorsbillentyű-előtag"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr ""
+"A gyorsbillentyűk vagy Szuper + szám, vagy Szuper + Alt + szám lehetnek"
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Soha"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Megjelenítés átmenetileg"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Mindig látható"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Szám rátét"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Az alkalmazás számainak átmeneti megjelenítése az ikonok fölött a "
+"gyorsbillentyűk használatakor."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Elrejtési időkorlát (ezredmásodperc)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "például q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Gyorsbillentyű a rátét megjelenítéséhez 2 másodpercre"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Ablakelőnézetek megjelenítése gyorsbillentyűvel"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Előnézetek megjelenítése, amikor az alkalmazásnak több példánya van"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Számsor"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Számbillentyűzet"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Mindkettő"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Gyorsbillentyűk bekapcsolva ezzel"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr ""
+"Annak kiválasztása, hogy a billentyűzet mely számbillentyűi legyenek "
+"használva a gyorsbillentyűk bekapcsolásához"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Jelenlegi „Alkalmazások megjelenítése” ikon"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Egy „Alkalmazások megjelenítése” képikon kiválasztása"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Egyéni „Alkalmazások megjelenítése” képikon"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "„Alkalmazások megjelenítése” ikon oldalsó kitöltése (képpont)"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Az asztal előhozása, ha az „Asztal megjelenítése” gombra mutat"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Késleltetés az asztal előhozása előtt (ezredmásodperc)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Áttűnés időtartama (ezredmásodperc)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "A panel háttér-átlátszatlanságát a következő befolyásolja"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr ""
+"Átlátszatlanság megváltoztatása, amikor egy ablak közelebb kerül mint "
+"(képpont)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Átlátszatlanság megváltoztatása erre (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Átlátszatlanságváltozás animációjának időtartama (ezredmásodperc)"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Panel képernyő-pozíciója"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "Bal"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "Jobb"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Tálca helyzete"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Óra helye"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "A főpanel megjelenítése ezen"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Panelek megjelenítése az összes kijelzőn"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Panel intelligens elrejtése"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "A panel elrejtése vagy előhozása a beállítások szerint"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Pozíció"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Panelméret\n"
+"(alapérték: 48)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Alkalmazásikon margó\n"
+"(alapérték: 8)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Alkalmazásikon térköz\n"
+"(alapérték: 4)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Futásjelző pozíciója"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Futásjelző stílusa (kijelölt alkalmazás)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Pontok"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Négyzetek"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Szaggatott vonalak"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Darabolt"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Tömör"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Futásjelző stílusa (nem kijelölt alkalmazások)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "A paneltéma háttérszínének felülbírálása"
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "A paneltéma háttér-átlátszatlanságának felülbírálása"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Panel háttér-átlátszatlansága (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Dinamikus háttér-átlátszatlanság"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr ""
+"Átlátszatlanság megváltoztatása, amikor egy ablak közel kerül a panelhez"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "A paneltéma színátmenetének felülbírálása"
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Színátmenet felső színe és átlátszatlansága (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Színátmenet alsó színe és átlátszatlansága (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Stílus"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Kedvenc alkalmazások megjelenítése"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Futó alkalmazások megjelenítése"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Alkalmazások ikon megjelenítése"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Alkalmazások megjelenítése animálása."
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Tevékenységek gomb megjelenítése"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Asztal gomb megjelenítése"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Alkalmazásmenü gomb megjelenítése"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"A felső sáv > Alkalmazásmenü megjelenítésének engedélyezve kell mennie a "
+"finomhangoló eszközben"
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Ablakelőnézetek megjelenítése rámutatáskor"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Buboréksúgó megjelenítése rámutatáskor"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Munkaterületek elkülönítése"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Alkalmazások csoportosításának felbontása"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Viselkedés"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Viselkedés egy futó alkalmazás ikonjára való kattintáskor."
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Kattintás művelet"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Ablakok átkapcsolása"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Panel görgetése művelet"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Viselkedés, ha az egeret görgetik a panel fölött."
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Ikon görgetése művelet"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Viselkedés, ha az egeret görgetik egy alkalmazásikon fölött."
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "Ne csináljon semmit"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Munkaterület váltása"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Ablakok léptetése"
+
+#: Settings.ui.h:205
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Szuper + (0-9) engedélyezése gyorsbillentyűként az alkalmazások "
+"aktiválásához. Használható a Shift és a Ctrl billentyűkkel együtt is."
+
+#: Settings.ui.h:206
+msgid "Use hotkeys to activate apps"
+msgstr "Gyorsbillentyűk használata az alkalmazások aktiválásához"
+
+#: Settings.ui.h:207
+msgid "Action"
+msgstr "Művelet"
+
+#: Settings.ui.h:208
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tálca betűmérete\n"
+"(0 = téma alapértéke)"
+
+#: Settings.ui.h:210
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Bal doboz betűmérete\n"
+"(0 = téma alapértéke)"
+
+#: Settings.ui.h:212
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Tálcaelem kitöltése\n"
+"(-1 = téma alapértéke)"
+
+#: Settings.ui.h:214
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Állapotikon kitöltése\n"
+"(-1 = téma alapértéke)"
+
+#: Settings.ui.h:216
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Bal doboz kitöltése\n"
+"(-1 = téma alapértéke)"
+
+#: Settings.ui.h:218
+msgid "Animate switching applications"
+msgstr "Alkalmazásváltások animálása"
+
+#: Settings.ui.h:219
+msgid "Animate launching new windows"
+msgstr "Új ablakok indításának animálása"
+
+#: Settings.ui.h:220
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Eredeti gnome-shell dash megtartása (áttekintő)"
+
+#: Settings.ui.h:221
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "Panelmenü gombjainak (például dátum menü) aktiválása csak kattintáskor"
+
+#: Settings.ui.h:222
+msgid "App icon secondary (right-click) menu"
+msgstr "Alkalmazásikon másodlagos (jobb kattintásos) menüje"
+
+#: Settings.ui.h:224
+msgid "Fine-Tune"
+msgstr "Finomhangolás"
+
+#: Settings.ui.h:225
+msgid "version: "
+msgstr "verzió: "
+
+#: Settings.ui.h:226
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:227
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Használja a lenti gombokat egy beállítási fájl létrehozásához a jelenlegi "
+"beállításokból, amely importálható egy másik gépen."
+
+#: Settings.ui.h:228
+msgid "Export and import settings"
+msgstr "Beállítások exportálása és importálása"
+
+#: Settings.ui.h:229
+msgid "Export to file"
+msgstr "Exportálás fájlba"
+
+#: Settings.ui.h:230
+msgid "Import from file"
+msgstr "Importálás fájlból"
+
+#: Settings.ui.h:231
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Ez lehetővé teszi a kiterjesztés frissítést közvetlenül a GitHub tárolóból."
+
+#: Settings.ui.h:232
+msgid "Updates"
+msgstr "Frissítések"
+
+#: Settings.ui.h:233
+msgid "Periodically check for updates"
+msgstr "Frissítések rendszeres ellenőrzése"
+
+#: Settings.ui.h:234
+msgid "Check now"
+msgstr "Ellenőrzés most"
+
+#: Settings.ui.h:235
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Ne feledje, hogy ezeket a hivatalos "
+"„Dash to Panel” kiterjesztéseket esetleg még nem vizsgálták felül az "
+"extensions.gnome.org oldalon! Tudjon meg többet"
+
+#: Settings.ui.h:236
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Ehhez a programhoz SEMMILYEN GARANCIA NEM JÁR.\n"
+"Nézze meg a GNU General Public License 2. vagy későbbi verzióját a részletekért.<"
+"/span>"
+
+#: Settings.ui.h:238
+msgid "About"
+msgstr "Névjegy"
+
+msgid "Weekday"
+msgstr "Hétköznap"
+
+msgid "Date"
+msgstr "Dátum"
+
+msgid "Seconds"
+msgstr "Másodperc"
diff --git a/po/id.po b/po/id.po
new file mode 100644
index 0000000..5445ecb
--- /dev/null
+++ b/po/id.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: id\n"
+
+msgid "System Monitor"
+msgstr "Monitor Sistem"
+
+msgid "Files"
+msgstr "Berkas"
+
+msgid "Settings"
+msgstr "Pengaturan"
diff --git a/po/is.po b/po/is.po
new file mode 100644
index 0000000..dc6d9af
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: is\n"
+
+msgid "System Monitor"
+msgstr "Kerfisvakt"
+
+msgid "Files"
+msgstr "Skrár"
+
+msgid "Settings"
+msgstr "Stillingar"
diff --git a/po/it.po b/po/it.po
new file mode 100644
index 0000000..9025436
--- /dev/null
+++ b/po/it.po
@@ -0,0 +1,1433 @@
+# Dash to Panel Italian translation.
+# This file is distributed under the same license as the Dash to Panel package.
+# Enrico Bella , 2018.
+# Kowalski7cc , 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: kowalski.7cc@gmail.com\n"
+"POT-Creation-Date: 2020-05-15 22:08+0200\n"
+"PO-Revision-Date: 2020-05-15 23:12+0200\n"
+"Last-Translator: l3nn4rt \n"
+"Language-Team: \n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Gtranslator 3.36.0\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#: prefs.js:206
+msgid "Show Desktop button height (px)"
+msgstr "Altezza tasto Mostra Desktop (px)"
+
+#: prefs.js:206
+msgid "Show Desktop button width (px)"
+msgstr "Larghezza tasto Mostra Desktop (px)"
+
+#: prefs.js:218
+msgid "Unavailable when gnome-shell top panel is present"
+msgstr "Non disponibile quando è presente il pannello superiore di gnome-shell"
+
+#: prefs.js:293
+msgid "Show Applications button"
+msgstr "Pulsante Mostra Applicazioni"
+
+#: prefs.js:294
+msgid "Activities button"
+msgstr "Pulsante Attività"
+
+#: prefs.js:295
+msgid "Taskbar"
+msgstr "Taskbar"
+
+#: prefs.js:296
+msgid "Date menu"
+msgstr "Data e ora"
+
+#: prefs.js:297
+msgid "System menu"
+msgstr "Menu di sistema"
+
+#: prefs.js:298
+msgid "Left box"
+msgstr "Contenitore di sinistra"
+
+#: prefs.js:299
+msgid "Center box"
+msgstr "Contenitore centrale"
+
+#: prefs.js:300
+msgid "Right box"
+msgstr "Contenitore di destra"
+
+#: prefs.js:301
+msgid "Desktop button"
+msgstr "Pulsante Desktop"
+
+#: prefs.js:307
+msgid "Move up"
+msgstr "Muovi verso l'alto"
+
+#: prefs.js:309
+msgid "Move down"
+msgstr "Muovi verso il basso"
+
+#: prefs.js:311
+msgid "Visible"
+msgstr "Visibile"
+
+#: prefs.js:312
+msgid "Select element position"
+msgstr "Seleziona posizione dell'elemento"
+
+#: prefs.js:323
+msgid "Stacked to top"
+msgstr "Allinea in alto"
+
+#: prefs.js:323
+msgid "Stacked to left"
+msgstr "Allinea a sinistra"
+
+#: prefs.js:324
+msgid "Stacked to bottom"
+msgstr "Allinea in basso"
+
+#: prefs.js:324
+msgid "Stacked to right"
+msgstr "Allinea a destra"
+
+#: prefs.js:325
+msgid "Centered"
+msgstr "Allinea al centro dello spazio disponibile"
+
+#: prefs.js:326
+msgid "Monitor Center"
+msgstr "Allinea al centro dello schermo"
+
+#: prefs.js:345
+msgid "More options"
+msgstr "Altre opzioni"
+
+#: prefs.js:369
+msgid "Show Applications options"
+msgstr "Opzioni Mostra Applicazioni"
+
+#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1019
+#: prefs.js:1146 prefs.js:1405 prefs.js:1500 prefs.js:1565 prefs.js:1608
+#: prefs.js:1705 prefs.js:1739 prefs.js:1781
+msgid "Reset to defaults"
+msgstr "Ripristina predefiniti"
+
+#: prefs.js:426
+msgid "Show Desktop options"
+msgstr "Opzioni Mostra Desktop"
+
+#: prefs.js:569
+msgid "Running Indicator Options"
+msgstr "Posizione indicatori di esecuzione"
+
+#: prefs.js:732
+msgid "Primary monitor"
+msgstr "Schermo principale"
+
+#: prefs.js:732
+msgid "Monitor "
+msgstr "Monitor "
+
+#: prefs.js:887
+msgid "Dynamic opacity options"
+msgstr "Opzioni opacità dinamica"
+
+#: prefs.js:1012
+msgid "Intellihide options"
+msgstr "Opzioni pannello Intellihide"
+
+#: prefs.js:1139
+msgid "Window preview options"
+msgstr "Opzioni anteprima finestre"
+
+#: prefs.js:1398
+msgid "Ungrouped application options"
+msgstr "Opzioni app non raggruppate"
+
+#: prefs.js:1493
+msgid "Customize middle-click behavior"
+msgstr "Personalizza azioni clic centrale"
+
+#: prefs.js:1558
+msgid "Customize panel scroll behavior"
+msgstr "Personalizza il comportamento di scorrimento sul pannello"
+
+#: prefs.js:1601
+msgid "Customize icon scroll behavior"
+msgstr "Personalizza il comportamento di scorrimento sull'icona"
+
+#: prefs.js:1698
+msgid "Advanced hotkeys options"
+msgstr "Opzioni avanzate scorciatoie"
+
+#: prefs.js:1732
+msgid "Secondary Menu Options"
+msgstr "Opzioni menu secondario"
+
+#: prefs.js:1774 Settings.ui.h:226
+msgid "Advanced Options"
+msgstr "Impostazioni avanzate"
+
+#: prefs.js:1877
+msgid "Export settings"
+msgstr "Esporta impostazioni"
+
+#: prefs.js:1894
+msgid "Import settings"
+msgstr "Importa impostazioni"
+
+#: appIcons.js:1431
+msgid "Show Details"
+msgstr "Mostra dettagli"
+
+#: appIcons.js:1449
+msgid "New Window"
+msgstr "Nuova finestra"
+
+#: appIcons.js:1449 appIcons.js:1509 appIcons.js:1511 Settings.ui.h:10
+msgid "Quit"
+msgstr "Esci"
+
+#: appIcons.js:1511
+msgid "Windows"
+msgstr "Finestre"
+
+#: appIcons.js:1860
+msgid "Unlock taskbar"
+msgstr "Sblocca taskbar"
+
+#: appIcons.js:1860
+msgid "Lock taskbar"
+msgstr "Blocca taskbar"
+
+#: appIcons.js:1865
+msgid "Taskbar Settings"
+msgstr "Impostazioni del taskbar"
+
+#: appIcons.js:1878
+msgid "Restore Windows"
+msgstr "Ripristina finestre"
+
+#: appIcons.js:1878
+msgid "Show Desktop"
+msgstr "Mostra Desktop"
+
+#: update.js:48
+msgid "Unavailable when installed from extensions.gnome.org"
+msgstr "Non disponibile quando installato da extensions.gnome.org"
+
+#: update.js:62
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "Disponibile la versione %s (%s)"
+
+#: update.js:63
+msgid "Details"
+msgstr "Dettagli"
+
+#: update.js:64
+msgid "Update"
+msgstr "Aggiorna"
+
+#: update.js:67
+msgid "Already up to date"
+msgstr "Già aggiornato"
+
+#: update.js:75
+msgid "Error: "
+msgstr "Errore: "
+
+#: update.js:168
+msgid "Update successful, please log out/in"
+msgstr "Aggiornamento eseguito correttamente, disconnettiti accedi nuovamente"
+
+#: update.js:169
+msgid "Log out"
+msgstr "Disconnettiti"
+
+#: update.js:173
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Aggiornamento riuscito, riavvia GNOME Shell"
+
+#: update.js:174
+msgid "Restart GNOME Shell"
+msgstr "Riavvia GNOME Shell"
+
+#: update.js:174
+msgid "Restarting GNOME Shell..."
+msgstr "Riavvio della shell GNOME ..."
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Ancora niente!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Quando impostato su minimizza, il doppio clic minimizza tutte le finestre "
+"dell'app."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Azione Shift+Clic"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Solleva e visualizza finestra"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Minimizza finestra"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Apri una nuova istanza"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Cicla le finestre"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Cicla finestre + minimizza"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Commuta finestra singola e mostra anteprime"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Comportamento per clic-centrale."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Azione clic-centrale"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Comportamento per Shift+Clic-centrale."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Azione Shift+Clic-centrale"
+
+#: Settings.ui.h:15
+msgid "Integrate AppMenu items"
+msgstr "Integra elementi AppMenu"
+
+#: Settings.ui.h:16
+msgid "Show Details menu item"
+msgstr "Visualizza Mostra Dettagli"
+
+#: Settings.ui.h:17
+msgid "Highlight focused application"
+msgstr "Evidenzia applicazione con focus"
+
+#: Settings.ui.h:18
+msgid "Icon dominant color"
+msgstr "Colore dominante dell'icona"
+
+#: Settings.ui.h:19
+msgid "Custom color"
+msgstr "Colore personalizzato"
+
+#: Settings.ui.h:20
+msgid "Highlight opacity"
+msgstr "Opacità evidenziazione"
+
+#: Settings.ui.h:21
+msgid "Indicator size (px)"
+msgstr "Dimensione indicatore (px)"
+
+#: Settings.ui.h:22
+msgid "Indicator color - Icon Dominant"
+msgstr "Colore indicatore - Colore dominante dell'icona"
+
+#: Settings.ui.h:23
+msgid "Indicator color - Override Theme"
+msgstr "Colore indicatore - Ignora il tema"
+
+#: Settings.ui.h:24
+msgid "1 window open (or ungrouped)"
+msgstr "1 finestra aperta (o non raggruppata)"
+
+#: Settings.ui.h:25
+msgid "Apply to all"
+msgstr "Applica a tutte"
+
+#: Settings.ui.h:26
+msgid "2 windows open"
+msgstr "2 finestre aperte"
+
+#: Settings.ui.h:27
+msgid "3 windows open"
+msgstr "3 finestre aperte"
+
+#: Settings.ui.h:28
+msgid "4+ windows open"
+msgstr "4+ finestre aperte"
+
+#: Settings.ui.h:29
+msgid "Use different for unfocused"
+msgstr "Personalizza per app senza focus"
+
+#: Settings.ui.h:30
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Dimensione font (px) dei titoli delle app (predef. 14)"
+
+#: Settings.ui.h:31
+msgid "Font weight of application titles"
+msgstr "Stile font dei titoli delle applicazioni"
+
+#: Settings.ui.h:32
+msgid "inherit from theme"
+msgstr "eredita dal tema"
+
+#: Settings.ui.h:33
+msgid "normal"
+msgstr "normale"
+
+#: Settings.ui.h:34
+msgid "lighter"
+msgstr "leggero"
+
+#: Settings.ui.h:35
+msgid "bold"
+msgstr "grassetto"
+
+#: Settings.ui.h:36
+msgid "bolder"
+msgstr "grosso"
+
+#: Settings.ui.h:37
+msgid "Font color of the application titles"
+msgstr "Colore font dei titoli delle applicazioni"
+
+#: Settings.ui.h:38
+msgid "Font color of the minimized application titles"
+msgstr "Colore font titoli delle applicazioni minimizzate"
+
+#: Settings.ui.h:39
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Larghezza massima (px) dei titoli delle app (predef. 160)"
+
+#: Settings.ui.h:40
+msgid "Use a fixed width for the application titles"
+msgstr "Usa larghezza fissa per i titoli delle app"
+
+#: Settings.ui.h:41
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"I titoli delle applicazioni hanno la stessa larghezza anche se i testi sono "
+"più corti della larghezza massima. Viene usato il valore di larghezza "
+"massima."
+
+#: Settings.ui.h:42
+msgid "Display running indicators on unfocused applications"
+msgstr "Mostra indicatori di esecuzione nelle app senza focus"
+
+#: Settings.ui.h:43
+msgid "Use the favorite icons as application launchers"
+msgstr "Usa le icone dei Preferiti come lanciatori delle app"
+
+#: Settings.ui.h:44
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Nascondi pannello solo quando è ostruito dalle finestre "
+
+#: Settings.ui.h:45
+msgid "The panel hides from"
+msgstr "Il pannello si nasconde con"
+
+#: Settings.ui.h:46
+msgid "All windows"
+msgstr "Tutte le finestre"
+
+#: Settings.ui.h:47
+msgid "Focused windows"
+msgstr "Finestre con focus"
+
+#: Settings.ui.h:48
+msgid "Maximized windows"
+msgstr "Finestre massimizzate"
+
+#: Settings.ui.h:49
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Richiedi pressione a bordo schermo per mostrare il pannello"
+
+#: Settings.ui.h:50
+msgid "Required pressure threshold (px)"
+msgstr "Soglia di pressione richiesta (px)"
+
+#: Settings.ui.h:51
+msgid "Required pressure timeout (ms)"
+msgstr "Timeout pressione richiesta (ms)"
+
+#: Settings.ui.h:52
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Permetti al pannello di apparire quando in modalità fullscreen"
+
+#: Settings.ui.h:53
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Nascondi solo i pannelli secondari (richiede l'opzione multi-monitor)"
+
+#: Settings.ui.h:54
+msgid "e.g. i"
+msgstr "es. i"
+
+#: Settings.ui.h:55
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Scorciatoie per mostrare e nascondere il pannello"
+
+#: Settings.ui.h:56
+msgid "Syntax: , , , "
+msgstr "Sintassi: , , , "
+
+#: Settings.ui.h:57
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Durata animazione mostra/nascondi (ms)"
+
+#: Settings.ui.h:58
+msgid "Delay before hiding the panel (ms)"
+msgstr "Ritardo prima di nascondere il pannello (ms)"
+
+#: Settings.ui.h:59
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Ritardo iniziale (ms) prima di abilitare intellihide"
+
+#: Settings.ui.h:60
+msgid "Time (ms) before showing (400 is default)"
+msgstr ""
+"Tempo (ms) prima della visualizzazione (400 è l'impostazione predefinita)"
+
+#: Settings.ui.h:61
+msgid "Animation time (ms)"
+msgstr "Durata animazione (ms)"
+
+#: Settings.ui.h:62
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Tempo (ms) prima di nascondersi (100 è l'impostazione predefinita)"
+
+#: Settings.ui.h:63
+msgid "Immediate on application icon click"
+msgstr "Immediatamente al clic sull'icona dell'applicazione"
+
+#: Settings.ui.h:64
+msgid "Middle click on the preview to close the window"
+msgstr "Clic centrale sull'anteprima per chiudere la finestra"
+
+#: Settings.ui.h:65
+msgid "Window previews preferred size (px)"
+msgstr "Dimensioni preferite delle anteprime delle finestre (px)"
+
+#: Settings.ui.h:66
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Proporzioni anteprime delle finestre Y (altezza)"
+
+#: Settings.ui.h:67
+msgid "Window previews padding (px)"
+msgstr "Spaziatura anteprime finestre (px)"
+
+#: Settings.ui.h:68
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:69
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:70
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:71
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:72
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:73
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:74
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:75
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:76
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:77
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:78
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:79
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:80
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:81
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:82
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:83
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:84
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:85
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:86
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:87
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:88
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:89
+msgid "Fixed"
+msgstr "Fisso"
+
+#: Settings.ui.h:90
+msgid "Window previews aspect ratio X (width)"
+msgstr "Proporzioni anteprime delle finestre X (larghezza)"
+
+#: Settings.ui.h:91
+msgid "Use custom opacity for the previews background"
+msgstr "Usa l'opacità personalizzata per lo sfondo delle anteprime"
+
+#: Settings.ui.h:92
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr ""
+"Se disabilitato, lo sfondo delle anteprime ha la stessa opacità del pannello"
+
+#: Settings.ui.h:93
+msgid "Close button and header position"
+msgstr "Pulsante di chiusura e posizione dell'intestazione"
+
+#: Settings.ui.h:94
+msgid "Bottom"
+msgstr "Basso"
+
+#: Settings.ui.h:95
+msgid "Top"
+msgstr "Alto"
+
+#: Settings.ui.h:96
+msgid "Display window preview headers"
+msgstr "Visualizza le intestazioni di anteprima della finestra"
+
+#: Settings.ui.h:97
+msgid "Font size (px) of the preview titles"
+msgstr "Dimensione carattere (px) dei titoli di anteprima"
+
+#: Settings.ui.h:98
+msgid "Font weight of the preview titles"
+msgstr "Dimensione del carattere dei titoli dell'anteprima"
+
+#: Settings.ui.h:99
+msgid "Font color of the preview titles"
+msgstr "Colore del carattere dei titoli dell'anteprima"
+
+#: Settings.ui.h:100
+msgid "Enable window peeking"
+msgstr "Abilita separazione finestre"
+
+#: Settings.ui.h:101
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr "Restando sulla finestra per qualche istante, la finestra si separa."
+
+#: Settings.ui.h:102
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Timeout ingresso modalità finestra separata (ms)"
+
+#: Settings.ui.h:103
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:104
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Tempo di inattività sopra una finestra richiesto per entrare in modalità "
+"separata."
+
+#: Settings.ui.h:105
+msgid "Window peeking mode opacity"
+msgstr "Opacità modalità finestra separata"
+
+#: Settings.ui.h:106
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:107
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"Tutte le finestre, tranne quella visualizzata, hanno la stessa opacità."
+
+#: Settings.ui.h:108
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Ritardo tra gli eventi di scorrimento del mouse (ms)"
+
+#: Settings.ui.h:109
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr ""
+"Utilizzare questo valore per limitare il numero di eventi di scorrimento del "
+"mouse acquisiti."
+
+#: Settings.ui.h:110
+msgid "Show popup when changing workspace"
+msgstr "Mostra popup cambiando spazio di lavoro"
+
+#: Settings.ui.h:111
+msgid "This affects workspace popup when scrolling on the panel only."
+msgstr ""
+"Questo influisce sul popup spazi di lavoro solo quando si scorre sul pannello"
+
+#: Settings.ui.h:112
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:113
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:114
+msgid "Hotkeys prefix"
+msgstr "Prefisso scorciatoie"
+
+#: Settings.ui.h:115
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Le scorciatoie saranno Super+Numero o Super+Alt+Numero"
+
+#: Settings.ui.h:116
+msgid "Never"
+msgstr "Mai"
+
+#: Settings.ui.h:117
+msgid "Show temporarily"
+msgstr "Temporanea"
+
+#: Settings.ui.h:118
+msgid "Always visible"
+msgstr "Sempre visibile"
+
+#: Settings.ui.h:119
+msgid "Number overlay"
+msgstr "Sovrimpressione numero"
+
+#: Settings.ui.h:120
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Mostra temporaneamente i numeri delle applicazioni sulle icone quando si "
+"usano le scorciatoie."
+
+#: Settings.ui.h:121
+msgid "Hide timeout (ms)"
+msgstr "Timeout visualizzazione (ms)"
+
+#: Settings.ui.h:122
+msgid "e.g. q"
+msgstr "es. q"
+
+#: Settings.ui.h:123
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Scorciatoia per la sovrapposizione di 2 secondi"
+
+#: Settings.ui.h:124
+msgid "Show window previews on hotkey"
+msgstr "Mostra anteprime finestre da hotkey"
+
+#: Settings.ui.h:125
+msgid "Show previews when the application have multiple instances"
+msgstr "Mostra anteprime quando l'applicazione ha più istanze"
+
+#: Settings.ui.h:126
+msgid "Number row"
+msgstr "Numero riga"
+
+#: Settings.ui.h:127
+msgid "Numeric keypad"
+msgstr "Tastierino numerico"
+
+#: Settings.ui.h:128
+msgid "Both"
+msgstr "Entrambi"
+
+#: Settings.ui.h:129
+msgid "Hotkeys are activated with"
+msgstr "I tasti di scelta rapida sono attivati con"
+
+#: Settings.ui.h:130
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr ""
+"Seleziona la tipologia dei tasti numerici utilizzati per attivare i tasti di "
+"scelta rapida"
+
+#: Settings.ui.h:131
+msgid "Current Show Applications icon"
+msgstr "Icona Mostra Applicazioni attuale"
+
+#: Settings.ui.h:132
+msgid "Select a Show Applications image icon"
+msgstr "Seleziona icona per Mostra Applicazioni"
+
+#: Settings.ui.h:133
+msgid "Custom Show Applications image icon"
+msgstr "Icona Mostra Applicazioni personalizzata"
+
+#: Settings.ui.h:134
+msgid "Show Applications icon side padding (px)"
+msgstr "Spaziatura a lato dell'icona Mostra Applicazioni (px)"
+
+#: Settings.ui.h:135
+msgid "Override escape key and return to desktop"
+msgstr ""
+"Sostituisci il tasto escape e ritorna al desktop anziché alla panoramica"
+
+#: Settings.ui.h:136
+msgid "Animate Show Applications."
+msgstr "Animazione Mostra Applicazioni."
+
+#: Settings.ui.h:137
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr ""
+"Rivela il desktop quando si passa il cursore sul pulsante Mostra desktop"
+
+#: Settings.ui.h:138
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Ritardo prima di rivelare il desktop (ms)"
+
+#: Settings.ui.h:139
+msgid "Fade duration (ms)"
+msgstr "Durata dissolvenza (ms)"
+
+#: Settings.ui.h:140
+msgid "The panel background opacity is affected by"
+msgstr "L'opacità dello pannello è influenzato da"
+
+#: Settings.ui.h:141
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Cambia l'opacità quando una finestra è più vicina di (px)"
+
+#: Settings.ui.h:143
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Imposta opacità al (%)"
+
+#: Settings.ui.h:144
+msgid "Opacity change animation duration (ms)"
+msgstr "Durata animazione cambio opacità (ms)"
+
+#: Settings.ui.h:145
+msgid "Display the main panel on"
+msgstr "Mostra pannello principale su"
+
+#: Settings.ui.h:146
+msgid "Display panels on all monitors"
+msgstr "Mostra pannelli su tutti i monitor"
+
+#: Settings.ui.h:147
+msgid "Panel Intellihide"
+msgstr "Pannello Intellihide"
+
+#: Settings.ui.h:148
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Mostra e nascondi il pannello secondo le preferenze"
+
+#: Settings.ui.h:149
+msgid "Order and positions on monitor"
+msgstr "Ordinamento e posizione sullo schermo"
+
+#: Settings.ui.h:150
+msgid "Apply changes to all monitors"
+msgstr "Applica a tutti gli schermi"
+
+#: Settings.ui.h:151
+msgid "Panel screen position"
+msgstr "Posizione pannello sullo schermo"
+
+#: Settings.ui.h:152
+msgid "Left"
+msgstr "Sinistra"
+
+#: Settings.ui.h:153
+msgid "Right"
+msgstr "Destra"
+
+#: Settings.ui.h:154
+msgid "Position"
+msgstr "Posizione"
+
+#: Settings.ui.h:155
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Dimensione pannello\n"
+"(predefinito 48)"
+
+#: Settings.ui.h:157
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Margine icone app\n"
+"(predefinito 8)"
+
+#: Settings.ui.h:159
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Spaziatura icone app\n"
+"(predefinito 4)"
+
+#: Settings.ui.h:161
+msgid "Running indicator position"
+msgstr "Posizione indicatore di esecuzione"
+
+#: Settings.ui.h:162
+msgid "Running indicator style (Focused app)"
+msgstr "Stile indicatore di esecuzione (app con focus)"
+
+#: Settings.ui.h:163
+msgid "Dots"
+msgstr "Puntini"
+
+#: Settings.ui.h:164
+msgid "Squares"
+msgstr "Quadrati"
+
+#: Settings.ui.h:165
+msgid "Dashes"
+msgstr "Trattini"
+
+#: Settings.ui.h:166
+msgid "Segmented"
+msgstr "Segmenti"
+
+#: Settings.ui.h:167
+msgid "Solid"
+msgstr "Solidi"
+
+#: Settings.ui.h:168
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:169
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:170
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Stile indicatore di esecuzione (app senza focus)"
+
+#: Settings.ui.h:171
+msgid "Override panel theme background color "
+msgstr "Ignora il colore di sfondo del pannello "
+
+#: Settings.ui.h:172
+msgid "Override panel theme background opacity"
+msgstr "Ignora l'opacità del pannello"
+
+#: Settings.ui.h:174
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Opacità di sfondo del pannello (%)"
+
+#: Settings.ui.h:175
+msgid "Dynamic background opacity"
+msgstr "Opacità di sfondo dinamica"
+
+#: Settings.ui.h:176
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Cambia l'opacità quando una finestra è vicina al pannello"
+
+#: Settings.ui.h:177
+msgid "Override panel theme gradient "
+msgstr "Ignora gradiente del pannello "
+
+#: Settings.ui.h:179
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Colore superiore del gradiente e opacità (%)"
+
+#: Settings.ui.h:181
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Colore inferiore del gradiente e opacità (%)"
+
+#: Settings.ui.h:182
+msgid "Style"
+msgstr "Stile"
+
+#: Settings.ui.h:183
+msgid "Show favorite applications"
+msgstr "Mostra applicazioni preferite"
+
+#: Settings.ui.h:184
+msgid "Show running applications"
+msgstr "Mostra le applicazioni in esecuzione"
+
+#: Settings.ui.h:185
+msgid "Show favorite applications on secondary panels"
+msgstr "Mostra le applicazioni preferite sui pannelli secondari"
+
+#: Settings.ui.h:186
+msgid "Show AppMenu button"
+msgstr "Mostra pulsante AppMenu"
+
+#: Settings.ui.h:187
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr "In Estensioni deve essere abilitato il Menù dell'applicazione"
+
+#: Settings.ui.h:188
+msgid "Show window previews on hover"
+msgstr "Mostra anteprime finestre al passaggio"
+
+#: Settings.ui.h:189
+msgid "Show tooltip on hover"
+msgstr "Mostra suggerimento al passaggio"
+
+#: Settings.ui.h:190
+msgid "Isolate Workspaces"
+msgstr "Isola spazi di lavoro"
+
+#: Settings.ui.h:191
+msgid "Isolate monitors"
+msgstr "Isola monitor"
+
+#: Settings.ui.h:192
+msgid "Ungroup applications"
+msgstr "Non raggruppare applicazioni"
+
+#: Settings.ui.h:193
+msgid "Behavior"
+msgstr "Comportamento"
+
+#: Settings.ui.h:194
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Comportamento al clic sull'icona di un'app in esecuzione."
+
+#: Settings.ui.h:195
+msgid "Click action"
+msgstr "Azione al clic"
+
+#: Settings.ui.h:196
+msgid "Toggle windows"
+msgstr "Commuta le finestre"
+
+#: Settings.ui.h:197
+msgid "Scroll panel action"
+msgstr "Azione scorrimento pannello"
+
+#: Settings.ui.h:198
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Comportamento durante lo scorrimento del mouse sul pannello."
+
+#: Settings.ui.h:199
+msgid "Scroll icon action"
+msgstr "Azione scorrimento icona"
+
+#: Settings.ui.h:200
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr ""
+"Comportamento quando si scorre il mouse sopra l'icona di un'applicazione."
+
+#: Settings.ui.h:201
+msgid "Do nothing"
+msgstr "Nessuna azione"
+
+#: Settings.ui.h:202
+msgid "Switch workspace"
+msgstr "Cambia spazio di lavoro"
+
+#: Settings.ui.h:203
+msgid "Cycle windows"
+msgstr "Cicla le finestre"
+
+#: Settings.ui.h:204
+msgid "Change volume"
+msgstr "Cambia il volume"
+
+#: Settings.ui.h:205
+msgid "Same as panel"
+msgstr "Stesso del pannello"
+
+#: Settings.ui.h:206
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Abilita Super+(0-9) come scorciatoia per attivare le app. Può essere usato "
+"assieme a Shift e Ctrl."
+
+#: Settings.ui.h:207
+msgid "Use hotkeys to activate apps"
+msgstr "Usa scorciatoie per attivare app"
+
+#: Settings.ui.h:208
+msgid "Action"
+msgstr "Azioni"
+
+#: Settings.ui.h:209
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Dimens. Font Tray\n"
+"(0 = predefinito)"
+
+#: Settings.ui.h:211
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Dimens. Font LeftBox\n"
+"(0 = predefinito)"
+
+#: Settings.ui.h:213
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Spaziatura Icone Tray\n"
+"(-1 = predefinito)"
+
+#: Settings.ui.h:215
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Spaziatura icone stato\n"
+"(-1 = predefinito)"
+
+#: Settings.ui.h:217
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Spaziatura LeftBox\n"
+"(-1 = predefinito)"
+
+#: Settings.ui.h:219
+msgid "Animate switching applications"
+msgstr "Animazione passaggio tra applicazioni"
+
+#: Settings.ui.h:220
+msgid "Animate launching new windows"
+msgstr "Animazione apertura nuove finestre"
+
+#: Settings.ui.h:221
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Mantieni dash originale di gnome-shell (schermata panoramica)"
+
+#: Settings.ui.h:222
+msgid "Force Activities hot corner on primary monitor"
+msgstr "Forza angolo attivo delle attività sul monitor principale"
+
+#: Settings.ui.h:223
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr ""
+"Attiva i pulsanti del menu del pannello (ad es. Menu della data) solo al clic"
+
+#: Settings.ui.h:224
+msgid "Keep original gnome-shell top panel"
+msgstr "Mantieni il pannello superiore della gnome-shell originale"
+
+#: Settings.ui.h:225
+msgid "App icon secondary (right-click) menu"
+msgstr "Menu secondario (clic destro) delle icone"
+
+#: Settings.ui.h:227
+msgid "Fine-Tune"
+msgstr "Perfeziona"
+
+#: Settings.ui.h:228
+msgid "version: "
+msgstr "versione: "
+
+#: Settings.ui.h:229
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:230
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Usa i tasti qui sotto per salvare in un file le tue preferenze attuali che "
+"potranno essere importate su altri computer."
+
+#: Settings.ui.h:231
+msgid "Export and import settings"
+msgstr "Esporta e importa impostazioni"
+
+#: Settings.ui.h:232
+msgid "Export to file"
+msgstr "Esporta su file"
+
+#: Settings.ui.h:233
+msgid "Import from file"
+msgstr "Importa da file"
+
+#: Settings.ui.h:234
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Ciò consente di aggiornare l'estensione direttamente dal repository GitHub."
+
+#: Settings.ui.h:235
+msgid "Updates"
+msgstr "Aggiornamenti"
+
+#: Settings.ui.h:236
+msgid "Periodically check for updates"
+msgstr "Controlla periodicamente per gli aggiornamenti"
+
+#: Settings.ui.h:237
+msgid "Check now"
+msgstr "Controlla ora"
+
+#: Settings.ui.h:238
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Attenzione, queste versioni "
+"ufficiali di Dash to Panel potrebbero non essere ancora esaminate su "
+"extensions.gnome.org! Leggi di più"
+
+#: Settings.ui.h:239
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Questo programma è fornito SENZA NESSUNA GARANZIA.\n"
+"Vedere GNU General Public License, versione 2 o successive per dettagli."
+"span>"
+
+#: Settings.ui.h:241
+msgid "About"
+msgstr "Informazioni su"
+
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "In alto, con le icone dei plugin raggruppate in bassoa"
+
+msgid "Left, with plugin icons collapsed to right"
+msgstr "A sinistra, con le icone dei plugin raggruppate a destra"
+
+msgid "Top, with fixed center plugin icons"
+msgstr "In alto, con le icone dei plugin fisse al centro"
+
+msgid "Left, with fixed center plugin icons"
+msgstr "A sinistra, con le icone dei plugin fisse al centro"
+
+msgid "Top, with floating center plugin icons"
+msgstr "In cima, con le icone dei plugin flottanti al centro"
+
+msgid "Left, with floating center plugin icons"
+msgstr "Sinistra, con le icone dei plugin flottanti al centro"
+
+msgid "Center, fixed in middle of monitor"
+msgstr "Centrato, fisso al centro del monitor"
+
+msgid "Center, floating between top and bottom elements"
+msgstr "Centrato, flottante tra elementi in cima e in basso"
+
+msgid "Center, floating between left and right elements"
+msgstr "Centrato, flottante tra elementi a destra e sinistra"
+
+msgid "Top of plugin icons"
+msgstr "In cima alle icone dei plugin"
+
+msgid "Left of plugin icons"
+msgstr "Sinistra delle icone plugin"
+
+msgid "Bottom of plugin icons"
+msgstr "In fondo alle icone dei plugin"
+
+msgid "Right of plugin icons"
+msgstr "Destra delle icone plugin"
+
+msgid "Top of system indicators"
+msgstr "In cima agli indicatori di sistema"
+
+msgid "Left of system indicators"
+msgstr "Sinistra degli indicatori di sistema"
+
+msgid "Bottom of system indicators"
+msgstr "In fondo agli indicatori di sistema"
+
+msgid "Right of system indicators"
+msgstr "Destra degli indicatori di sistema"
+
+msgid "Left of taskbar"
+msgstr "Sinistra della taskbar"
+
+msgid "Bottom of taskbar"
+msgstr "In fondo alla taskbar"
+
+msgid "Right of taskbar"
+msgstr "Destra della taskbar"
+
+msgid "Display the clock on additional panels"
+msgstr "Mostra l'orologio su pannelli aggiuntivi"
+
+msgid "Display the clock on secondary panels"
+msgstr "Visualizza l'orologio su pannelli secondari"
+
+msgid "Display the status menu on additional panels"
+msgstr "Mostra il menu di stato su pannelli aggiuntivi"
+
+msgid "Display the status menu on secondary panels"
+msgstr "Mostra il menu di stato su pannelli secondari"
+
+msgid "Taskbar position"
+msgstr "Posizione taskbar"
+
+msgid "Clock location"
+msgstr "Posizione orologio"
+
+msgid ""
+"For the following 2 options, \"additional\" refers to panels that are "
+"displayed in addition to the gnome-shell top panel."
+msgstr ""
+"Per le seguenti 2 opzioni, \"aggiuntivo\" si riferisce ai pannelli che "
+"vengono visualizzati in aggiunta al pannello superiore di gnome-shell."
+
+msgid "Show Applications icon"
+msgstr "Mostra icona Applicazioni"
+
+msgid "Multi-monitors options"
+msgstr "Opzioni multi-monitor"
+
+msgid "Event logs"
+msgstr "Registro degli eventi"
+
+msgid "System"
+msgstr "Sistema"
+
+msgid "Device Management"
+msgstr "Gestione dispositivi"
+
+msgid "Disk Management"
+msgstr "Gestione disco"
+
+msgid "Terminal"
+msgstr "Terminale"
+
+msgid "Extensions"
+msgstr "Estensioni"
+
+msgid "Files"
+msgstr "Esplora file"
+
+msgid "Settings"
+msgstr "Impostazioni"
+
+msgid "Display favorite applications on all monitors"
+msgstr "Mostra applicazioni preferite su tutti i monitor"
+
+msgid "Highlight color"
+msgstr "Colore evidenziazione"
+
+msgid "Preview timeout on icon leave (ms)"
+msgstr "Timeout anteprima uscendo dall'icona (ms)"
+
+msgid ""
+"If set too low, the window preview of running applications may seem to "
+"close too quickly when trying to enter the popup. If set too high, the "
+"preview may linger too long when moving to an adjacent icon."
+msgstr ""
+"Se troppo basso, l'anteprima delle applicazioni in esecuzione potrebbe "
+"chiudersi troppo presto quando si entra nel popup. Se troppo alto, "
+"l'anteprima potrebbe persistere troppo a lungo quando si cambia icona."
+
+msgid "Middle click to close window"
+msgstr "Clic centrale per chiudere la finestra"
+
+msgid "Width of the window previews (px)"
+msgstr "Larghezza delle anteprime (px)"
+
+msgid "Height of the window previews (px)"
+msgstr "Altezza delle anteprime (px)"
+
+msgid "Padding of the window previews (px)"
+msgstr "Spaziatura delle anteprime (px)"
+
+msgid "Natural"
+msgstr "Naturale"
+
+msgid "Left side of panel"
+msgstr "A sinistra del pannello"
+
+msgid "Centered in content"
+msgstr "Centrato nel contenuto"
+
+msgid "Github"
+msgstr "GitHub"
+
+msgid "Weekday"
+msgstr "Giorno della settimana"
+
+msgid "Date"
+msgstr "Data"
+
+msgid "Seconds"
+msgstr "Secondi"
+
+msgid "System Monitor"
+msgstr "Monitor di sistema"
diff --git a/po/ja.po b/po/ja.po
new file mode 100644
index 0000000..5cb4292
--- /dev/null
+++ b/po/ja.po
@@ -0,0 +1,1455 @@
+# Japanese translations for Dash to Panel.
+# Copyright (C) 2017-2021 dash-to-panel's COPYRIGHT HOLDER
+# This file is distributed under the same license as the dash-to-panel package.
+# Shinichirou Yamada , 2017-2018.
+# sicklylife , 2018-2021.
+# Ryo Nakano , 2019.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2021-01-03 21:05+0900\n"
+"PO-Revision-Date: 2021-01-03 21:52+0900\n"
+"Last-Translator: sicklylife \n"
+"Language-Team: Japanese\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: Settings.ui:43
+msgid "Nothing yet!"
+msgstr "まだ何もありません!"
+
+#: Settings.ui:98
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"最小化に設定する場合、ダブルクリックでそのアプリケーションのすべてのウィンド"
+"ウを最小化します。"
+
+#: Settings.ui:116
+msgid "Shift+Click action"
+msgstr "Shift + クリックの動作"
+
+#: Settings.ui:130 Settings.ui:201 Settings.ui:272 Settings.ui:6529
+msgid "Raise windows"
+msgstr "ウィンドウを最前面に移動"
+
+#: Settings.ui:131 Settings.ui:202 Settings.ui:273
+msgid "Minimize window"
+msgstr "ウィンドウを最小化"
+
+#: Settings.ui:132 Settings.ui:203 Settings.ui:274 Settings.ui:6530
+msgid "Launch new instance"
+msgstr "新規インスタンスを起動"
+
+#: Settings.ui:133 Settings.ui:204 Settings.ui:275 Settings.ui:6526
+msgid "Cycle through windows"
+msgstr "ウィンドウを循環表示"
+
+#: Settings.ui:134 Settings.ui:205 Settings.ui:276 Settings.ui:6525
+msgid "Cycle windows + minimize"
+msgstr "ウィンドウを循環 + 最小化"
+
+#: Settings.ui:135 Settings.ui:206 Settings.ui:277 Settings.ui:6527
+msgid "Toggle single / Preview multiple"
+msgstr "ウィンドウが 1 つなら切り替え"
+
+#: Settings.ui:169
+msgid "Behavior for Middle-Click."
+msgstr "中クリック時の挙動です。"
+
+#: Settings.ui:187
+msgid "Middle-Click action"
+msgstr "中クリックの動作"
+
+#: Settings.ui:240
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Shift + 中クリック時の挙動です。"
+
+#: Settings.ui:258
+msgid "Shift+Middle-Click action"
+msgstr "Shift + 中クリックの動作"
+
+#: Settings.ui:337
+msgid "Integrate AppMenu items"
+msgstr "アプリケーションメニューの項目を統合"
+
+#: Settings.ui:383
+msgid "Show Details menu item"
+msgstr "詳細を表示するメニュー項目を表示"
+
+#: Settings.ui:481
+msgid "Highlight focused application"
+msgstr "フォーカスされたアプリをハイライト"
+
+#: Settings.ui:512
+msgid "Icon dominant color"
+msgstr "アイコンのドミナントカラー"
+
+#: Settings.ui:537
+msgid "Custom color"
+msgstr "カスタムカラー"
+
+#: Settings.ui:562
+msgid "Highlight opacity"
+msgstr "ハイライトの不透明度"
+
+#: Settings.ui:614
+msgid "Indicator size (px)"
+msgstr "インジケーターのサイズ (px)"
+
+#: Settings.ui:658
+msgid "Indicator color - Icon Dominant"
+msgstr "インジケーターの色 - アイコンのドミナント"
+
+#: Settings.ui:704
+msgid "Indicator color - Override Theme"
+msgstr "インジケーターの色 - テーマを上書き"
+
+#: Settings.ui:747 Settings.ui:933
+msgid "1 window open (or ungrouped)"
+msgstr "ウィンドウを 1 つ開く (または非グループ化)"
+
+#: Settings.ui:762 Settings.ui:948
+msgid "Apply to all"
+msgstr "すべてに適用"
+
+#: Settings.ui:798 Settings.ui:984
+msgid "2 windows open"
+msgstr "ウィンドウを 2 つ開く"
+
+#: Settings.ui:811 Settings.ui:1009
+msgid "3 windows open"
+msgstr "ウィンドウを 3 つ開く"
+
+#: Settings.ui:824 Settings.ui:1034
+msgid "4+ windows open"
+msgstr "ウィンドウを 4 つ以上開く"
+
+#: Settings.ui:890
+msgid "Use different for unfocused"
+msgstr "非フォーカスの場合は異なる色を使用"
+
+#: Settings.ui:1141
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "アプリケーションタイトルのフォントサイズ (px) (初期値は 14)"
+
+#: Settings.ui:1172
+msgid "Font weight of application titles"
+msgstr "アプリケーションタイトルのフォントの幅"
+
+#: Settings.ui:1186 Settings.ui:2911
+msgid "inherit from theme"
+msgstr "テーマに依存"
+
+#: Settings.ui:1187 Settings.ui:2912
+msgid "normal"
+msgstr "普通"
+
+#: Settings.ui:1188 Settings.ui:2913
+msgid "lighter"
+msgstr "細い"
+
+#: Settings.ui:1189 Settings.ui:2914
+msgid "bold"
+msgstr "太い"
+
+#: Settings.ui:1190 Settings.ui:2915
+msgid "bolder"
+msgstr "より太い"
+
+#: Settings.ui:1220
+msgid "Font color of the application titles"
+msgstr "アプリケーションタイトルのフォントの色"
+
+#: Settings.ui:1263
+msgid "Font color of the minimized application titles"
+msgstr "アプリケーションタイトルのフォントの色 (最小化時)"
+
+#: Settings.ui:1306
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "アプリケーションタイトルの最大幅 (px) (初期値は 160)"
+
+#: Settings.ui:1351
+msgid "Use a fixed width for the application titles"
+msgstr "アプリケーションタイトルの幅を固定"
+
+#: Settings.ui:1376
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"アプリケーションタイトルが最大幅より短い場合でも、幅を維持します。最大幅の値"
+"が固定幅の値として使用されます。"
+
+#: Settings.ui:1412
+msgid "Display running indicators on unfocused applications"
+msgstr "フォーカスされていないアプリケーションのインジケーターを表示"
+
+#: Settings.ui:1454
+msgid "Use the favorite icons as application launchers"
+msgstr "アプリケーションランチャーとしてお気に入りアイコンを使用"
+
+#: Settings.ui:1552
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "ウィンドウが重なっている場合にのみパネルを隠す "
+
+#: Settings.ui:1584
+msgid "The panel hides from"
+msgstr "対象のウィンドウ"
+
+#: Settings.ui:1598 Settings.ui:4355
+msgid "All windows"
+msgstr "すべてのウィンドウ"
+
+#: Settings.ui:1599 Settings.ui:4356
+msgid "Focused windows"
+msgstr "フォーカスされたウィンドウ"
+
+#: Settings.ui:1600 Settings.ui:4357
+msgid "Maximized windows"
+msgstr "最大化されたウィンドウ"
+
+#: Settings.ui:1638
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "マウスカーソルを画面端へ押し当てることでパネルを表示"
+
+#: Settings.ui:1670
+msgid "Required pressure threshold (px)"
+msgstr "表示に必要な値 (px)"
+
+#: Settings.ui:1699
+msgid "Required pressure timeout (ms)"
+msgstr "押し当てのタイムアウト (ミリ秒)"
+
+#: Settings.ui:1754
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "フルスクリーンモード時でのパネルの表示を許可"
+
+#: Settings.ui:1798
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "マルチモニター環境でセカンダリーパネルのみ隠す"
+
+#: Settings.ui:1841
+msgid "e.g. i"
+msgstr "例: i"
+
+#: Settings.ui:1854
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "パネルを表示して固定するキーボードショートカット"
+
+#: Settings.ui:1866 Settings.ui:3641
+msgid "Syntax: , , , "
+msgstr "シンタックス: 、、、"
+
+#: Settings.ui:1901
+msgid "Hide and reveal animation duration (ms)"
+msgstr "表示/非表示アニメーションの長さ (ミリ秒)"
+
+#: Settings.ui:1947
+msgid "Delay before hiding the panel (ms)"
+msgstr "パネルを隠す前の遅延 (ミリ秒)"
+
+#: Settings.ui:1994
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "起動時に Intellihide を有効にする前の遅延 (ミリ秒)"
+
+#: Settings.ui:2158
+msgid "Time (ms) before showing (400 is default)"
+msgstr "表示までの時間 (ミリ秒) (初期値は 400)"
+
+#: Settings.ui:2172
+msgid "Animation time (ms)"
+msgstr "アニメーション時間 (ミリ秒)"
+
+#: Settings.ui:2205
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "隠すまでの時間 (ミリ秒) (初期値は 100)"
+
+#: Settings.ui:2229
+msgid "Immediate on application icon click"
+msgstr "アプリケーションアイコンをクリックしたら即隠す"
+
+#: Settings.ui:2285
+msgid "Middle click on the preview to close the window"
+msgstr "プレビュー上での中クリックでウィンドウを閉じる"
+
+#: Settings.ui:2329
+msgid "Window previews preferred size (px)"
+msgstr "ウィンドウプレビューの優先サイズ (px)"
+
+#: Settings.ui:2360
+msgid "Window previews aspect ratio Y (height)"
+msgstr "ウィンドウプレビューの Y アスペクト比 (高さ)"
+
+#: Settings.ui:2375
+msgid "Window previews padding (px)"
+msgstr "ウィンドウプレビューのパディング (px)"
+
+#: Settings.ui:2415 Settings.ui:2493
+msgid "1"
+msgstr "1"
+
+#: Settings.ui:2416 Settings.ui:2494
+msgid "2"
+msgstr "2"
+
+#: Settings.ui:2417 Settings.ui:2495
+msgid "3"
+msgstr "3"
+
+#: Settings.ui:2418 Settings.ui:2496
+msgid "4"
+msgstr "4"
+
+#: Settings.ui:2419 Settings.ui:2497 Settings.ui:2616
+msgid "5"
+msgstr "5"
+
+#: Settings.ui:2420 Settings.ui:2498
+msgid "6"
+msgstr "6"
+
+#: Settings.ui:2421 Settings.ui:2499
+msgid "7"
+msgstr "7"
+
+#: Settings.ui:2422 Settings.ui:2500
+msgid "8"
+msgstr "8"
+
+#: Settings.ui:2423 Settings.ui:2501
+msgid "9"
+msgstr "9"
+
+#: Settings.ui:2424 Settings.ui:2502
+msgid "10"
+msgstr "10"
+
+#: Settings.ui:2425 Settings.ui:2503
+msgid "11"
+msgstr "11"
+
+#: Settings.ui:2426 Settings.ui:2504
+msgid "12"
+msgstr "12"
+
+#: Settings.ui:2427 Settings.ui:2505
+msgid "13"
+msgstr "13"
+
+#: Settings.ui:2428 Settings.ui:2506
+msgid "14"
+msgstr "14"
+
+#: Settings.ui:2429 Settings.ui:2507
+msgid "15"
+msgstr "15"
+
+#: Settings.ui:2430 Settings.ui:2508
+msgid "16"
+msgstr "16"
+
+#: Settings.ui:2431 Settings.ui:2509
+msgid "17"
+msgstr "17"
+
+#: Settings.ui:2432 Settings.ui:2510
+msgid "18"
+msgstr "18"
+
+#: Settings.ui:2433 Settings.ui:2511
+msgid "19"
+msgstr "19"
+
+#: Settings.ui:2434 Settings.ui:2512
+msgid "20"
+msgstr "20"
+
+#: Settings.ui:2435 Settings.ui:2513
+msgid "21"
+msgstr "21"
+
+#: Settings.ui:2446 Settings.ui:2524
+msgid "Fixed"
+msgstr "固定"
+
+#: Settings.ui:2469
+msgid "Window previews aspect ratio X (width)"
+msgstr "ウィンドウプレビューの X アスペクト比 (幅)"
+
+#: Settings.ui:2564
+msgid "Use custom opacity for the previews background"
+msgstr "プレビューの背景にカスタム不透明度を使用"
+
+#: Settings.ui:2578
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr "無効の場合、プレビューの背景はパネルの不透明度と同一になります"
+
+#: Settings.ui:2654
+msgid "Close button and header position"
+msgstr "閉じるボタンとヘッダーの位置"
+
+#: Settings.ui:2671 Settings.ui:4859 Settings.ui:5224
+msgid "Bottom"
+msgstr "下"
+
+#: Settings.ui:2689 Settings.ui:4878 Settings.ui:5241
+msgid "Top"
+msgstr "上"
+
+#: Settings.ui:2735
+msgid "Display window preview headers"
+msgstr "ウィンドウプレビューのヘッダーを表示"
+
+#: Settings.ui:2807
+msgid "Icon size (px) of the window preview"
+msgstr "ウィンドウプレビューのアイコンサイズ (px)"
+
+#: Settings.ui:2821
+msgid "If disabled, the previews icon size will be based on headerbar size"
+msgstr "無効の場合、ヘッダーバーのサイズを基準にしてアイコンサイズを設定します"
+
+#: Settings.ui:2869
+msgid "Font size (px) of the preview titles"
+msgstr "プレビュータイトルのフォントサイズ (px)"
+
+#: Settings.ui:2896
+msgid "Font weight of the preview titles"
+msgstr "プレビュータイトルのフォント幅"
+
+#: Settings.ui:2941
+msgid "Font color of the preview titles"
+msgstr "プレビュータイトルのフォントの色"
+
+#: Settings.ui:2992
+msgid "Enable window peeking"
+msgstr "ウィンドウの覗き見を有効化"
+
+#: Settings.ui:3018
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"ウィンドウのプレビューにしばらくの間マウスホバーし続けると、そのウィンドウ以"
+"外が透明化されます。"
+
+#: Settings.ui:3043
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "ウィンドウ覗き見モードに入る時間 (ミリ秒)"
+
+#: Settings.ui:3057
+msgid "50"
+msgstr "50"
+
+#: Settings.ui:3072
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"ウィンドウ覗き見モードに入るには、ウィンドウのプレビューにマウスホバーしたま"
+"ま、しばらく動かさずに待つ必要があります。"
+
+#: Settings.ui:3104
+msgid "Window peeking mode opacity"
+msgstr "ウィンドウ覗き見モードの不透明度"
+
+#: Settings.ui:3118 Settings.ui:3903 Settings.ui:4448 Settings.ui:5607
+#: Settings.ui:5825 Settings.ui:5863
+msgid "0"
+msgstr "0"
+
+#: Settings.ui:3132
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"選択したウィンドウ以外のすべてのウィンドウの不透明度が、設定した値になりま"
+"す。"
+
+#: Settings.ui:3212 Settings.ui:3300
+msgid "Delay between mouse scroll events (ms)"
+msgstr "マウススクロールイベント間の遅延 (ミリ秒)"
+
+#: Settings.ui:3226 Settings.ui:3314
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr "マウススクロールを検知した後、指定した時間スクロールに反応しません。"
+
+#: Settings.ui:3348
+msgid "Show popup when changing workspace"
+msgstr "ワークスペース切り替え時にポップアップを表示"
+
+#: Settings.ui:3362
+msgid "This affects workspace popup when scrolling on the panel only."
+msgstr ""
+"これはパネル上でスクロールしたときのワークスペースのポップアップにのみ影響します。"
+
+#: Settings.ui:3444
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui:3445
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui:3459
+msgid "Hotkeys prefix"
+msgstr "ホットキーのプレフィックス"
+
+#: Settings.ui:3471
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "ホットキーは Super + 数字キー、Super + Alt + 数字キーのどちらかです。"
+
+#: Settings.ui:3509
+msgid "Never"
+msgstr "表示しない"
+
+#: Settings.ui:3510
+msgid "Show temporarily"
+msgstr "一時的に表示"
+
+#: Settings.ui:3511
+msgid "Always visible"
+msgstr "常に表示"
+
+#: Settings.ui:3525
+msgid "Number overlay"
+msgstr "番号の表示"
+
+#: Settings.ui:3537
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"ホットキー使用時、アプリケーションのアイコン上に番号を一時的に表示します。"
+
+#: Settings.ui:3586
+msgid "Hide timeout (ms)"
+msgstr "非表示にするまでの時間 (ミリ秒)"
+
+#: Settings.ui:3616
+msgid "e.g. q"
+msgstr "例: q"
+
+#: Settings.ui:3629
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "番号を 2 秒間表示するショートカットキー"
+
+#: Settings.ui:3676
+msgid "Show window previews on hotkey"
+msgstr "ホットキーでウィンドウプレビューを表示"
+
+#: Settings.ui:3703
+msgid "Show previews when the application have multiple instances"
+msgstr "アプリケーションのインスタンスが複数ある場合はプレビューを表示します"
+
+#: Settings.ui:3740
+msgid "Number row"
+msgstr "数字キー"
+
+#: Settings.ui:3741
+msgid "Numeric keypad"
+msgstr "テンキー"
+
+#: Settings.ui:3742
+msgid "Both"
+msgstr "両方"
+
+#: Settings.ui:3756
+msgid "Hotkeys are activated with"
+msgstr "ホットキーに使用するキー"
+
+#: Settings.ui:3768
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr "キーボードのどちら側の数字キーをホットキーに使用するかを選択します"
+
+#: Settings.ui:3823
+msgid "Current Show Applications icon"
+msgstr "現在のアプリケーション表示アイコン"
+
+#: Settings.ui:3853
+msgid "Select a Show Applications image icon"
+msgstr "アプリケーション表示の画像アイコンを選択"
+
+#: Settings.ui:3865
+msgid "Custom Show Applications image icon"
+msgstr "カスタムアイコン"
+
+#: Settings.ui:3916
+msgid "Show Applications icon side padding (px)"
+msgstr "アプリケーション表示アイコンのパディング (px)"
+
+#: Settings.ui:3963
+msgid "Override escape key and return to desktop"
+msgstr "Esc キーで直接デスクトップに戻る"
+
+#: Settings.ui:3999
+msgid "Animate Show Applications."
+msgstr "アプリケーションの表示にアニメーションを使用"
+
+#: Settings.ui:4102
+msgid "Override Show Desktop line color"
+msgstr "デスクトップ表示ボタンの境目の色を上書き"
+
+#: Settings.ui:4173
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "デスクトップ表示ボタンにマウスホバーでデスクトップを表示"
+
+#: Settings.ui:4204
+msgid "Delay before revealing the desktop (ms)"
+msgstr "表示するまでの遅延時間 (ミリ秒)"
+
+#: Settings.ui:4234
+msgid "Fade duration (ms)"
+msgstr "フェード時間 (ミリ秒)"
+
+#: Settings.ui:4341
+msgid "The panel background opacity is affected by"
+msgstr "パネル背景の不透明度に影響を与えるウィンドウ"
+
+#: Settings.ui:4403
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "不透明度を変更するウィンドウの距離 (px)"
+
+#: Settings.ui:4433
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "不透明度を次に変更 (%)"
+
+#: Settings.ui:4496
+msgid "Opacity change animation duration (ms)"
+msgstr "不透明度変更アニメーションの継続時間 (ミリ秒)"
+
+#: Settings.ui:4572
+msgid "Display the main panel on"
+msgstr "メインパネルの表示"
+
+#: Settings.ui:4614
+msgid "Display panels on all monitors"
+msgstr "すべてのモニターにパネルを表示"
+
+#: Settings.ui:4681
+msgid "Panel Intellihide"
+msgstr "パネルの Intellihide"
+
+#: Settings.ui:4745
+msgid "Hide and reveal the panel according to preferences"
+msgstr "パネルを自動的に隠したり表示したりします"
+
+#: Settings.ui:4798
+msgid "Order and positions on monitor"
+msgstr "モニター上での順序と位置"
+
+#: Settings.ui:4819
+msgid "Apply changes to all monitors"
+msgstr "変更内容をすべてのモニターに適用する"
+
+#: Settings.ui:4843
+msgid "Panel screen position"
+msgstr "パネルの表示位置"
+
+#: Settings.ui:4898 Settings.ui:5259
+msgid "Left"
+msgstr "左"
+
+#: Settings.ui:4918 Settings.ui:5276
+msgid "Right"
+msgstr "右"
+
+#: Settings.ui:4991
+msgid "Position"
+msgstr "位置"
+
+#: Settings.ui:5036
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"パネルのサイズ\n"
+"(初期値は 48)"
+
+#: Settings.ui:5086
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"アプリのアイコンのマージン\n"
+"(初期値は 8)"
+
+#: Settings.ui:5135
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"アプリのアイコンのパディング\n"
+"(初期値は 4)"
+
+#: Settings.ui:5208
+msgid "Running indicator position"
+msgstr "実行中インジケーターの位置"
+
+#: Settings.ui:5321
+msgid "Running indicator style (Focused app)"
+msgstr "実行中インジケーターのスタイル (フォーカス)"
+
+#: Settings.ui:5365 Settings.ui:5426
+msgid "Dots"
+msgstr ""
+
+#: Settings.ui:5366 Settings.ui:5427
+msgid "Squares"
+msgstr ""
+
+#: Settings.ui:5367 Settings.ui:5428
+msgid "Dashes"
+msgstr ""
+
+#: Settings.ui:5368 Settings.ui:5429
+msgid "Segmented"
+msgstr ""
+
+#: Settings.ui:5369 Settings.ui:5430
+msgid "Solid"
+msgstr ""
+
+#: Settings.ui:5370 Settings.ui:5431
+msgid "Ciliora"
+msgstr ""
+
+#: Settings.ui:5371 Settings.ui:5432
+msgid "Metro"
+msgstr ""
+
+#: Settings.ui:5410
+msgid "Running indicator style (Unfocused apps)"
+msgstr "実行中インジケーターのスタイル (非フォーカス)"
+
+#: Settings.ui:5486
+msgid "Override panel theme background color "
+msgstr "パネルテーマの背景色を上書き "
+
+#: Settings.ui:5559
+msgid "Override panel theme background opacity"
+msgstr "パネルテーマ背景の不透明度を上書き"
+
+#: Settings.ui:5592
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "パネル背景の不透明度 (%)"
+
+#: Settings.ui:5626
+msgid "Dynamic background opacity"
+msgstr "動的な背景透過"
+
+#: Settings.ui:5641
+msgid "Change opacity when a window gets close to the panel"
+msgstr "パネルにウィンドウが近づいたら不透明度を変更します"
+
+#: Settings.ui:5748
+msgid "Override panel theme gradient "
+msgstr "パネルテーマのグラデーションを上書き "
+
+#: Settings.ui:5781
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "グラデーションの開始色と不透明度 (%)"
+
+#: Settings.ui:5794
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "グラデーションの終了色と不透明度 (%)"
+
+#: Settings.ui:5910
+msgid "Style"
+msgstr "スタイル"
+
+#: Settings.ui:5969
+msgid "Show favorite applications"
+msgstr "お気に入りのアプリケーションを表示"
+
+#: Settings.ui:5982
+msgid "Show running applications"
+msgstr "実行中のアプリケーションを表示"
+
+#: Settings.ui:6019
+msgid "Show favorite applications on secondary panels"
+msgstr "お気に入りのアプリケーションをセカンダリーパネルに表示"
+
+#: Settings.ui:6064
+msgid "Show AppMenu button"
+msgstr "アプリケーションメニューボタンを表示"
+
+#: Settings.ui:6078
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Tweak Tool で「トップバー」 > 「アプリケーションメニュー」を有効にする必要が"
+"あります"
+
+#: Settings.ui:6164
+msgid "Show window previews on hover"
+msgstr "マウスホバー時にウィンドウのプレビューを表示"
+
+#: Settings.ui:6190
+msgid "Show tooltip on hover"
+msgstr "マウスホバー時にツールチップを表示"
+
+#: Settings.ui:6235
+msgid "Isolate Workspaces"
+msgstr "アイコンをワークスペースごとに表示"
+
+#: Settings.ui:6261
+msgid "Isolate monitors"
+msgstr "モニターを分離"
+
+#: Settings.ui:6306
+msgid "Click empty space to close overview"
+msgstr ""
+"オーバービュー画面で何もないところをクリックしたらデスクトップに戻る"
+
+#: Settings.ui:6338
+msgid "Ungroup applications"
+msgstr "アプリケーションを非グループ化"
+
+#: Settings.ui:6421
+msgid "Behavior"
+msgstr "挙動"
+
+#: Settings.ui:6466
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "起動しているアプリケーションのアイコンをクリックしたときの挙動です。"
+
+#: Settings.ui:6483
+msgid "Click action"
+msgstr "クリック時の動作"
+
+#: Settings.ui:6528
+msgid "Toggle windows"
+msgstr "ウィンドウを切り替え"
+
+#: Settings.ui:6587
+msgid "Scroll panel action"
+msgstr "パネルスクロールの動作"
+
+#: Settings.ui:6601
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "パネル上でマウススクロールしたときの挙動です。"
+
+#: Settings.ui:6630
+msgid "Scroll icon action"
+msgstr "アイコンスクロールの動作"
+
+#: Settings.ui:6644
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "アプリアイコン上でマウススクロールしたときの挙動です。"
+
+#: Settings.ui:6693 Settings.ui:6711
+msgid "Do nothing"
+msgstr "何もしない"
+
+#: Settings.ui:6694
+msgid "Switch workspace"
+msgstr "ワークスペースを切り替え"
+
+#: Settings.ui:6695 Settings.ui:6712
+msgid "Cycle windows"
+msgstr "ウィンドウを循環表示"
+
+#: Settings.ui:6696
+msgid "Change volume"
+msgstr "音量を変更"
+
+#: Settings.ui:6713
+msgid "Same as panel"
+msgstr "パネルと同様"
+
+#: Settings.ui:6785
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"アプリを起動するショートカット (Super + 0〜9) を有効にします。Shift や Ctrl "
+"と共に使用できます。"
+
+#: Settings.ui:6803
+msgid "Use hotkeys to activate apps"
+msgstr "ホットキーを使用してアプリを起動"
+
+#: Settings.ui:6886
+msgid "Action"
+msgstr "動作"
+
+#: Settings.ui:6933
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"トレイのフォントサイズ\n"
+"(0 = テーマの既定値)"
+
+#: Settings.ui:6964
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"LeftBox のフォントサイズ\n"
+"(0 = テーマの既定値)"
+
+#: Settings.ui:7037
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"トレイアイテムのパディング\n"
+"(-1 = テーマの既定値)"
+
+#: Settings.ui:7068
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"ステータスアイコンのパディング\n"
+"(-1 = テーマの既定値)"
+
+#: Settings.ui:7099
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"LeftBox のパディング\n"
+"(-1 = テーマの既定値)"
+
+#: Settings.ui:7170
+msgid "Animate switching applications"
+msgstr "アプリケーション切り替え時のアニメーション効果"
+
+#: Settings.ui:7207
+msgid "Animate launching new windows"
+msgstr "新しいウィンドウを開くときのアニメーション効果"
+
+#: Settings.ui:7258
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "オリジナルの GNOME Shell Dash を維持 (オーバービュー画面)"
+
+#: Settings.ui:7283
+msgid "Force Activities hot corner on primary monitor"
+msgstr "プライマリーモニターのアクティビティホットコーナーを強制"
+
+#: Settings.ui:7308
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "パネルの日付メニューやシステムメニューをクリック時のみ有効化"
+
+#: Settings.ui:7333
+msgid "Keep original gnome-shell top panel"
+msgstr "オリジナルの GNOME Shell トップバーを維持"
+
+#: Settings.ui:7400
+msgid "App icon secondary (right-click) menu"
+msgstr "アプリアイコンのセカンダリー (右クリック) メニュー"
+
+#: Settings.ui:7470
+msgid "Fine-Tune"
+msgstr "微調整"
+
+#: Settings.ui:7516
+msgid "version: "
+msgstr "バージョン: "
+
+#: Settings.ui:7546
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui:7599
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"以下のボタンを使用して現在の設定から設定ファイルを作成し、別のマシンにイン"
+"ポートできます。"
+
+#: Settings.ui:7617
+msgid "Export and import settings"
+msgstr "設定のエクスポートとインポート"
+
+#: Settings.ui:7627
+msgid "Export to file"
+msgstr "ファイルにエクスポート"
+
+#: Settings.ui:7639
+msgid "Import from file"
+msgstr "ファイルからインポート"
+
+#: Settings.ui:7695
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr "GitHub のリポジトリから拡張機能を直接アップデートできます。"
+
+#: Settings.ui:7714
+msgid "Updates"
+msgstr "アップデート"
+
+#: Settings.ui:7727
+msgid "Periodically check for updates"
+msgstr "アップデートを定期的に確認"
+
+#: Settings.ui:7755
+msgid "Check now"
+msgstr "今すぐ確認"
+
+#: Settings.ui:7779
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"この機能でアップデートされる Dash to "
+"Panel は公式のものではありますが、まだ extensions.gnome.org でレビューされて"
+"いない可能性があることにご注意ください! 詳細はこちら"
+
+#: Settings.ui:7811
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"このプログラムは全くの無保証です。\n"
+"詳しくは GNU General Public License, version 2 またはそれ以降 "
+"をご確認ください。"
+
+#: Settings.ui:7832
+msgid "About"
+msgstr "Dash to Panel について"
+
+#: appIcons.js:1422
+msgid "Show Details"
+msgstr "詳細を表示"
+
+#: appIcons.js:1440
+msgid "New Window"
+msgstr "新しいウィンドウ"
+
+#: Settings.ui:136 Settings.ui:207 Settings.ui:278 appIcons.js:1440
+#: appIcons.js:1500 appIcons.js:1502
+msgid "Quit"
+msgstr "終了"
+
+#: appIcons.js:1502
+msgid "Windows"
+msgstr "個のウィンドウ"
+
+#: appIcons.js:1792
+msgid "Power options"
+msgstr "電源オプション"
+
+#: appIcons.js:1797
+msgid "Event logs"
+msgstr "イベントログ"
+
+#: appIcons.js:1802
+msgid "System"
+msgstr "システム"
+
+#: appIcons.js:1807
+msgid "Device Management"
+msgstr "デバイス管理"
+
+#: appIcons.js:1812
+msgid "Disk Management"
+msgstr "ディスク管理"
+
+#: appIcons.js:1826
+msgid "Terminal"
+msgstr "端末"
+
+#: appIcons.js:1831
+msgid "System Monitor"
+msgstr "システムモニター"
+
+#: appIcons.js:1836
+msgid "Files"
+msgstr "ファイル"
+
+#: appIcons.js:1841
+msgid "Extensions"
+msgstr "拡張機能"
+
+#: appIcons.js:1846
+msgid "Settings"
+msgstr "設定"
+
+#: appIcons.js:1851
+msgid "Unlock taskbar"
+msgstr "タスクバーをロック解除"
+
+#: appIcons.js:1851
+msgid "Lock taskbar"
+msgstr "タスクバーをロック"
+
+#: appIcons.js:1856
+msgid "Taskbar Settings"
+msgstr "タスクバーの設定"
+
+#: appIcons.js:1869
+msgid "Restore Windows"
+msgstr "ウィンドウを復元"
+
+#: appIcons.js:1869
+msgid "Show Desktop"
+msgstr "デスクトップを表示"
+
+#: panel.js:201
+msgid "Top Bar"
+msgstr "トップバー"
+
+#: prefs.js:206
+msgid "Show Desktop button height (px)"
+msgstr "デスクトップ表示ボタンの高さ (px)"
+
+#: prefs.js:206
+msgid "Show Desktop button width (px)"
+msgstr "デスクトップ表示ボタンの幅 (px)"
+
+#: prefs.js:218
+msgid "Unavailable when gnome-shell top panel is present"
+msgstr "GNOME Shell のトップバーが表示されている場合は利用できません"
+
+#: prefs.js:293
+msgid "Show Applications button"
+msgstr "アプリケーション表示ボタン"
+
+#: prefs.js:294
+msgid "Activities button"
+msgstr "アクティビティボタン"
+
+#: prefs.js:295
+msgid "Taskbar"
+msgstr "タスクバー"
+
+#: prefs.js:296
+msgid "Date menu"
+msgstr "日付メニュー"
+
+#: prefs.js:297
+msgid "System menu"
+msgstr "システムメニュー"
+
+#: prefs.js:298
+msgid "Left box"
+msgstr "左ボックス"
+
+#: prefs.js:299
+msgid "Center box"
+msgstr "中央ボックス"
+
+#: prefs.js:300
+msgid "Right box"
+msgstr "右ボックス"
+
+#: prefs.js:301
+msgid "Desktop button"
+msgstr "デスクトップボタン"
+
+#: prefs.js:307
+msgid "Move up"
+msgstr "上へ移動"
+
+#: prefs.js:309
+msgid "Move down"
+msgstr "下へ移動"
+
+#: prefs.js:311
+msgid "Visible"
+msgstr "表示"
+
+#: prefs.js:312
+msgid "Select element position"
+msgstr "要素の位置を選択してください"
+
+#: prefs.js:323
+msgid "Stacked to top"
+msgstr "上寄せ"
+
+#: prefs.js:323
+msgid "Stacked to left"
+msgstr "左寄せ"
+
+#: prefs.js:324
+msgid "Stacked to bottom"
+msgstr "下寄せ"
+
+#: prefs.js:324
+msgid "Stacked to right"
+msgstr "右寄せ"
+
+#: prefs.js:325
+msgid "Centered"
+msgstr "中央"
+
+#: prefs.js:326
+msgid "Monitor Center"
+msgstr "モニターの中央"
+
+#: prefs.js:345
+msgid "More options"
+msgstr "その他のオプション"
+
+#: prefs.js:369
+msgid "Show Applications options"
+msgstr "アプリケーション表示のオプション"
+
+#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1037
+#: prefs.js:1164 prefs.js:1450 prefs.js:1545 prefs.js:1610 prefs.js:1653
+#: prefs.js:1750 prefs.js:1784 prefs.js:1826
+msgid "Reset to defaults"
+msgstr "初期設定に戻す"
+
+#: prefs.js:426
+msgid "Show Desktop options"
+msgstr "デスクトップ表示のオプション"
+
+#: prefs.js:569
+msgid "Running Indicator Options"
+msgstr "実行中インジケーターのオプション"
+
+#: prefs.js:732
+msgid "Primary monitor"
+msgstr "プライマリーモニター"
+
+#: prefs.js:732
+msgid "Monitor "
+msgstr "モニター "
+
+#: prefs.js:887
+msgid "Dynamic opacity options"
+msgstr "動的不透明度のオプション"
+
+#: prefs.js:1030
+msgid "Intellihide options"
+msgstr "Intellihide のオプション"
+
+#: prefs.js:1157
+msgid "Window preview options"
+msgstr "ウィンドウプレビューのオプション"
+
+#: prefs.js:1443
+msgid "Ungrouped application options"
+msgstr "アプリケーション非グループ化のオプション"
+
+#: prefs.js:1538
+msgid "Customize middle-click behavior"
+msgstr "中クリックの挙動のカスタマイズ"
+
+#: prefs.js:1603
+msgid "Customize panel scroll behavior"
+msgstr "パネルスクロールの挙動のカスタマイズ"
+
+#: prefs.js:1646
+msgid "Customize icon scroll behavior"
+msgstr "アイコンスクロールの挙動のカスタマイズ"
+
+#: prefs.js:1743
+msgid "Advanced hotkeys options"
+msgstr "高度なホットキーのオプション"
+
+#: prefs.js:1777
+msgid "Secondary Menu Options"
+msgstr "右クリックメニューのオプション"
+
+#: Settings.ui:7448 prefs.js:1819
+msgid "Advanced Options"
+msgstr "高度なオプション"
+
+#: prefs.js:1922
+msgid "Export settings"
+msgstr "設定のエクスポート"
+
+#: prefs.js:1939
+msgid "Import settings"
+msgstr "設定のインポート"
+
+#: update.js:48
+msgid "Unavailable when installed from extensions.gnome.org"
+msgstr "extensions.gnome.org からインストールした場合は利用できません"
+
+#: update.js:62
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "バージョン %s (%s) が利用可能です"
+
+#: update.js:63
+msgid "Details"
+msgstr "詳細"
+
+#: update.js:64
+msgid "Update"
+msgstr "アップデート"
+
+#: update.js:67
+msgid "Already up to date"
+msgstr "すでに最新です"
+
+#: update.js:75
+msgid "Error: "
+msgstr "エラー: "
+
+#: update.js:168
+msgid "Update successful, please log out/in"
+msgstr "アップデート成功: ログインしなおしてください"
+
+#: update.js:169
+msgid "Log out"
+msgstr "ログアウト"
+
+#: update.js:173
+msgid "Update successful, please restart GNOME Shell"
+msgstr "アップデート成功: GNOME Shell を再起動してください"
+
+#: update.js:174
+msgid "Restart GNOME Shell"
+msgstr "GNOME Shell を再起動"
+
+#: update.js:174
+msgid "Restarting GNOME Shell..."
+msgstr "GNOME Shell を再起動しています..."
+
+#: windowPreview.js:934
+msgid "Move to current Workspace"
+msgstr "現在のワークスペースに移動"
+
+#~ msgid "Display favorite applications on all monitors"
+#~ msgstr "すべてのモニターにお気に入りのアプリケーションを表示"
+
+#~ msgid "Display the clock on all monitors"
+#~ msgstr "すべてのモニターに時計を表示"
+
+#~ msgid "Display the status menu on all monitors"
+#~ msgstr "すべてのモニターにステータスメニューを表示"
+
+#~ msgid "Taskbar position"
+#~ msgstr "タスクバーの位置"
+
+#~ msgid "Clock location"
+#~ msgstr "時計の位置"
+
+#~ msgid "Show Applications icon"
+#~ msgstr "アプリケーションアイコンを表示"
+
+#~ msgid "Top, with plugin icons collapsed to bottom"
+#~ msgstr "上 (プラグインアイコンは下寄せ)"
+
+#~ msgid "Left, with plugin icons collapsed to right"
+#~ msgstr "左 (プラグインアイコンは右寄せ)"
+
+#~ msgid "Top, with fixed center plugin icons"
+#~ msgstr "上 (プラグインアイコンは中央に固定)"
+
+#~ msgid "Left, with fixed center plugin icons"
+#~ msgstr "左 (プラグインアイコンは中央に固定)"
+
+#~ msgid "Top, with floating center plugin icons"
+#~ msgstr "上 (プラグインアイコンは中央かつ非固定)"
+
+#~ msgid "Left, with floating center plugin icons"
+#~ msgstr "左 (プラグインアイコンは中央かつ非固定)"
+
+#~ msgid "Center, fixed in middle of monitor"
+#~ msgstr "中央 (モニターの中央に固定)"
+
+#~ msgid "Center, floating between top and bottom elements"
+#~ msgstr "中央 (上側と下側のエレメント間に表示)"
+
+#~ msgid "Center, floating between left and right elements"
+#~ msgstr "中央 (右側と左側のエレメント間に表示)"
+
+#~ msgid "Top of plugin icons"
+#~ msgstr "プラグインアイコンの上"
+
+#~ msgid "Left of plugin icons"
+#~ msgstr "プラグインアイコンの左"
+
+#~ msgid "Bottom of plugin icons"
+#~ msgstr "プラグインアイコンの下"
+
+#~ msgid "Right of plugin icons"
+#~ msgstr "プラグインアイコンの右"
+
+#~ msgid "Top of system indicators"
+#~ msgstr "システムインジケーターの上"
+
+#~ msgid "Left of system indicators"
+#~ msgstr "システムインジケーターの左"
+
+#~ msgid "Bottom of system indicators"
+#~ msgstr "システムインジケーターの下"
+
+#~ msgid "Right of system indicators"
+#~ msgstr "システムインジケーターの右"
+
+#~ msgid "Left of taskbar"
+#~ msgstr "タスクバーの左"
+
+#~ msgid "Bottom of taskbar"
+#~ msgstr "タスクバーの下"
+
+#~ msgid "Right of taskbar"
+#~ msgstr "タスクバーの右"
+
+#~ msgid "Multi-monitors options"
+#~ msgstr "マルチモニターのオプション"
+
+#~ msgid "Panel position"
+#~ msgstr "パネルの位置"
+
+#~ msgid "Panel is shown on the Bottom or Top of the screen."
+#~ msgstr "パネルは画面の下か上に表示されます。"
+
+#~ msgid "48"
+#~ msgstr "48"
+
+#~ msgid "Panel size"
+#~ msgstr "パネルのサイズ"
+
+#~ msgid "Set the size of the panel."
+#~ msgstr "パネルのサイズをセットします。"
+
+#~ msgid "Dot position"
+#~ msgstr "ドットの位置"
+
+#~ msgid "Running indicators are shown on the Bottom or Top of the screen."
+#~ msgstr "実行中インジケーターは画面の下か上に表示されます。"
+
+#~ msgid "Style of the running indicator (focused)"
+#~ msgstr "実行中インジケーターのスタイル (フォーカス)"
+
+#~ msgid ""
+#~ "Style of the running indicator for the icon for the currently focused "
+#~ "application"
+#~ msgstr ""
+#~ "現在フォーカスがあるアプリケーションのアイコンの実行中インジケーターのスタ"
+#~ "イル"
+
+#~ msgid "Style of the running indicator (unfocused)"
+#~ msgstr "実行中インジケーターのスタイル (非フォーカス)"
+
+#~ msgid ""
+#~ "Style of the running indicator for the icon for applications which are "
+#~ "not currently focused"
+#~ msgstr ""
+#~ "現在フォーカスがないアプリケーションのアイコンの実行中インジケーターのスタ"
+#~ "イル"
+
+msgid "Weekday"
+msgstr "曜日"
+
+msgid "Date"
+msgstr "日付"
+
+msgid "Seconds"
+msgstr "秒"
diff --git a/po/ka.po b/po/ka.po
new file mode 100644
index 0000000..5a635de
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ka\n"
+
+msgid "System Monitor"
+msgstr "სისტემის მონიტორი"
diff --git a/po/kab.po b/po/kab.po
new file mode 100644
index 0000000..a09d2fd
--- /dev/null
+++ b/po/kab.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: kab\n"
+
+msgid "Settings"
+msgstr "Iɣewwaṛen"
diff --git a/po/kk.po b/po/kk.po
new file mode 100644
index 0000000..6c6fc42
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,609 @@
+# Kazakh translation for dash-to-panel
+# Copyright (c) 2017 dash-to-panel authors.
+# This file is distributed under the same license as the dash-to-panel package.
+# Baurzhan Muftakhidinov , 2017-2018.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: dash-to-panel master\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2018-02-02 21:29+0500\n"
+"PO-Revision-Date: 2018-02-03 15:22+0500\n"
+"Last-Translator: Baurzhan Muftakhidinov \n"
+"Language-Team: Kazakh \n"
+"Language: kk\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 2.0.3\n"
+
+#: prefs.js:295
+msgid "Running Indicator Options"
+msgstr "Орындалып тұрған индикатор баптаулары"
+
+#: prefs.js:302 prefs.js:447 prefs.js:499 prefs.js:608 prefs.js:684
+#: prefs.js:753 prefs.js:829 prefs.js:871
+msgid "Reset to defaults"
+msgstr "Бастапқы мәндерге тастау"
+
+#: prefs.js:440
+msgid "Show Desktop options"
+msgstr "Жұмыс үстел баптауларын көрсету"
+
+#: prefs.js:492
+msgid "Window preview options"
+msgstr "Терезе кіші көрінісі баптаулары"
+
+#: prefs.js:601
+msgid "Ungrouped application options"
+msgstr "Топталмаған қолданба баптаулары"
+
+#: prefs.js:677
+msgid "Customize middle-click behavior"
+msgstr "Орта шерту әрекетін баптау"
+
+#: prefs.js:746
+msgid "Advanced hotkeys options"
+msgstr "Кеңейтілген жарлық баптаулары"
+
+#: prefs.js:822
+msgid "Secondary Menu Options"
+msgstr "Қосымша мәзір баптаулары"
+
+#: prefs.js:864 Settings.ui.h:113
+msgid "Advanced Options"
+msgstr "Кеңейтілген баптаулар"
+
+#: appIcons.js:1179
+msgid "Show Details"
+msgstr "Ақпаратын көрсету"
+
+#: appIcons.js:1198
+msgid "New Window"
+msgstr "Жаңа терезе"
+
+#: appIcons.js:1198 appIcons.js:1260 appIcons.js:1262 Settings.ui.h:8
+msgid "Quit"
+msgstr "Шығу"
+
+#: appIcons.js:1262
+msgid "Windows"
+msgstr "Терезелер"
+
+#: appIcons.js:1421
+msgid "Taskbar Settings"
+msgstr "Панелінің баптаулары"
+
+#: appIcons.js:1428
+msgid "Restore Windows"
+msgstr "Терезелерді қалпына келтіру"
+
+#: appIcons.js:1428
+msgid "Show Desktop"
+msgstr "Жұмыс үстелді көрсету"
+
+#: Settings.ui.h:1
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Қайыруға орнатылған кезде, қос шерту нәтижесінде қолданбаның барлық "
+"терезелерін қайырады."
+
+#: Settings.ui.h:2
+msgid "Shift+Click action"
+msgstr "Shift+Click әрекеті"
+
+#: Settings.ui.h:3
+msgid "Raise window"
+msgstr "Терезені көтеру"
+
+#: Settings.ui.h:4
+msgid "Minimize window"
+msgstr "Терезені минималды қылу"
+
+#: Settings.ui.h:5
+msgid "Launch new instance"
+msgstr "Жаңа экземплярды жөнелту"
+
+#: Settings.ui.h:6
+msgid "Cycle through windows"
+msgstr "Терезелер арасында циклмен ауысу"
+
+#: Settings.ui.h:7
+msgid "Cycle windows + minimize"
+msgstr "Терезелер арасында циклмен ауысу + қайыру"
+
+#: Settings.ui.h:9
+msgid "Behavior for Middle-Click."
+msgstr "Орта батырманың мінез-құлығы."
+
+#: Settings.ui.h:10
+msgid "Middle-Click action"
+msgstr "Орта батырма әрекеті"
+
+#: Settings.ui.h:11
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Shift+Орта батырманың мінез-құлығы."
+
+#: Settings.ui.h:12
+msgid "Shift+Middle-Click action"
+msgstr "Shift+Орта батырма әрекеті"
+
+#: Settings.ui.h:13
+msgid "Integrate AppMenu items"
+msgstr "Қолданбалар мәзірі нәрселерін интеграциялау"
+
+#: Settings.ui.h:14
+msgid "Show Details menu item"
+msgstr "Ақпаратын көрсету мәзір элементі"
+
+#: Settings.ui.h:15
+msgid "Highlight focused application"
+msgstr "Фокустағы қолданбаларды түспен ерекшелеу"
+
+#: Settings.ui.h:16
+msgid "Highlight color"
+msgstr "Ерекшелеу түсі"
+
+#: Settings.ui.h:17
+msgid "Highlight opacity"
+msgstr "Ерекшелеудің мөлдірсіздігі"
+
+#: Settings.ui.h:18
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:19
+msgid "Indicator height (px)"
+msgstr "Индикатор биіктігі (пикс)"
+
+#: Settings.ui.h:20
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:21
+msgid "Indicator color - Override Theme"
+msgstr "Индикатор түсі - теманы үстінен басу"
+
+#: Settings.ui.h:22
+msgid "1 window open (or ungrouped)"
+msgstr "1 терезе ашық (немесе топталмаған)"
+
+#: Settings.ui.h:23
+msgid "Apply to all"
+msgstr "Барлығы үшін іске асыру"
+
+#: Settings.ui.h:24
+msgid "2 windows open"
+msgstr "2 терезе ашық"
+
+#: Settings.ui.h:25
+msgid "3 windows open"
+msgstr "3 терезе ашық"
+
+#: Settings.ui.h:26
+msgid "4+ windows open"
+msgstr "4+ терезе ашық"
+
+#: Settings.ui.h:27
+msgid "Use different for unfocused"
+msgstr "Фокустағы емес үшін басқаны қолдану"
+
+#: Settings.ui.h:28
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Қолданба атауының қарібі (пикс, бастапқы мәні 14)"
+
+#: Settings.ui.h:29
+msgid "Font color of the application titles"
+msgstr "Қолданба атауының қаріп түсі"
+
+#: Settings.ui.h:30
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Қолданба атауының максималды ені (пикс, бастапқы мәні 160)"
+
+#: Settings.ui.h:31
+msgid "Use a fixed width for the application titles"
+msgstr "Қолданба атауы үшін біркелкі енді қолдану"
+
+#: Settings.ui.h:32
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Қолданба атаулары үшін біркелкі енді қолдану, олардың мәтіні максималды "
+"енінен кіші болса да. Максималды мәні тұрақты ені ретінде қолданылады."
+
+#: Settings.ui.h:33
+msgid "Display running indicators on unfocused applications"
+msgstr "Фокустағы емес қолданбалардың орындалу индикаторын көрсету"
+
+#: Settings.ui.h:34
+msgid "Use the favorite icons as application launchers"
+msgstr "Таңдамалы таңбашаларды қолданба жөнелткіштері ретінде қолдану"
+
+#: Settings.ui.h:35
+msgid "Preview timeout on icon leave (ms)"
+msgstr "Таңбашадан кеткен кезде кіші көріністі көрсету уақыты (мс)"
+
+#: Settings.ui.h:36
+msgid ""
+"If set too low, the window preview of running applications may seem to close "
+"too quickly when trying to enter the popup. If set too high, the preview may "
+"linger too long when moving to an adjacent icon."
+msgstr ""
+"Мәні тым аз болса, кіші көрініске өту талабын жасау кезінде орындалып тұрған "
+"қолданбаның кіші көрінісі тым жылдам жабылуы мүмкін. Мәні тым үлкен болса, "
+"көрші таңбашаға ауысу кезінде ағымдағы кіші көрініс ұзақ уақыт бойы "
+"көрсетілуі мүмкін."
+
+#: Settings.ui.h:37
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Көрсету алдындағы уақыт (мс) (бастапқы шамасы 100)"
+
+#: Settings.ui.h:38
+msgid "Enable window peeking"
+msgstr "Терезелерді анықтауды іске қосу"
+
+#: Settings.ui.h:39
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Курсор терезенің кіші көрінісі үстінен біраз уақыт бойы өтсе, ол терезе "
+"анықталатын болады."
+
+#: Settings.ui.h:40
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Терезені анықтауды кідіріс уақытын енгізу (мс)"
+
+#: Settings.ui.h:41
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Терезені анықтау үшін курсор терезенің үстінен қанша уақыт бойы аялдау керек."
+
+#: Settings.ui.h:42
+msgid "Window peeking mode opacity"
+msgstr "Терезелерді анықтау режимінің мөлдірсіздігі"
+
+#: Settings.ui.h:43
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"Анықталған терезеден басқаларының мөлдірсіздігі бастапқы шамасына тең болады."
+
+#: Settings.ui.h:44
+msgid "Middle click to close window"
+msgstr "Терезені жабу үшін орта шерту"
+
+#: Settings.ui.h:45
+msgid "Middle click on the preview to close the window."
+msgstr "Терезені жабу үшін кіші көріністе орта шерту."
+
+#: Settings.ui.h:46
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:47
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:48
+msgid "Hotkeys prefix"
+msgstr "Ыстық пернелер префиксі"
+
+#: Settings.ui.h:49
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Ыстық пернелер Super+Сан or Super+Alt+Сан болады"
+
+#: Settings.ui.h:50
+msgid "Never"
+msgstr "Ешқашан"
+
+#: Settings.ui.h:51
+msgid "Show temporarily"
+msgstr "Уақытша көрсету"
+
+#: Settings.ui.h:52
+msgid "Always visible"
+msgstr "Әрқашан көрінеді"
+
+#: Settings.ui.h:53
+msgid "Number overlay"
+msgstr "Цифрлық оверлей"
+
+#: Settings.ui.h:54
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Ыстық пернелерді көрсету кезінде таңбашалардың үстінен өткізгенде қолданба "
+"нөмірлерін уақытша көрсету."
+
+#: Settings.ui.h:55
+msgid "Hide timeout (ms)"
+msgstr "Жасыру кідірісі (мс)"
+
+#: Settings.ui.h:56
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Оверлейді 2 секундқа көрсету үшін пернетақта жарлығы"
+
+#: Settings.ui.h:57
+msgid "Syntax: , , , "
+msgstr "Синтаксисі: , , , "
+
+#: Settings.ui.h:58
+msgid "Show Desktop button width (px)"
+msgstr "Жұмыс үстелі батырмасының (пикс)"
+
+#: Settings.ui.h:59
+msgid "Panel screen position"
+msgstr "Панельдің экрандағы орны"
+
+#: Settings.ui.h:60
+msgid "Bottom"
+msgstr "Төмен"
+
+#: Settings.ui.h:61
+msgid "Top"
+msgstr "Жоғары"
+
+#: Settings.ui.h:62
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Панель өлшемі\n"
+"(бастапқы мәні 48)"
+
+#: Settings.ui.h:64
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Қолданба таңбашасының шет өрісі\n"
+"(бастапқы мәні 8)"
+
+#: Settings.ui.h:66
+msgid "Running indicator position"
+msgstr "Орындалып тұрған индикатор орны"
+
+#: Settings.ui.h:67
+msgid "Running indicator style (Focused app)"
+msgstr "Орындалып тұрған индикатордың стилі (фокустегі қолданба)"
+
+#: Settings.ui.h:68
+msgid "Dots"
+msgstr "Нүктелер"
+
+#: Settings.ui.h:69
+msgid "Squares"
+msgstr "Шаршылар"
+
+#: Settings.ui.h:70
+msgid "Dashes"
+msgstr "Штрихтер"
+
+#: Settings.ui.h:71
+msgid "Segmented"
+msgstr "Сегменттелген"
+
+#: Settings.ui.h:72
+msgid "Solid"
+msgstr "Бүтін"
+
+#: Settings.ui.h:73
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:74
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:75
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Орындалып тұрған индикатордың стилі (фокустегі емес қолданба)"
+
+#: Settings.ui.h:76
+msgid "Clock location"
+msgstr "Сағаттың орналасуы"
+
+#: Settings.ui.h:77
+msgid "Natural"
+msgstr "Табиғи"
+
+#: Settings.ui.h:78
+msgid "Left of status menu"
+msgstr "Қалып-күй мәзірінің сол жағы"
+
+#: Settings.ui.h:79
+msgid "Right of status menu"
+msgstr "Қалып-күй мәзірінің оң жағы"
+
+#: Settings.ui.h:80
+msgid "Taskbar position"
+msgstr "Тапсырмалар панелінің орны"
+
+#: Settings.ui.h:81
+msgid "Left side of panel"
+msgstr "Панельдің сол жағы"
+
+#: Settings.ui.h:82
+msgid "Centered in monitor"
+msgstr "Монитордың ортасында"
+
+#: Settings.ui.h:83
+msgid "Centered in content"
+msgstr "Құраманың ортасында"
+
+#: Settings.ui.h:84
+msgid "Position and Style"
+msgstr "Орны және стилі"
+
+#: Settings.ui.h:85
+msgid "Show favorite applications"
+msgstr "Таңдамалы қолданбаларды көрсету"
+
+#: Settings.ui.h:86
+msgid "Show Applications icon"
+msgstr "Қолданбалар таңбашасын көрсету"
+
+#: Settings.ui.h:87
+msgid "Animate Show Applications."
+msgstr "Қолданбаларды көрсету анимациясын іске қосу."
+
+#: Settings.ui.h:88
+msgid "Show Activities button"
+msgstr "Көрініс таңбашасын көрсету"
+
+#: Settings.ui.h:89
+msgid "Show Desktop button"
+msgstr "Жұмыс үстелі батырмасын көрсету"
+
+#: Settings.ui.h:90
+msgid "Show AppMenu button"
+msgstr "Қолданбалар мәзірі таңбашасын көрсету"
+
+#: Settings.ui.h:91
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Кеңейтілген баптаулар (Tweak) сайманында Үстіндегі панель >Қолданбалар "
+"мәзірін көрсету іске қосылған болуы тиіс"
+
+#: Settings.ui.h:92
+msgid "Show window previews on hover"
+msgstr "Курсор үстінен өткен кезде, терезенің кіші көрінісін көрсету"
+
+#: Settings.ui.h:93
+msgid "Isolate Workspaces"
+msgstr "Жұмыс орындарын оқшаулау"
+
+#: Settings.ui.h:94
+msgid "Ungroup applications"
+msgstr "Қолданбаларды топтаудан босату"
+
+#: Settings.ui.h:95
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Орындалып тұрған қолданбаның таңбашасына шерту кезіндегі мінез-құлығы."
+
+#: Settings.ui.h:96
+msgid "Click action"
+msgstr "Шерту әрекеті"
+
+#: Settings.ui.h:97
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Super+(0-9) қолданбаларды белсендіру үшін жарлықтар ретінде іске қосу. "
+"Сонымен қатар, ол Shift пен Ctrl пернелерімен бірге қолданылуы мүмкін."
+
+#: Settings.ui.h:98
+msgid "Use hotkeys to activate apps"
+msgstr "Қолданбаларды белсендіру үшін ыстық пернелерді қолдану"
+
+#: Settings.ui.h:99
+msgid "Behavior"
+msgstr "Мінез-құлығы"
+
+#: Settings.ui.h:100
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Трей қарібінің өлшемі\n"
+"(0 = теманың бастапқы өлшемі)"
+
+#: Settings.ui.h:102
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Сол жақ аймағының қаріп өлшемі\n"
+"(0 = теманың бастапқы өлшемі)"
+
+#: Settings.ui.h:104
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Трейдегі нәрсенің шегінісі\n"
+"(-1 = теманың бастапқы өлшемі)"
+
+#: Settings.ui.h:106
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Қалып-күй таңбашасының шегінісі\n"
+"(-1 = теманың бастапқы өлшемі)"
+
+#: Settings.ui.h:108
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Сол жақ аймағының шегінісі\n"
+"(-1 = теманың бастапқы өлшемі)"
+
+#: Settings.ui.h:110
+msgid "Animate switching applications"
+msgstr "Қолданбаларды ауыстыру анимациясын іске қосу"
+
+#: Settings.ui.h:111
+msgid "Animate launching new windows"
+msgstr "Қолданбаларды жөнелту анимациясын іске қосу"
+
+#: Settings.ui.h:112
+msgid "App icon secondary (right-click) menu"
+msgstr "Қолданба таңбашысының қосалқы (оң жақпен шерту) мәзірі"
+
+#: Settings.ui.h:114
+msgid "Fine-Tune"
+msgstr "Дәлдеп баптау"
+
+#: Settings.ui.h:115
+msgid "version: "
+msgstr "нұсқасы: "
+
+#: Settings.ui.h:116
+msgid "Github"
+msgstr "Github"
+
+#: Settings.ui.h:117
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Бұл бағдарлама ЕШҚАНДАЙ КЕПІЛДЕМЕСІЗ таратылады.\n"
+"Көбірек білу үшін GNU General Public License, нұсқасы 2 немесе кейінірек "
+"қараңыз."
+
+#: Settings.ui.h:119
+msgid "About"
+msgstr "Осы туралы"
+
+msgid "Weekday"
+msgstr "Жұмыс күні"
+
+msgid "Date"
+msgstr "Күн"
+
+msgid "Seconds"
+msgstr "Секундтар"
+
+msgid "System Monitor"
+msgstr "Жүйелік бақылаушы"
+
+msgid "Files"
+msgstr "Файлдар"
+
+msgid "Settings"
+msgstr "Баптаулар"
diff --git a/po/km.po b/po/km.po
new file mode 100644
index 0000000..4e89ecf
--- /dev/null
+++ b/po/km.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: km\n"
+
+msgid "System Monitor"
+msgstr "កម្មវិធីត្រួតពិនិត្យប្រព័ន្ធ"
diff --git a/po/kn.po b/po/kn.po
new file mode 100644
index 0000000..bc91122
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: kn\n"
+
+msgid "System Monitor"
+msgstr "ಗಣಕ ಮೇಲ್ವಿಚಾರಕ"
+
+msgid "Files"
+msgstr "ಕಡತಗಳು"
+
+msgid "Settings"
+msgstr "ಸಿದ್ಧತೆಗಳು"
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..3e69c48
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ko\n"
+
+msgid "System Monitor"
+msgstr "시스템 정보"
+
+msgid "Files"
+msgstr "파일"
+
+msgid "Settings"
+msgstr "설정"
diff --git a/po/ku.po b/po/ku.po
new file mode 100644
index 0000000..b8ff265
--- /dev/null
+++ b/po/ku.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ku\n"
+
+msgid "System Monitor"
+msgstr "Temaşekerê Pergalê"
diff --git a/po/ky.po b/po/ky.po
new file mode 100644
index 0000000..1b83be5
--- /dev/null
+++ b/po/ky.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ky\n"
+
+msgid "System Monitor"
+msgstr "Тутум монитору"
+
+msgid "Files"
+msgstr "Файлдар"
diff --git a/po/li.po b/po/li.po
new file mode 100644
index 0000000..5a70532
--- /dev/null
+++ b/po/li.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: li\n"
+
+msgid "System Monitor"
+msgstr "Prosesbeheer"
diff --git a/po/ln.po b/po/ln.po
new file mode 100644
index 0000000..0a962ea
--- /dev/null
+++ b/po/ln.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ln\n"
+
+msgid "Files"
+msgstr "Ba Fisyé"
diff --git a/po/lt.po b/po/lt.po
new file mode 100644
index 0000000..be77e1e
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: lt\n"
+
+msgid "System Monitor"
+msgstr "Sistemos monitorius"
+
+msgid "Files"
+msgstr "Failai"
+
+msgid "Settings"
+msgstr "Nustatymai"
diff --git a/po/lv.po b/po/lv.po
new file mode 100644
index 0000000..1779126
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: lv\n"
+
+msgid "System Monitor"
+msgstr "Sistēmas pārraugs"
+
+msgid "Files"
+msgstr "Datnes"
+
+msgid "Settings"
+msgstr "Iestatījumi"
diff --git a/po/mai.po b/po/mai.po
new file mode 100644
index 0000000..f0c984d
--- /dev/null
+++ b/po/mai.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: mai\n"
+
+msgid "System Monitor"
+msgstr "सिस्टम मानीटर"
diff --git a/po/mg.po b/po/mg.po
new file mode 100644
index 0000000..6a588b6
--- /dev/null
+++ b/po/mg.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: mg\n"
+
+msgid "System Monitor"
+msgstr "Mpanara-maso ny rafitra"
diff --git a/po/mjw.po b/po/mjw.po
new file mode 100644
index 0000000..b15ee5a
--- /dev/null
+++ b/po/mjw.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: mjw\n"
+
+msgid "System Monitor"
+msgstr "System Monitor"
+
+msgid "Files"
+msgstr "Files"
diff --git a/po/mk.po b/po/mk.po
new file mode 100644
index 0000000..2df79e1
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: mk\n"
+
+msgid "System Monitor"
+msgstr "Надгледувач на системот"
+
+msgid "Files"
+msgstr "Датотеки"
diff --git a/po/ml.po b/po/ml.po
new file mode 100644
index 0000000..c751564
--- /dev/null
+++ b/po/ml.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ml\n"
+
+msgid "System Monitor"
+msgstr "സിസ്റ്റം നിരീക്ഷകന്"
+
+msgid "Files"
+msgstr "ഫയലുകള്"
+
+msgid "Settings"
+msgstr "സജ്ജീകരണങ്ങള്"
diff --git a/po/mn.po b/po/mn.po
new file mode 100644
index 0000000..247a596
--- /dev/null
+++ b/po/mn.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: mn\n"
+
+msgid "System Monitor"
+msgstr "Системийн монитор"
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 0000000..6dfff6e
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: mr\n"
+
+msgid "System Monitor"
+msgstr "प्रणाली मॉनिटर"
+
+msgid "Files"
+msgstr "फाइल्स्"
+
+msgid "Settings"
+msgstr "सेटिंग्ज"
diff --git a/po/ms.po b/po/ms.po
new file mode 100644
index 0000000..0461d0e
--- /dev/null
+++ b/po/ms.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ms\n"
+
+msgid "System Monitor"
+msgstr "Pemantau Sistem"
+
+msgid "Files"
+msgstr "Fail"
+
+msgid "Settings"
+msgstr "Tetapan"
diff --git a/po/nb.po b/po/nb.po
new file mode 100644
index 0000000..1c2d662
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: nb\n"
+
+msgid "System Monitor"
+msgstr "Systemmonitor"
+
+msgid "Files"
+msgstr "Filer"
+
+msgid "Settings"
+msgstr "Innstillinger"
diff --git a/po/nds.po b/po/nds.po
new file mode 100644
index 0000000..c280bc7
--- /dev/null
+++ b/po/nds.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: nds\n"
+
+msgid "System Monitor"
+msgstr "Sysmonitor"
diff --git a/po/ne.po b/po/ne.po
new file mode 100644
index 0000000..1bd9172
--- /dev/null
+++ b/po/ne.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ne\n"
+
+msgid "System Monitor"
+msgstr "प्रणाली निगरानी"
+
+msgid "Files"
+msgstr "फाइलहरू"
+
+msgid "Settings"
+msgstr "सेटिङ"
diff --git a/po/nl.po b/po/nl.po
new file mode 100644
index 0000000..f1c1c62
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: nl\n"
+
+msgid "System Monitor"
+msgstr "Systeemmonitor"
+
+msgid "Files"
+msgstr "Bestanden"
+
+msgid "Settings"
+msgstr "Instellingen"
diff --git a/po/nn.po b/po/nn.po
new file mode 100644
index 0000000..78de397
--- /dev/null
+++ b/po/nn.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: nn\n"
+
+msgid "System Monitor"
+msgstr "Systemovervakar"
+
+msgid "Files"
+msgstr "Filer"
diff --git a/po/oc.po b/po/oc.po
new file mode 100644
index 0000000..e5ce514
--- /dev/null
+++ b/po/oc.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: oc\n"
+
+msgid "System Monitor"
+msgstr "Monitor sistèma"
+
+msgid "Files"
+msgstr "Fichièrs"
+
+msgid "Settings"
+msgstr "Paramètres"
diff --git a/po/or.po b/po/or.po
new file mode 100644
index 0000000..753a806
--- /dev/null
+++ b/po/or.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: or\n"
+
+msgid "System Monitor"
+msgstr "ତନ୍ତ୍ର ପ୍ରଦର୍ଶିକା"
+
+msgid "Files"
+msgstr "ଫାଇଲଗୁଡିକ"
+
+msgid "Settings"
+msgstr "ସେଟିଙ୍ଗଗୁଡିକ"
diff --git a/po/pa.po b/po/pa.po
new file mode 100644
index 0000000..5d390b4
--- /dev/null
+++ b/po/pa.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: pa\n"
+
+msgid "System Monitor"
+msgstr "ਸਿਸਟਮ ਨਿਗਰਾਨ"
+
+msgid "Files"
+msgstr "ਫਾਇਲਾਂ"
+
+msgid "Settings"
+msgstr "ਸੈਟਿੰਗ"
diff --git a/po/pl.po b/po/pl.po
new file mode 100644
index 0000000..52f2dfd
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,1321 @@
+# Dash to Panel polish translation
+# Copyright (c) 2017 Dash to Panel authors.
+# This file is distributed under the same license as the Dash to Panel package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Dash to Panel\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-10-11 12:32+0200\n"
+"PO-Revision-Date: 2019-10-11 12:34+0200\n"
+"Last-Translator: Alex \n"
+"Language-Team: \n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.1\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Góra, ikony wtyczek wyrównane do prawej"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "Lewa, ikony wtyczek wyrównane do prawej"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Góra, ze stałym wyśrodkowaniem ikon wtyczek"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "Lewa, ze stałym wyśrodkowaniem ikon wtyczek"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Góra, ze swobodnym wyśrodkowaniem ikon wtyczek"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "Lewa, ze swobodnym wyśrodkowaniem ikon wtyczek"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Środek, ze stałym wyśrodkowaniem na monitorze"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Środek, z elementami swobodnymi między górą a dołem"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Środek, z elementami swobodnymi między lewą a prawą stroną"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "Górna strona ikon wtyczek"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "Lewa strona ikon wtyczek"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "Dolna strona ikon wtyczek"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "Prawa strona ikon wtyczek"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "Górna strona menu systemowego"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "Lewa strona menu systemowego"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "Dolna strona menu systemowego"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "Prawa strona menu systemowego"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "Górna strona paska zadań"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "Lewa strona paska zadań"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "Dolna strona paska zadań"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "Prawa strona paska zadań"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "Wysokość przycisku Pokaż pulpit (px)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "Szerokość przycisku Pokaż pulpit (px)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Opcje wskaźnika aktywnych programów"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1078 prefs.js:1325 prefs.js:1409 prefs.js:1474
+#: prefs.js:1510 prefs.js:1607 prefs.js:1641 prefs.js:1683
+msgid "Reset to defaults"
+msgstr "Przywróć domyślne"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Domyślny (Główny monitor)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Monitor "
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Opcje wielu monitorów"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Opcje dynamicznej przeźroczystości"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Opcje inteligentnego ukrywania"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "Opcje wyświetlania programów"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "Pokaż opcje pulpitu"
+
+#: prefs.js:1071
+msgid "Window preview options"
+msgstr "Opcje podglądu okna"
+
+#: prefs.js:1318
+msgid "Ungrouped application options"
+msgstr "Opcje trybu listy"
+
+#: prefs.js:1402
+msgid "Customize middle-click behavior"
+msgstr "Dostosuj działanie środkowego przycisku myszy"
+
+#: prefs.js:1467
+msgid "Customize panel scroll behavior"
+msgstr "Dostosuj reakcję na przewijanie panelu"
+
+#: prefs.js:1503
+msgid "Customize icon scroll behavior"
+msgstr "Dostosuj reakcję na przewijanie po ikonach"
+
+#: prefs.js:1600
+msgid "Advanced hotkeys options"
+msgstr "Zaawansowane opcje skrótów klawiszowych"
+
+#: prefs.js:1634
+msgid "Secondary Menu Options"
+msgstr "Opcje menu kontekstowego"
+
+#: prefs.js:1676 Settings.ui.h:223
+msgid "Advanced Options"
+msgstr "Opcje zaawansowane"
+
+#: prefs.js:1763
+msgid "Export settings"
+msgstr "Eksportuj ustawienia"
+
+#: prefs.js:1780
+msgid "Import settings"
+msgstr "Importuj ustawienia"
+
+#: appIcons.js:1380
+msgid "Show Details"
+msgstr "Pokaż szczegóły"
+
+#: appIcons.js:1398
+msgid "New Window"
+msgstr "Nowe okno"
+
+#: appIcons.js:1398 appIcons.js:1458 appIcons.js:1460 Settings.ui.h:10
+msgid "Quit"
+msgstr "Zamknięcie okna"
+
+#: appIcons.js:1460
+msgid "Windows"
+msgstr "Okna"
+
+#: appIcons.js:1684
+msgid "Power options"
+msgstr "Opcje zasilania"
+
+#: appIcons.js:1689
+msgid "Event logs"
+msgstr "Zapis zdarzeń"
+
+#: appIcons.js:1694
+msgid "System"
+msgstr "System"
+
+#: appIcons.js:1699
+msgid "Device Management"
+msgstr "Zarządzanie urządzeniami"
+
+#: appIcons.js:1704
+msgid "Disk Management"
+msgstr "Zarządzanie dyskami"
+
+#: appIcons.js:1711
+msgid "Terminal"
+msgstr "Terminal"
+
+#: appIcons.js:1716
+msgid "System Monitor"
+msgstr "Monitor procesów"
+
+#: appIcons.js:1721
+msgid "Files"
+msgstr "Pliki"
+
+#: appIcons.js:1726
+msgid "Settings"
+msgstr "Ustawienia"
+
+#: appIcons.js:1733
+msgid "Unlock taskbar"
+msgstr "Odblokuj pasek zadań"
+
+#: appIcons.js:1733
+msgid "Lock taskbar"
+msgstr "Zablokuj pasek zadań"
+
+#: appIcons.js:1738
+msgid "Taskbar Settings"
+msgstr "Ustawienia pasek zadań"
+
+#: appIcons.js:1745
+msgid "Restore Windows"
+msgstr "Przywróć okna"
+
+#: appIcons.js:1745
+msgid "Show Desktop"
+msgstr "Pokaż pulpit"
+
+#: update.js:58
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "Wersja %s (%s) jest dostępna"
+
+#: update.js:59
+msgid "Details"
+msgstr "Szczegóły"
+
+#: update.js:60
+msgid "Update"
+msgstr "Aktualizacja"
+
+#: update.js:63
+msgid "Already up to date"
+msgstr "Brak nowszej wersji"
+
+#: update.js:148
+msgid "Update successful, please log out/in"
+msgstr "Aktualizacja zakończona pomyślnie, zaloguj się ponownie"
+
+#: update.js:149
+msgid "Log out"
+msgstr "Wyloguj"
+
+#: update.js:153
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Aktualizacja zakończona pomyślnie, prosimy zrestartować powłokę GNOME"
+
+#: update.js:154
+msgid "Restart GNOME Shell"
+msgstr "Zrestartuj powłokę GNOME"
+
+#: update.js:154
+msgid "Restarting GNOME Shell..."
+msgstr "Restartowanie powłoki GNOME..."
+
+#: update.js:160
+msgid "Error: "
+msgstr "Błąd: "
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Jeszcze nic!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Wybranie zminimalizowania okna umożliwia minimalizowanie wszystkich okien "
+"programu dwukrotnym kliknięciem."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Kliknięcie lewym przyciskiem + Shift"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Przywróć okna"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Zminimalizowanie okna"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Uruchomienie nowego okna"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Przełączanie między oknami"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Przełączanie + zminimalizowanie okien"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Przełącz pojedyncze / Podejrzyj wiele"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Konfiguruje działanie kliknięcia środkowym przyciskiem."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Akcja środkowego przycisku"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr ""
+"Konfiguruje działanie kliknięcia środkowym przyciskiem z przytrzymanym "
+"klawiszem Shift."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Kliknięcie środkowym przyciskiem + Shift"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Niezależne obszary robocze"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Ulubione programy na wszystkich monitorach"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Zegar na wszystkich monitorach"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Menu systemowe na wszystkich monitorach"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Zintegruj elementy menu programów"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Wyświetl szczegóły"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Podświetlaj ikonę aktywnego programu"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Dominujący kolor ikon"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Własny kolor"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Przeźroczystość podświetlenia"
+
+#: Settings.ui.h:25
+msgid "Indicator height (px)"
+msgstr "Wysokość wskaźnika (px)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Kolor wskaźnika - dominujący"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Kolor wskaźnika - nadpisanie motywu"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 otwarte okno (lub tryb listy)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Zastosuj do wszystkich"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 otwarte okna"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 otwarte okna"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4 i więcej otwartych okien"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Użyj innego dla pozostałych"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Wielkość czcionki etykiet (px) (domyślnie 14)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Grubość czcionki tytułów programów"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "dziedzicz po motywie"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "zwykła"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "cieńsza"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "pogrubiona"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "grubsza"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Kolor czcionki"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Maksymalna szerokość (px) etykiet (domyślnie 160)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Stała szerokości"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Wszystkie etykiety ikon będą miały tę samą szerokość, nawet jeśli ich teksty "
+"są krótsze niż maksymalna szerokość. Wartość stałej szerokości jest taka, "
+"jaka została podana w polu Maksymalna szerokość."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Pokazuj wskaźnik dla otwartych okien drugoplanowych"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "Oddziel ulubione od uruchomionych programów"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Ukryj panel tylko wtedy, gdy jest zasłonięty przez okna "
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "Ukrywanie przed oknami"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Wszystkie okna"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Aktywne okna programu"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Zmaksymalizowane okna"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Wymagaj nacisku na krawędzi ekranu, aby odsłonić panel"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Próg nacisku (px)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Czas nacisku (ms)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Pozwól, aby panel został odsłonięty w trybie pełnoekranowym"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr "Ukryj wyłącznie drugorzędne panele (dla wielu monitorów)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "np. i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Skrót klawiszowy do ukrywania i odsłaniania panelu"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Składnia: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Czas trwania animacji ukrywania i odsłaniania (ms)"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Opóźnienie ukrycia panelu (ms)"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Opóźnienie przed aktywacją inteligentnego ukrywania (ms)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Opóźnienie (ms) przed pokazaniem (domyślnie 100)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Długość animacji (ms)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Opóźnienie ukrywania miniatur (domyślnie 100 ms)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Natychmiastowo po kliknięciu na ikonę aplikacji"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr ""
+"Kliknięcie środkowego przycisku myszy na podglądzie zamyka okno programu"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Preferowany rozmiar podglądu okna (px)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Proporcja wysokości podglądu okna"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Wewnętrzny odstęp w podglądzie okien (px)"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr "Stałe"
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Proporcja szerokości podglądu okna"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Własna przeźroczystość dla tła podglądu okna"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr ""
+"Jeśli wyłączone, podgląd okna będzie mieć taką samą przeźroczystość jak panel"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Położenie przycisku zamykania i nagłówka"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Dół"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Góra"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Wyświetlaj nagłówek w podglądzie okna"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Wielkość czcionki etykiet (px) etykiet podglądu"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Grubość czcionki etykiet podglądu"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Kolor czcionki etykiet podglądu"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Podgląd okien otwartych programów"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"Po najechaniu kursorem na podgląd okna zostanie ono pokazane na tle "
+"wszystkich otwartych okien programów."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Opóźnienie wyświetlania (ms)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Czas opóźnienia, po którym wyświetlony zostanie podgląd okien otwartych "
+"programów."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Przeźroczystość podglądanych okien"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr ""
+"Wszystkie okna, za wyjątkiem okna głównego, mają tą samą przeźroczystość."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Opóźnienie między przewijaniem myszą (ms)"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr "Użyj tą wartość by ograniczyć liczbę przechwyceń przewijania myszą."
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Prefiks dla skrótów klawiszowych"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "Skrót może być aktywowany jako Super+Cyfra lub Super+Alt+Cyfra"
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Nigdy"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Przez chwilę"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Zawsze"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Pokazywanie cyfr"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr "Podczas używania skrótów klawiszowych wyświetlaj cyfry nad ikonami ."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Opóźnienie ukrywania (ms)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "np. q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Skrót wyświetlający cyfry przez 2 sekundy"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Pokaż podgląd okna po wciśnięciu klawisza skrótu"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Pokaż podgląd, gdy aplikacja ma wiele instancji"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Rząd cyfr"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Klawiatura numeryczna"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Obie"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Aktywacja skrótów klawiszowych wymaga"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr ""
+"Zaznacz które klawisze cyfr mają być używane do aktywacji skrótów "
+"klawiszowych"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Aktualna ikona przycisku Pokaż programy"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Wybierz ikonę przycisku Pokaż programy"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Wybierz własną ikonę przycisku Pokaż programy"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "Wewnętrzny margines przycisku Pokaż programy (px)"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Pokaż pulpit po najechaniu na przycisk Pokaż pulpit"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Opóźnienie przed ujawnieniem pulpitu (ms)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Opóźnienie ukrywania (ms)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "Przezroczystość panelu zależy od"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Zmień przezroczystość, gdy okno jest bliżej niż (px)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Zmień przeźroczystość na (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Czas trwania animacji przeźroczystości (ms)"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Położenie panelu na ekranie"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "Lewo"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "Prawo"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Położenie paska zadań"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Położenie zegara"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "Wyświetl główny panel na"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Wyświetl panel na wszystkich monitorach"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Inteligentne ukrywanie panelu"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Ukryj i odsłoń panel według preferencji"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Położenie"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Rozmiar panelu\n"
+"(domyślnie 48)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Odstęp między\n"
+"ikonami (domyślnie 8)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Wypełnienie wnętrza\n"
+"ikony (domyślnie 4)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Pozycja wskaźnika aktywnych okien"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Wygląd wskaźnika (okno na pierwszym planie)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Kropki"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Kwadraty"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Kreski"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Segmenty"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Ciągły"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Wygląd wskaźnika (okno na drugim planie)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "Zastąp kolor panelu "
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "Zastąp przeźroczystość panelu"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Przeźroczystość panelu (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Dynamiczna przeźroczystość"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Zmiana przeźroczystości w kontakcie z oknem"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "Zastąp kolor panelu gradientem "
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Góra, kolor i przeźroczystość (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Dół, kolor i przeźroczystość (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Wygląd"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Pokaż ulubione programy"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Pokaż uruchomione programy"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Pokaż ikonę Programy"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Animuj pokazanie programów."
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Pokaż przycisk Podgląd"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Pokaż przycisk Pulpit"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Pokaż przycisk Menu programu"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr "Górny pasek > Menu programu - musi być włączone w Dostrajanie"
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Pokaż podgląd okna po najechaniu myszą"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Pokaż szczegóły po najechaniu myszą"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Niezależne obszary robocze"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Tryb listy (nie scalaj ikon)"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Reakcja"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Reakcja na kliknięcie ikony aktywnego programu."
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Działanie kliknięcia"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Przełącz okna"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Działanie przewijania na panelu"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Reakcja na przewijanie myszą nad panelem."
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Działanie przewijania na ikonie"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Reakcja na przewijanie myszą nad ikoną programu."
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "Nic nie rób"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Przełącz ekran roboczy"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Przełącz między oknami"
+
+#: Settings.ui.h:205
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Konfigurowanie skrótów uruchamiania programów\n"
+"Super+(0-9) - możliwe użycie razem z Shift i Ctrl."
+
+#: Settings.ui.h:206
+msgid "Use hotkeys to activate apps"
+msgstr "Skróty klawiszowe uruchamiania programów"
+
+#: Settings.ui.h:207
+msgid "Action"
+msgstr "Działanie"
+
+#: Settings.ui.h:208
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Rozmiar czcionki zasobnika\n"
+"(0 - domyślne motywu)"
+
+#: Settings.ui.h:210
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Rozmiar czcionki lewej strony panelu\n"
+"(0 - domyślne motywu)"
+
+#: Settings.ui.h:212
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Odstęp elementów zasobnika\n"
+"(-1 - domyślne motywu)"
+
+#: Settings.ui.h:214
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Odstęp elementów menu systemowego\n"
+"(-1 - domyślne motywu)"
+
+#: Settings.ui.h:216
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Odstęp elementów lewej strony panelu\n"
+"(-1 - domyślne motywu)"
+
+#: Settings.ui.h:218
+msgid "Animate switching applications"
+msgstr "Animuj przełączenie programów"
+
+#: Settings.ui.h:219
+msgid "Animate launching new windows"
+msgstr "Animuj uruchamianie nowych programów"
+
+#: Settings.ui.h:220
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Zachowaj oryginalny panel (podgląd)"
+
+#: Settings.ui.h:221
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr ""
+"Aktywuj przyciski menu panelu (np. menu kalendarza) tylko po kliknięciu"
+
+#: Settings.ui.h:222
+msgid "App icon secondary (right-click) menu"
+msgstr "Menu kontekstowe programu (prawy przycisk myszy)"
+
+#: Settings.ui.h:224
+msgid "Fine-Tune"
+msgstr "Dostrajanie"
+
+#: Settings.ui.h:225
+msgid "version: "
+msgstr "wersja: "
+
+#: Settings.ui.h:226
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:227
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Użyj poniższych przycisków, aby utworzyć plik ustawień bieżącychpreferencji, "
+"które można zaimportować na innym komputerze."
+
+#: Settings.ui.h:228
+msgid "Export and import settings"
+msgstr "Ustawienia eksportu i importu"
+
+#: Settings.ui.h:229
+msgid "Export to file"
+msgstr "Eksportuj do pliku"
+
+#: Settings.ui.h:230
+msgid "Import from file"
+msgstr "Importuj z pliku"
+
+#: Settings.ui.h:231
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Ta opcja pozwala ci na zaktualizowanie wtyczki bezpośrednio z repozytorium "
+"GitHub."
+
+#: Settings.ui.h:232
+msgid "Updates"
+msgstr "Aktualizacje"
+
+#: Settings.ui.h:233
+msgid "Periodically check for updates"
+msgstr "Sprawdzaj regularnie dostępność aktualizacji"
+
+#: Settings.ui.h:234
+msgid "Check now"
+msgstr "Sprawdź teraz"
+
+#: Settings.ui.h:235
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Bądź świadom, że te oficjalne "
+"wydania Dash to Panel mogły jeszcze nie przejść weryfikacji na extensions."
+"gnome.org! Więcej "
+"informacji"
+
+#: Settings.ui.h:236
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Tego programu nie obejmuje ABSOLUTNIE ŻADNA GWARANCJA.\n"
+"Więcej informacji można znaleźć w licencji GNU General Public License, wersja 2 "
+"lub nowsza."
+
+#: Settings.ui.h:238
+msgid "About"
+msgstr "Informacje"
+
+#~ msgid "Highlight color"
+#~ msgstr "Kolor podświetlenia"
+
+#~ msgid "Preview timeout on icon leave (ms)"
+#~ msgstr "Opóźnienie wygaszenia podglądu po opuszczeniu ikony (ms)"
+
+#~ msgid ""
+#~ "If set too low, the window preview of running applications may seem to "
+#~ "close too quickly when trying to enter the popup. If set too high, the "
+#~ "preview may linger too long when moving to an adjacent icon."
+#~ msgstr ""
+#~ "Ustawienie zbyt małej wartości może spowodować, że pogląd okien może "
+#~ "zamykać się zbyt szybko, natomiast za duża wartość spowoduje długi czas "
+#~ "wyświetlania podglądu po przejściu do sąsiedniej ikony."
+
+#~ msgid "Middle click to close window"
+#~ msgstr "Zamknięcie okna poprzez kliknięcie środkowego przycisku"
+
+#~ msgid "Width of the window previews (px)"
+#~ msgstr "Szerokość miniatury (px)"
+
+#~ msgid "Height of the window previews (px)"
+#~ msgstr "Wysokość miniatury (px)"
+
+#~ msgid "Padding of the window previews (px)"
+#~ msgstr "Odstęp między miniaturami (px)"
+
+msgid "Weekday"
+msgstr "Dzień tygodnia"
+
+msgid "Date"
+msgstr "Data"
+
+msgid "Seconds"
+msgstr "Sekundy"
diff --git a/po/ps.po b/po/ps.po
new file mode 100644
index 0000000..0f572c5
--- /dev/null
+++ b/po/ps.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ps\n"
+
+msgid "System Monitor"
+msgstr "غونډال ليدانی"
diff --git a/po/pt.po b/po/pt.po
new file mode 100644
index 0000000..31eb000
--- /dev/null
+++ b/po/pt.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: pt\n"
+
+msgid "System Monitor"
+msgstr "Monitor de sistema"
+
+msgid "Files"
+msgstr "Ficheiros"
+
+msgid "Settings"
+msgstr "Definições"
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644
index 0000000..e85ddc1
--- /dev/null
+++ b/po/pt_BR.po
@@ -0,0 +1,475 @@
+# Dash to panel.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# F�bio Nogueira , 2017
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-04-16 22:54-0300\n"
+"PO-Revision-Date: 2017-09-15 11:03-0300\n"
+"Last-Translator: Fábio Nogueira \n"
+"Language-Team: \n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.0.3\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: appIcons.js:918
+msgid "Show Details"
+msgstr "Exibir detalhes"
+
+#: appIcons.js:937
+msgid "New Window"
+msgstr "Nova janela"
+
+#: appIcons.js:937 appIcons.js:998 appIcons.js:1000 Settings.ui.h:8
+msgid "Quit"
+msgstr "Sair"
+
+#: appIcons.js:1000
+msgid "Windows"
+msgstr "Janelas"
+
+#: appIcons.js:1159
+msgid "Taskbar Settings"
+msgstr "Configurações da barra de tarefas"
+
+#: appIcons.js:1166
+msgid "Restore Windows"
+msgstr "Restaurar janelas"
+
+#: appIcons.js:1166
+msgid "Show Desktop"
+msgstr "Exibir área de trabalho"
+
+#: prefs.js:266
+msgid "Running Indicator Options"
+msgstr "Opções do indicador de execução"
+
+#: prefs.js:273 prefs.js:433 prefs.js:498 prefs.js:566 prefs.js:608
+msgid "Reset to defaults"
+msgstr "Restaurar o padrão"
+
+#: prefs.js:426
+msgid "Customize middle-click behavior"
+msgstr "Personalizar o comportamento do clique-do-meio"
+
+#: prefs.js:491
+msgid "Advanced hotkeys options"
+msgstr "Opções avançadas das teclas de atalho"
+
+#: prefs.js:559
+msgid "Secondary Menu Options"
+msgstr "Opções do menu secundário"
+
+#: prefs.js:601 Settings.ui.h:85
+msgid "Advanced Options"
+msgstr "Opções avançadas"
+
+#: Settings.ui.h:1
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Quando definido para minimizar, clicando duas vezes minimiza todas as "
+"janelas da aplicação."
+
+#: Settings.ui.h:2
+msgid "Shift+Click action"
+msgstr "Ação do Shift+clique"
+
+#: Settings.ui.h:3
+msgid "Raise window"
+msgstr "Elevar a janela"
+
+#: Settings.ui.h:4
+msgid "Minimize window"
+msgstr "Minimizar a janela"
+
+#: Settings.ui.h:5
+msgid "Launch new instance"
+msgstr "Carregar nova instância"
+
+#: Settings.ui.h:6
+msgid "Cycle through windows"
+msgstr "Percorrer as janelas"
+
+#: Settings.ui.h:7
+msgid "Cycle windows + minimize"
+msgstr "Percorrer as janelas + minimizar"
+
+#: Settings.ui.h:9
+msgid "Behavior for Middle-Click."
+msgstr "Comportamento do clique-do-meio."
+
+#: Settings.ui.h:10
+msgid "Middle-Click action"
+msgstr "Ação do clique-do-meio"
+
+#: Settings.ui.h:11
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Comportamento para o Shift+Clique-do-meio."
+
+#: Settings.ui.h:12
+msgid "Shift+Middle-Click action"
+msgstr "Ação do Shift+Clique-do-meio"
+
+#: Settings.ui.h:13
+msgid "Integrate AppMenu items"
+msgstr "Itens integrados ao Menu de aplicativos"
+
+#: Settings.ui.h:14
+msgid "Show Details menu item"
+msgstr "Item do menu Exibir detalhes"
+
+#: Settings.ui.h:15
+msgid "Highlight focused application"
+msgstr "Destaque para o aplicativo em foco"
+
+#: Settings.ui.h:16
+msgid "Height (px)"
+msgstr "Altura (px)"
+
+#: Settings.ui.h:17
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:18
+msgid "Color - Override Theme"
+msgstr "Cor - Tema de sobreposição"
+
+#: Settings.ui.h:19
+msgid "1 window open"
+msgstr "1 janela aberta"
+
+#: Settings.ui.h:20
+msgid "Apply to all"
+msgstr "Aplicar para tudo"
+
+#: Settings.ui.h:21
+msgid "2 windows open"
+msgstr "2 janelas abertas"
+
+#: Settings.ui.h:22
+msgid "3 windows open"
+msgstr "3 janelas abertas"
+
+#: Settings.ui.h:23
+msgid "4+ windows open"
+msgstr "4 ou + janelas abertas"
+
+#: Settings.ui.h:24
+msgid "Use different for unfocused"
+msgstr "Utilizar uma diferente para o que não está focado"
+
+#: Settings.ui.h:25
+msgid "Preview timeout on icon leave (ms)"
+msgstr "Tempo limite de pré-visualização sobre o ícone sair (ms)"
+
+#: Settings.ui.h:26
+msgid ""
+"If set too low, the window preview of running applications may seem to close "
+"too quickly when trying to enter the popup. If set too high, the preview may "
+"linger too long when moving to an adjacent icon."
+msgstr ""
+"Se definido como muito baixo, a pré-visualização da janela de aplicativos em "
+"execução pode fechar muito rapidamente ao tentar inserir o pop-up. Se "
+"definido como muito alto, a visualização pode demorar muito tempo ao mover-"
+"se para um ícone adjacente."
+
+#: Settings.ui.h:27
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:28
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:29
+msgid "Hotkeys prefix"
+msgstr "Prefixo das teclas de atalho"
+
+#: Settings.ui.h:30
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr "As teclas de atalho serão Super+Número ou Super+Alt+Número"
+
+#: Settings.ui.h:31
+msgid "Number overlay"
+msgstr "Sobreposição de número"
+
+#: Settings.ui.h:32
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Exibe temporariamente os números das aplicações sobre os ícones ao usar as "
+"teclas de atalho."
+
+#: Settings.ui.h:33
+msgid "Hide timeout (ms)"
+msgstr "Ocultar tempo limite (ms)"
+
+#: Settings.ui.h:34
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Atalho para exibir a sobreposição por 2 segundos"
+
+#: Settings.ui.h:35
+msgid "Syntax: , , , "
+msgstr "Sintaxe: , , , "
+
+#: Settings.ui.h:36
+msgid "Panel screen position"
+msgstr "Posição da tela do painel"
+
+#: Settings.ui.h:37
+msgid "Bottom"
+msgstr "Embaixo"
+
+#: Settings.ui.h:38
+msgid "Top"
+msgstr "Topo"
+
+#: Settings.ui.h:39
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Tamanho do painel\n"
+"(O padrão é 48)"
+
+#: Settings.ui.h:41
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Margem do ícone do Aplicativo\n"
+"(O padrão é 8)"
+
+#: Settings.ui.h:43
+msgid "Running indicator position"
+msgstr "Posição do indicador de execução"
+
+#: Settings.ui.h:44
+msgid "Running indicator style (Focused app)"
+msgstr "Estilo do indicador de execução (Aplicativo em foco)"
+
+#: Settings.ui.h:45
+msgid "Dots"
+msgstr "Pontos"
+
+#: Settings.ui.h:46
+msgid "Squares"
+msgstr "Quadrados"
+
+#: Settings.ui.h:47
+msgid "Dashes"
+msgstr "Traços"
+
+#: Settings.ui.h:48
+msgid "Segmented"
+msgstr "Segmentado"
+
+#: Settings.ui.h:49
+msgid "Solid"
+msgstr "Sólido"
+
+#: Settings.ui.h:50
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:51
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:52
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Estilo do indicador de execução (Aplicativos fora de foco)"
+
+#: Settings.ui.h:53
+msgid "Clock location"
+msgstr "Local do relógio"
+
+#: Settings.ui.h:54
+msgid "Natural"
+msgstr "Natural"
+
+#: Settings.ui.h:55
+msgid "Left of status menu"
+msgstr "Esquerda do menu de status"
+
+#: Settings.ui.h:56
+msgid "Right of status menu"
+msgstr "Direita do menu de status"
+
+#: Settings.ui.h:57
+msgid "Position and Style"
+msgstr "Posição e Estilo"
+
+#: Settings.ui.h:58
+msgid "Show Applications icon"
+msgstr "Mostrar ícone Aplicativos"
+
+#: Settings.ui.h:59
+msgid "Animate Show Applications."
+msgstr "Mostrar aplicativos animado."
+
+#: Settings.ui.h:60
+msgid "Show Activities button"
+msgstr "Mostrar botão Atividades"
+
+#: Settings.ui.h:61
+msgid "Show Desktop button"
+msgstr "Mostrar botão Área de trabalho"
+
+#: Settings.ui.h:62
+msgid "Show AppMenu button"
+msgstr "Mostrar botão Menu de aplicativos"
+
+#: Settings.ui.h:63
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Barra superior > Mostrar o Menu do aplicativos deve ser ativado na "
+"Ferramenta de ajustes do GNOME"
+
+#: Settings.ui.h:64
+msgid "Show window previews on hover"
+msgstr "Mostrar pré-visulização da janela ao pairar"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Tempo (ms) antes de exibir (100 é o padrão)"
+
+#: Settings.ui.h:66
+msgid "Isolate Workspaces"
+msgstr "Isolar Espaços de trabalho"
+
+#: Settings.ui.h:67
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Comportamento ao clicar sobre o ícone de um aplicativo em execução."
+
+#: Settings.ui.h:68
+msgid "Click action"
+msgstr "Ação do clique"
+
+#: Settings.ui.h:69
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Habilita o Super+(0-9) como atalho para os aplicativos. Isto pode ser usado "
+"junto com Shift e Ctrl."
+
+#: Settings.ui.h:70
+msgid "Use hotkeys to activate apps"
+msgstr "Utilizar teclas de atalho para ativar os aplicativos"
+
+#: Settings.ui.h:71
+msgid "Behavior"
+msgstr "Comportamento"
+
+#: Settings.ui.h:72
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tamanho da fonte da bandeja\n"
+"(0 = padrão do tema)"
+
+#: Settings.ui.h:74
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Tamanho da fonte da caixa da esquerda\n"
+"(0 = padrão do tema)"
+
+#: Settings.ui.h:76
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Preenchimento do ítem da bandeja\n"
+"(-1 = padrão do tema)"
+
+#: Settings.ui.h:78
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Preenchimento do ícone de status\n"
+"(-1 = padrão do tema)"
+
+#: Settings.ui.h:80
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Preenchimento da caixa da esquerda\n"
+"(-1 = padrão do tema)"
+
+#: Settings.ui.h:82
+msgid "Animate switching applications"
+msgstr "Animar alternações dos aplicativos"
+
+#: Settings.ui.h:83
+msgid "Animate launching new windows"
+msgstr "Carregamento animado de novas janelas"
+
+#: Settings.ui.h:84
+msgid "App icon secondary (right-click) menu"
+msgstr "Ícone do aplicativo do menu secundário (clique-direito)"
+
+#: Settings.ui.h:86
+msgid "Fine-Tune"
+msgstr "Sintonia fina"
+
+#: Settings.ui.h:87
+msgid "version: "
+msgstr "versão: "
+
+#: Settings.ui.h:88
+msgid "Github"
+msgstr "Github"
+
+#: Settings.ui.h:89
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Este programa vem com ABSOLUTAMENTE NENHUMA GARANTIA.\n"
+"Veja a Licença Pública Geral GNU, versão 2 ou posterior para maiores "
+"detalhes."
+
+#: Settings.ui.h:91
+msgid "About"
+msgstr "Sobre"
+
+#~ msgid "Panel Size"
+#~ msgstr "Tamanho do painel"
+
+#~ msgid "Appearance"
+#~ msgstr "Aparência"
+
+msgid "Weekday"
+msgstr "Dia de semana"
+
+msgid "Date"
+msgstr "Data"
+
+msgid "Seconds"
+msgstr "Segundos"
+
+msgid "System Monitor"
+msgstr "Monitor do sistema"
+
+msgid "Files"
+msgstr "Arquivos"
+
+msgid "Settings"
+msgstr "Configurações"
diff --git a/po/ro.po b/po/ro.po
new file mode 100644
index 0000000..6052606
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: ro\n"
+
+msgid "System Monitor"
+msgstr "Monitor de sistem"
+
+msgid "Files"
+msgstr "Fișiere"
+
+msgid "Settings"
+msgstr "Configurări"
diff --git a/po/ru.po b/po/ru.po
new file mode 100644
index 0000000..2e14ac5
--- /dev/null
+++ b/po/ru.po
@@ -0,0 +1,1419 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) 2017
+# This file is distributed under the same license as the PACKAGE package.
+# Alex Gluck , 2017.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-11-06 08:17-0300\n"
+"PO-Revision-Date: 2020-11-06 13:38-0300\n"
+"Last-Translator: vantu5z \n"
+"Language-Team: \n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.4.1\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
+"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: prefs.js:206
+msgid "Show Desktop button height (px)"
+msgstr "Высота кнопки \"Рабочий стол\" (в пикселях)"
+
+#: prefs.js:206
+msgid "Show Desktop button width (px)"
+msgstr "Ширина кнопки \"Рабочий стол\" (в пикселях)"
+
+#: prefs.js:218
+msgid "Unavailable when gnome-shell top panel is present"
+msgstr "Недоступно, если включена верхняя панель GNOME"
+
+#: prefs.js:293
+msgid "Show Applications button"
+msgstr "Кнопка \"Приложения\""
+
+#: prefs.js:294
+msgid "Activities button"
+msgstr "Кнопка \"Обзор\""
+
+#: prefs.js:295
+msgid "Taskbar"
+msgstr "Панель задач"
+
+#: prefs.js:296
+msgid "Date menu"
+msgstr "Дата и время"
+
+#: prefs.js:297
+msgid "System menu"
+msgstr "Системное меню"
+
+#: prefs.js:298
+msgid "Left box"
+msgstr "Левый блок"
+
+#: prefs.js:299
+msgid "Center box"
+msgstr "Центральный блок"
+
+#: prefs.js:300
+msgid "Right box"
+msgstr "Правый блок"
+
+#: prefs.js:301
+msgid "Desktop button"
+msgstr "Кнопка \"Рабочий стол\""
+
+#: prefs.js:307
+msgid "Move up"
+msgstr "Переместить выше"
+
+#: prefs.js:309
+msgid "Move down"
+msgstr "Переместить ниже"
+
+#: prefs.js:311
+msgid "Visible"
+msgstr "Видимый"
+
+#: prefs.js:312
+msgid "Select element position"
+msgstr "Выбор позиции элемента"
+
+#: prefs.js:323
+msgid "Stacked to top"
+msgstr "Сверху"
+
+#: prefs.js:323
+msgid "Stacked to left"
+msgstr "Слева"
+
+#: prefs.js:324
+msgid "Stacked to bottom"
+msgstr "Снизу"
+
+#: prefs.js:324
+msgid "Stacked to right"
+msgstr "Справа"
+
+#: prefs.js:325
+msgid "Centered"
+msgstr "По центру"
+
+#: prefs.js:326
+msgid "Monitor Center"
+msgstr "Центр монитора"
+
+#: prefs.js:345
+msgid "More options"
+msgstr "Дополнительные параметры"
+
+#: prefs.js:369
+msgid "Show Applications options"
+msgstr "Настройка меню \"Приложения\""
+
+#: prefs.js:376 prefs.js:433 prefs.js:576 prefs.js:894 prefs.js:1037
+#: prefs.js:1164 prefs.js:1450 prefs.js:1545 prefs.js:1610 prefs.js:1653
+#: prefs.js:1750 prefs.js:1784 prefs.js:1826
+msgid "Reset to defaults"
+msgstr "По умолчанию"
+
+#: prefs.js:426
+msgid "Show Desktop options"
+msgstr "Настройки кнопки \"Рабочий стол\""
+
+#: prefs.js:569
+msgid "Running Indicator Options"
+msgstr "Параметры индикации запущенных приложений"
+
+#: prefs.js:732
+msgid "Primary monitor"
+msgstr "Основной монитор"
+
+#: prefs.js:732
+msgid "Monitor "
+msgstr "Монитор "
+
+#: prefs.js:887
+msgid "Dynamic opacity options"
+msgstr "Настройки динамической прозрачности"
+
+#: prefs.js:1030
+msgid "Intellihide options"
+msgstr "Настройки автоскрытия"
+
+#: prefs.js:1157
+msgid "Window preview options"
+msgstr "Настройки предпросмотра"
+
+#: prefs.js:1443
+msgid "Ungrouped application options"
+msgstr "Отображение разгруппированных приложений"
+
+#: prefs.js:1538
+msgid "Customize middle-click behavior"
+msgstr "Средняя кнопка мышки"
+
+#: prefs.js:1603
+msgid "Customize panel scroll behavior"
+msgstr "Прокручивание панелей"
+
+#: prefs.js:1646
+msgid "Customize icon scroll behavior"
+msgstr "Прокручивание значков"
+
+#: prefs.js:1743
+msgid "Advanced hotkeys options"
+msgstr "Расширенные настройки горячих клавиш"
+
+#: prefs.js:1777
+msgid "Secondary Menu Options"
+msgstr "Дополнительные настройки меню"
+
+#: prefs.js:1819 Settings.ui.h:230
+msgid "Advanced Options"
+msgstr "Расширенные настройки"
+
+#: prefs.js:1922
+msgid "Export settings"
+msgstr "Сохранение"
+
+#: prefs.js:1939
+msgid "Import settings"
+msgstr "Загрузка"
+
+#: appIcons.js:1418
+msgid "Show Details"
+msgstr "Показать подробности"
+
+#: appIcons.js:1436
+msgid "New Window"
+msgstr "Новое окно"
+
+#: appIcons.js:1436 appIcons.js:1496 appIcons.js:1498 Settings.ui.h:10
+msgid "Quit"
+msgstr "Выйти"
+
+#: appIcons.js:1498
+msgid "Windows"
+msgstr "Окна"
+
+#: appIcons.js:1847
+msgid "Unlock taskbar"
+msgstr "Открепить список задач"
+
+#: appIcons.js:1847
+msgid "Lock taskbar"
+msgstr "Закрепить список задач"
+
+#: appIcons.js:1852
+msgid "Taskbar Settings"
+msgstr "Настройки списка задач"
+
+#: appIcons.js:1865
+msgid "Restore Windows"
+msgstr "Восстановить окна"
+
+#: appIcons.js:1865
+msgid "Show Desktop"
+msgstr "Свернуть всё"
+
+#: update.js:48
+msgid "Unavailable when installed from extensions.gnome.org"
+msgstr "Недоступно, если установлено из extensions.gnome.org"
+
+#: update.js:62
+#, javascript-format
+msgid "Version %s (%s) is available"
+msgstr "Доступна версия %s (%s)"
+
+#: update.js:63
+msgid "Details"
+msgstr "Подробнее"
+
+#: update.js:64
+msgid "Update"
+msgstr "Обновление"
+
+#: update.js:67
+msgid "Already up to date"
+msgstr "Обновлений нет"
+
+#: update.js:75
+msgid "Error: "
+msgstr "Ошибка: "
+
+#: update.js:168
+msgid "Update successful, please log out/in"
+msgstr "Обновление успешно, перезайдите в систему"
+
+#: update.js:169
+msgid "Log out"
+msgstr "Выход из системы"
+
+#: update.js:173
+msgid "Update successful, please restart GNOME Shell"
+msgstr "Обновление успешно, перезапустите GNOME Shell"
+
+#: update.js:174
+msgid "Restart GNOME Shell"
+msgstr "Перезапуск GNOME Shell"
+
+#: update.js:174
+msgid "Restarting GNOME Shell..."
+msgstr "Перезапускаем GNOME Shell..."
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Пока пусто!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"Если выбрано \"Свернуть окно\", двойной щелчок сворачивает все окна "
+"приложения."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Действия для Shift+Щелчок"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Показать окно приложения"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Свернуть окно"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Запустить ещё одну копию"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Переключение между окнами"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Переключение между окнами + Свернуть"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Переключить одно / Просмотр нескольких"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Поведение для средней кнопки мыши."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Действие на нажатие средней кнопки"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Поведение для Shift+средняя_кнопка."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Действие на нажатие Shift+средняя_кнопка"
+
+#: Settings.ui.h:15
+msgid "Integrate AppMenu items"
+msgstr "Интегрировать Меню Приложения"
+
+#: Settings.ui.h:16
+msgid "Show Details menu item"
+msgstr "Меню Показать детали"
+
+#: Settings.ui.h:17
+msgid "Highlight focused application"
+msgstr "Подсвечивать приложение в фокусе"
+
+#: Settings.ui.h:18
+msgid "Icon dominant color"
+msgstr "Основной цвет значка"
+
+#: Settings.ui.h:19
+msgid "Custom color"
+msgstr "Задать цвет"
+
+#: Settings.ui.h:20
+msgid "Highlight opacity"
+msgstr "Прозрачность подсветки"
+
+#: Settings.ui.h:21
+msgid "Indicator size (px)"
+msgstr "Размер индикатора (в пикселях)"
+
+#: Settings.ui.h:22
+msgid "Indicator color - Icon Dominant"
+msgstr "Цвет индикатора по основному цвету значка"
+
+#: Settings.ui.h:23
+msgid "Indicator color - Override Theme"
+msgstr "Переназначить цвета темы"
+
+#: Settings.ui.h:24
+msgid "1 window open (or ungrouped)"
+msgstr "Когда одно окно открыто (или не сгруппировано)"
+
+#: Settings.ui.h:25
+msgid "Apply to all"
+msgstr "Применить ко всем"
+
+#: Settings.ui.h:26
+msgid "2 windows open"
+msgstr "Когда два окна открыто"
+
+#: Settings.ui.h:27
+msgid "3 windows open"
+msgstr "Когда три окна открыто"
+
+#: Settings.ui.h:28
+msgid "4+ windows open"
+msgstr "Когда четыре+ окна открыто"
+
+#: Settings.ui.h:29
+msgid "Use different for unfocused"
+msgstr "Использовать другой когда не в фокусе"
+
+#: Settings.ui.h:30
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Размер шрифта (в пикселях) заголовка приложений (по умолчанию 14)"
+
+#: Settings.ui.h:31
+msgid "Font weight of application titles"
+msgstr "Жирность шрифта заголовка приложений"
+
+#: Settings.ui.h:32
+msgid "inherit from theme"
+msgstr "значение из темы"
+
+#: Settings.ui.h:33
+msgid "normal"
+msgstr "средний"
+
+#: Settings.ui.h:34
+msgid "lighter"
+msgstr "узкий"
+
+#: Settings.ui.h:35
+msgid "bold"
+msgstr "жирный"
+
+#: Settings.ui.h:36
+msgid "bolder"
+msgstr "самый жирный"
+
+#: Settings.ui.h:37
+msgid "Font color of the application titles"
+msgstr "Цвет шрифта заголовка приложений"
+
+#: Settings.ui.h:38
+msgid "Font color of the minimized application titles"
+msgstr "Цвет шрифта заголовка свернутых приложений"
+
+#: Settings.ui.h:39
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr ""
+"Максимальная ширина (в пикселях) заголовка приложений (по умолчанию 160)"
+
+#: Settings.ui.h:40
+msgid "Use a fixed width for the application titles"
+msgstr "Использовать фиксированную ширину заголовков"
+
+#: Settings.ui.h:41
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Заголовки приложений имеют одинаковую ширину, даже если они короче "
+"максимальной ширины. Максимальное значение ширины используется как "
+"фиксированная ширина."
+
+#: Settings.ui.h:42
+msgid "Display running indicators on unfocused applications"
+msgstr "Индикатор запущенного приложения, когда окно не в фокусе"
+
+#: Settings.ui.h:43
+msgid "Use the favorite icons as application launchers"
+msgstr "Показывать избранные приложения"
+
+#: Settings.ui.h:44
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Скрывать только при наложении окон "
+
+#: Settings.ui.h:45
+msgid "The panel hides from"
+msgstr "Скрывать панель с"
+
+#: Settings.ui.h:46
+msgid "All windows"
+msgstr "Все окна"
+
+#: Settings.ui.h:47
+msgid "Focused windows"
+msgstr "Окна в фокусе"
+
+#: Settings.ui.h:48
+msgid "Maximized windows"
+msgstr "Развернутые окна"
+
+#: Settings.ui.h:49
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Требуется давление на краю экрана, чтобы открыть панель"
+
+#: Settings.ui.h:50
+msgid "Required pressure threshold (px)"
+msgstr "Область у границы для показа панели (в пикселях)"
+
+#: Settings.ui.h:51
+msgid "Required pressure timeout (ms)"
+msgstr "Задержка показа при приближении к краю (в мс)"
+
+#: Settings.ui.h:52
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Разрешить отображение панели в полноэкранном режиме"
+
+#: Settings.ui.h:53
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr ""
+"Скрывать дополнительные панели (требуется показ на нескольких мониторах)"
+
+#: Settings.ui.h:54
+msgid "e.g. i"
+msgstr "например, i"
+
+#: Settings.ui.h:55
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Комбинация клавиш для показа панели"
+
+#: Settings.ui.h:56
+msgid "Syntax: , , , "
+msgstr "Синтакс: , , , "
+
+#: Settings.ui.h:57
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Длительность анимации (в мс)"
+
+#: Settings.ui.h:58
+msgid "Delay before hiding the panel (ms)"
+msgstr "Задержка перед скрытием панели (в мс)"
+
+#: Settings.ui.h:59
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Задержка на скрытие при запуске (в мс)"
+
+#: Settings.ui.h:60
+msgid "Time (ms) before showing (400 is default)"
+msgstr "Задержка (в мс) перед показом (400 по умолчанию)"
+
+#: Settings.ui.h:61
+msgid "Animation time (ms)"
+msgstr "Время анимации (в мс)"
+
+#: Settings.ui.h:62
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Задержка (в мс) перед скрытием (100 по умолчанию)"
+
+#: Settings.ui.h:63
+msgid "Immediate on application icon click"
+msgstr "Сразу по переходу в приложение"
+
+#: Settings.ui.h:64
+msgid "Middle click on the preview to close the window"
+msgstr "Нажатие средней кнопкой по предпросмотру закрывает окно"
+
+#: Settings.ui.h:65
+msgid "Window previews preferred size (px)"
+msgstr "Предпочитаемый размер окна предпросмотра (пикселей)"
+
+#: Settings.ui.h:66
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Коэффициент по оси Y (высота)"
+
+#: Settings.ui.h:67
+msgid "Window previews padding (px)"
+msgstr "Отступ окон между собой (пикселей)"
+
+#: Settings.ui.h:68
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:69
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:70
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:71
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:72
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:73
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:74
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:75
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:76
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:77
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:78
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:79
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:80
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:81
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:82
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:83
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:84
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:85
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:86
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:87
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:88
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:89
+msgid "Fixed"
+msgstr "Закреплено"
+
+#: Settings.ui.h:90
+msgid "Window previews aspect ratio X (width)"
+msgstr "Коэффициент по оси Y (ширина)"
+
+#: Settings.ui.h:91
+msgid "Use custom opacity for the previews background"
+msgstr "Использовать прозрачность для окна предпросмотра"
+
+#: Settings.ui.h:92
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr "Если отключено используется прозрачность из настроек панели"
+
+#: Settings.ui.h:93
+msgid "Close button and header position"
+msgstr "Кнопка закрытия и заголовок"
+
+#: Settings.ui.h:94
+msgid "Bottom"
+msgstr "Внизу"
+
+#: Settings.ui.h:95
+msgid "Top"
+msgstr "Наверху"
+
+#: Settings.ui.h:96
+msgid "Display window preview headers"
+msgstr "Показать заголовок окна"
+
+#: Settings.ui.h:97
+msgid "Icon size (px) of the window preview"
+msgstr "Размер значка (в пикселях) в окне предпросмотра"
+
+#: Settings.ui.h:98
+msgid "If disabled, the previews icon size will be based on headerbar size"
+msgstr "Если отключено будет использован размер значков по размеру заголовка"
+
+#: Settings.ui.h:99
+msgid "Font size (px) of the preview titles"
+msgstr "Размер шрифта (в пикселях) для заголовка"
+
+#: Settings.ui.h:100
+msgid "Font weight of the preview titles"
+msgstr "Жирность шрифта заголовка"
+
+#: Settings.ui.h:101
+msgid "Font color of the preview titles"
+msgstr "Цвет шрифта заголовка"
+
+#: Settings.ui.h:102
+msgid "Enable window peeking"
+msgstr "Переводить окно на передний план"
+
+#: Settings.ui.h:103
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr "Выделение окна приложения при наведении на окно предпросмотра,"
+
+#: Settings.ui.h:104
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Задержка перед помещением окна на передний план (в мс)"
+
+#: Settings.ui.h:105
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:106
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Время бездействия при наведении указателя на окно предпросмотра для перевода "
+"окна на передний план."
+
+#: Settings.ui.h:107
+msgid "Window peeking mode opacity"
+msgstr "Режим прозрачности выделенного окна"
+
+#: Settings.ui.h:108
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:109
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr "Все окна, кроме выделенного, имеют прозрачность."
+
+#: Settings.ui.h:110
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Задержка между событиями вращения колесика мышки (мс)"
+
+#: Settings.ui.h:111
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr ""
+"Это значение ограничивает количество получаемых сообщений вращения колесика "
+"мышки."
+
+#: Settings.ui.h:112
+msgid "Show popup when changing workspace"
+msgstr ""
+
+#: Settings.ui.h:113
+msgid "This affects workspace popup when scrolling on the panel only."
+msgstr ""
+
+#: Settings.ui.h:114
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:115
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:116
+msgid "Hotkeys prefix"
+msgstr "Префикс горячих клавиш"
+
+#: Settings.ui.h:117
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr ""
+"Комбинации клавиш для приложений на панели либо Super+Number, либо Super+Alt"
+"+Num"
+
+#: Settings.ui.h:118
+msgid "Never"
+msgstr "Никогда"
+
+#: Settings.ui.h:119
+msgid "Show temporarily"
+msgstr "Показать временно"
+
+#: Settings.ui.h:120
+msgid "Always visible"
+msgstr "Всегда видимый"
+
+#: Settings.ui.h:121
+msgid "Number overlay"
+msgstr "Наложение цифр"
+
+#: Settings.ui.h:122
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr ""
+"Временно показывать цифры на значках приложений при нажатии горячей клавиши."
+
+#: Settings.ui.h:123
+msgid "Hide timeout (ms)"
+msgstr "Задержка скрытия (в мс)"
+
+#: Settings.ui.h:124
+msgid "e.g. q"
+msgstr "например, q"
+
+#: Settings.ui.h:125
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Показать оверлей на значках на 2 секунды"
+
+#: Settings.ui.h:126
+msgid "Show window previews on hotkey"
+msgstr "Предпросмотр приложений"
+
+#: Settings.ui.h:127
+msgid "Show previews when the application have multiple instances"
+msgstr "Показывать предпросмотр приложений с несколькими экземплярами"
+
+#: Settings.ui.h:128
+msgid "Number row"
+msgstr "Основной"
+
+#: Settings.ui.h:129
+msgid "Numeric keypad"
+msgstr "Дополнительной"
+
+#: Settings.ui.h:130
+msgid "Both"
+msgstr "Оба"
+
+#: Settings.ui.h:131
+msgid "Hotkeys are activated with"
+msgstr "Используются горячие клавиши с клавиатуры"
+
+#: Settings.ui.h:132
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr "Выберите какой набор цифровых кнопок используется для горячих клавиш"
+
+#: Settings.ui.h:133
+msgid "Current Show Applications icon"
+msgstr "Текущий значок \"Приложения\""
+
+#: Settings.ui.h:134
+msgid "Select a Show Applications image icon"
+msgstr "Выбрать значок \"Приложения\""
+
+#: Settings.ui.h:135
+msgid "Custom Show Applications image icon"
+msgstr "Собственный значок \"Приложения\""
+
+#: Settings.ui.h:136
+msgid "Show Applications icon side padding (px)"
+msgstr "Отступ от значка (в пикселях)"
+
+#: Settings.ui.h:137
+msgid "Override escape key and return to desktop"
+msgstr ""
+
+#: Settings.ui.h:138
+msgid "Animate Show Applications."
+msgstr "Анимировать Показ списка приложений."
+
+#: Settings.ui.h:139
+msgid "Override Show Desktop line color"
+msgstr "Выбрать цвет разделительной линии"
+
+#: Settings.ui.h:140
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Показать рабочий стол при наведении на кнопку"
+
+#: Settings.ui.h:141
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Задержка показа рабочего стола (в мс)"
+
+#: Settings.ui.h:142
+msgid "Fade duration (ms)"
+msgstr "Задержка скрытия (в мс)"
+
+#: Settings.ui.h:143
+msgid "The panel background opacity is affected by"
+msgstr "Влияние на прозрачность панели оказывают"
+
+#: Settings.ui.h:144
+msgid "Change opacity when a window gets closer than (px)"
+msgstr ""
+"Изменять прозрачность при приближении окна к панели ближе чем (в пикселях)"
+
+#: Settings.ui.h:146
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Изменять прозрачность на (%)"
+
+#: Settings.ui.h:147
+msgid "Opacity change animation duration (ms)"
+msgstr "Скрыть и показать задержка анимации (в мс)"
+
+#: Settings.ui.h:148
+msgid "Display the main panel on"
+msgstr "Показать панель на"
+
+#: Settings.ui.h:149
+msgid "Display panels on all monitors"
+msgstr "Показать панель на всех мониторах"
+
+#: Settings.ui.h:150
+msgid "Panel Intellihide"
+msgstr "Автоскрытие панели"
+
+#: Settings.ui.h:151
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Скрывать и показывать панель в зависимости от настроек"
+
+#: Settings.ui.h:152
+msgid "Order and positions on monitor"
+msgstr "Порядок и расположение на мониторе"
+
+#: Settings.ui.h:153
+msgid "Apply changes to all monitors"
+msgstr "Применить изменения ко всем мониторам"
+
+#: Settings.ui.h:154
+msgid "Panel screen position"
+msgstr "Расположение панели на экране"
+
+#: Settings.ui.h:155
+msgid "Left"
+msgstr "Слева"
+
+#: Settings.ui.h:156
+msgid "Right"
+msgstr "Справа"
+
+#: Settings.ui.h:157
+msgid "Position"
+msgstr "Расположение"
+
+#: Settings.ui.h:158
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Ширина панели\n"
+"(По умолчанию 48 пикселей)"
+
+#: Settings.ui.h:160
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Отступ между значками приложений\n"
+"(по умолчанию 8 пикселей)"
+
+#: Settings.ui.h:162
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Отступ вокруг значков приложений\n"
+"(по умолчанию 4 пикселя)"
+
+#: Settings.ui.h:164
+msgid "Running indicator position"
+msgstr "Позиция индикаторов запущенных приложений"
+
+#: Settings.ui.h:165
+msgid "Running indicator style (Focused app)"
+msgstr "Индикатор запущенного приложения (когда в фокусе)"
+
+#: Settings.ui.h:166
+msgid "Dots"
+msgstr "Точки"
+
+#: Settings.ui.h:167
+msgid "Squares"
+msgstr "Квадраты"
+
+#: Settings.ui.h:168
+msgid "Dashes"
+msgstr "Линии"
+
+#: Settings.ui.h:169
+msgid "Segmented"
+msgstr "Сегменты"
+
+#: Settings.ui.h:170
+msgid "Solid"
+msgstr "Жирные линии"
+
+#: Settings.ui.h:171
+msgid "Ciliora"
+msgstr "Линии с точками"
+
+#: Settings.ui.h:172
+msgid "Metro"
+msgstr "Метро"
+
+#: Settings.ui.h:173
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Индикатор запущенного приложения (когда в не фокусе)"
+
+#: Settings.ui.h:174
+msgid "Override panel theme background color "
+msgstr "Цвет панели "
+
+#: Settings.ui.h:175
+msgid "Override panel theme background opacity"
+msgstr "Прозрачность панели"
+
+#: Settings.ui.h:177
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Прозрачность панели (%)"
+
+#: Settings.ui.h:178
+msgid "Dynamic background opacity"
+msgstr "Динамическая прозрачность"
+
+#: Settings.ui.h:179
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Изменять прозрачность при приближении окно к панели"
+
+#: Settings.ui.h:180
+msgid "Override panel theme gradient "
+msgstr "Градиент панели "
+
+#: Settings.ui.h:182
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Значение цвета и прозрачности (%) сверху"
+
+#: Settings.ui.h:184
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Значение цвета и прозрачности (%) снизу"
+
+#: Settings.ui.h:185
+msgid "Style"
+msgstr "Вид"
+
+#: Settings.ui.h:186
+msgid "Show favorite applications"
+msgstr "Показывать избранные приложения"
+
+#: Settings.ui.h:187
+msgid "Show running applications"
+msgstr "Показывать запущенные приложения"
+
+#: Settings.ui.h:188
+msgid "Show favorite applications on secondary panels"
+msgstr "Показывать избранные приложения на вторичных панелях"
+
+#: Settings.ui.h:189
+msgid "Show AppMenu button"
+msgstr "Показывать кнопку Меню приложения"
+
+#: Settings.ui.h:190
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Верхняя панель > Показать меню приложения, должно быть включено в Tweak Tool"
+
+#: Settings.ui.h:191
+msgid "Show window previews on hover"
+msgstr "Показывать предпросмотр окон при наведении"
+
+#: Settings.ui.h:192
+msgid "Show tooltip on hover"
+msgstr "Показывать подсказку при наведении"
+
+#: Settings.ui.h:193
+msgid "Isolate Workspaces"
+msgstr "Изолировать рабочие столы"
+
+#: Settings.ui.h:194
+msgid "Isolate monitors"
+msgstr "Изолировать мониторы"
+
+#: Settings.ui.h:195
+msgid "Click empty space to close overview"
+msgstr "Закрывать обзор при щелчке на свободном месте"
+
+#: Settings.ui.h:196
+msgid "Ungroup applications"
+msgstr "Разгруппировать приложения"
+
+#: Settings.ui.h:197
+msgid "Behavior"
+msgstr "Поведение"
+
+#: Settings.ui.h:198
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Поведение при щелчке на значке запущенного приложения."
+
+#: Settings.ui.h:199
+msgid "Click action"
+msgstr "Действие при щелчке"
+
+#: Settings.ui.h:200
+msgid "Toggle windows"
+msgstr "Показать или свернуть"
+
+#: Settings.ui.h:201
+msgid "Scroll panel action"
+msgstr "При прокрутке над панелью"
+
+#: Settings.ui.h:202
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Поведение при прокрутке колесиком мыши над панелью."
+
+#: Settings.ui.h:203
+msgid "Scroll icon action"
+msgstr "При прокрутке над значком приложения"
+
+#: Settings.ui.h:204
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Поведение при прокрутке колесиком мыши над значком приложения."
+
+#: Settings.ui.h:205
+msgid "Do nothing"
+msgstr "Ничего не делать"
+
+#: Settings.ui.h:206
+msgid "Switch workspace"
+msgstr "Переключать рабочий стол"
+
+#: Settings.ui.h:207
+msgid "Cycle windows"
+msgstr "Переключать окна"
+
+#: Settings.ui.h:208
+msgid "Change volume"
+msgstr "Изменить громкость"
+
+#: Settings.ui.h:209
+msgid "Same as panel"
+msgstr "Как на панеле"
+
+#: Settings.ui.h:210
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Использовать Super+(0-9) как горячие клавиши запуска приложений. Доступно "
+"использование Shift и Ctrl."
+
+#: Settings.ui.h:211
+msgid "Use hotkeys to activate apps"
+msgstr "Использовать горячие клавиши для запуска приложений"
+
+#: Settings.ui.h:212
+msgid "Action"
+msgstr "Действия"
+
+#: Settings.ui.h:213
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Размер шрифта в трее\n"
+"(0 = значение из темы)"
+
+#: Settings.ui.h:215
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Размер шрифта левой панели\n"
+"(0 = значение из темы)"
+
+#: Settings.ui.h:217
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Отступ между значками в трее\n"
+"(-1 = значение из темы)"
+
+#: Settings.ui.h:219
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Значки статуса\n"
+"(-1 = значение из темы)"
+
+#: Settings.ui.h:221
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Отступ левой панели\n"
+"(0 = значение из темы)"
+
+#: Settings.ui.h:223
+msgid "Animate switching applications"
+msgstr "Анимировать переключение приложений"
+
+#: Settings.ui.h:224
+msgid "Animate launching new windows"
+msgstr "Анимировать запуск нового окна"
+
+#: Settings.ui.h:225
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Сохранить панель GNOME при показе приложений"
+
+#: Settings.ui.h:226
+msgid "Force Activities hot corner on primary monitor"
+msgstr ""
+
+#: Settings.ui.h:227
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr ""
+"Активировать кнопки на панели меню (например, меню даты) только при нажатии "
+"на кнопку"
+
+#: Settings.ui.h:228
+msgid "Keep original gnome-shell top panel"
+msgstr "Сохранить верхнюю панель GNOME"
+
+#: Settings.ui.h:229
+msgid "App icon secondary (right-click) menu"
+msgstr "Меню приложения по щелчку правой кнопкой мыши"
+
+#: Settings.ui.h:231
+msgid "Fine-Tune"
+msgstr "Тонкая настройка"
+
+#: Settings.ui.h:232
+msgid "version: "
+msgstr "версия: "
+
+#: Settings.ui.h:233
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:234
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Кнопками ниже можно сохранить текущие настройки в файл для загрузки на "
+"другой машине."
+
+#: Settings.ui.h:235
+msgid "Export and import settings"
+msgstr "Сохранение и загрузка настроек"
+
+#: Settings.ui.h:236
+msgid "Export to file"
+msgstr "Сохранение настроек"
+
+#: Settings.ui.h:237
+msgid "Import from file"
+msgstr "Загрузка настроек"
+
+#: Settings.ui.h:238
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr "Позволяет обновлять приложение прямо с GitHub."
+
+#: Settings.ui.h:239
+msgid "Updates"
+msgstr "Обновления"
+
+#: Settings.ui.h:240
+msgid "Periodically check for updates"
+msgstr "Периодически проверять обновления"
+
+#: Settings.ui.h:241
+msgid "Check now"
+msgstr "Проверить сейчас"
+
+#: Settings.ui.h:242
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Внимание! Хоть релизы и выходят "
+"официально, они могут быть еще выложены на extensions.gnome.org! Прочитать"
+
+#: Settings.ui.h:243
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General Public License, version 2 or later for details."
+msgstr ""
+"Эта программа поставляется без каких-либо гарантий.\n"
+"Подробнее на GNU General Public License, version 2 or later"
+
+#: Settings.ui.h:245
+msgid "About"
+msgstr "О приложении"
+
+#~ msgid "Top, with plugin icons collapsed to bottom"
+#~ msgstr "Сверху, иконки плагинов снизу"
+
+#~ msgid "Left, with plugin icons collapsed to right"
+#~ msgstr "Слева, иконки плагинов справа"
+
+#~ msgid "Top, with fixed center plugin icons"
+#~ msgstr "Сверху, иконки плагинов по середине"
+
+#~ msgid "Left, with fixed center plugin icons"
+#~ msgstr "Слева, иконки плагинов по середине"
+
+#~ msgid "Top, with floating center plugin icons"
+#~ msgstr "Сверху, иконки плагинов по центру и не закреплены"
+
+#~ msgid "Left, with floating center plugin icons"
+#~ msgstr "Слева, иконки плагинов по центру и не закреплены"
+
+#~ msgid "Center, fixed in middle of monitor"
+#~ msgstr "По центру монитора"
+
+#~ msgid "Center, floating between top and bottom elements"
+#~ msgstr "По центру между элементами сверху и снизу"
+
+#~ msgid "Center, floating between left and right elements"
+#~ msgstr "По центру между элементами слева и справа"
+
+#~ msgid "Top of plugin icons"
+#~ msgstr "Сверху от иконок плагинов"
+
+#~ msgid "Left of plugin icons"
+#~ msgstr "Слева от иконок плагинов"
+
+#~ msgid "Bottom of plugin icons"
+#~ msgstr "Снизу от иконок плагинов"
+
+#~ msgid "Right of plugin icons"
+#~ msgstr "Справа от иконок плагинов"
+
+#~ msgid "Top of system indicators"
+#~ msgstr "Сверху от системных индикаторов"
+
+#~ msgid "Left of system indicators"
+#~ msgstr "Слева от системных индикаторов"
+
+#~ msgid "Bottom of system indicators"
+#~ msgstr "Снизу от системных индикаторов"
+
+#~ msgid "Right of system indicators"
+#~ msgstr "Справа от системных индикаторов"
+
+#~ msgid "Left of taskbar"
+#~ msgstr "Слева от списка задач"
+
+#~ msgid "Bottom of taskbar"
+#~ msgstr "Снизу от списка задач"
+
+#~ msgid "Right of taskbar"
+#~ msgstr "Справа от списка задач"
+
+#~ msgid "Multi-monitors options"
+#~ msgstr "Настройки для нескольких мониторов"
+
+#~ msgid "Event logs"
+#~ msgstr "Просмотр логов"
+
+#~ msgid "System"
+#~ msgstr "Система"
+
+#~ msgid "Device Management"
+#~ msgstr "Управление устройствами"
+
+#~ msgid "Disk Management"
+#~ msgstr "Управление дисками"
+
+#~ msgid "Terminal"
+#~ msgstr "Терминал"
+
+#~ msgid "Display favorite applications on all monitors"
+#~ msgstr "Показывать закрепленные приложения на всех мониторах"
+
+#~ msgid "Display the clock on all monitors"
+#~ msgstr "Показывать часы на всех мониторах"
+
+#~ msgid "Display the status menu on all monitors"
+#~ msgstr "Показывать системные индикаторы на всех мониторах"
+
+#~ msgid "Taskbar position"
+#~ msgstr "Позиция панели задач на экране"
+
+#~ msgid "Clock location"
+#~ msgstr "Позиция часов"
+
+#~ msgid "Show Applications icon"
+#~ msgstr "Показывать иконку Программы"
+
+#~ msgid "Raise window"
+#~ msgstr "Восстановить окно"
+
+#~ msgid "Highlight color"
+#~ msgstr "Цвет подсветки"
+
+#~ msgid "Preview timeout on icon leave (ms)"
+#~ msgstr "Задержка превью в (мс)"
+
+#~ msgid ""
+#~ "If set too low, the window preview of running applications may seem to "
+#~ "close too quickly when trying to enter the popup. If set too high, the "
+#~ "preview may linger too long when moving to an adjacent icon."
+#~ msgstr ""
+#~ "Если установлено слишком маленькое значение, превью может исчезать "
+#~ "слишком быстро. Если установлено слишком большое значение, превью может "
+#~ "долго не скрываться и перекрывать соседние области."
+
+#~ msgid "Middle click to close window"
+#~ msgstr "Средний клик закрывает окно"
+
+#~ msgid "Width of the window previews (px)"
+#~ msgstr "Ширина окна в предпросмотре (в пикселях)"
+
+#~ msgid "Height of the window previews (px)"
+#~ msgstr "Высота окна в предпросмотре (в пикселях)"
+
+#~ msgid "Padding of the window previews (px)"
+#~ msgstr "Отступ между окнами в предпросмотре (в пикселях)"
+
+msgid "Weekday"
+msgstr "Будний день"
+
+msgid "Date"
+msgstr "Дата"
+
+msgid "Seconds"
+msgstr "Секунды"
+
+msgid "System Monitor"
+msgstr "Системный монитор"
+
+msgid "Files"
+msgstr "Файлы"
+
+msgid "Settings"
+msgstr "Параметры"
diff --git a/po/si.po b/po/si.po
new file mode 100644
index 0000000..d8467ca
--- /dev/null
+++ b/po/si.po
@@ -0,0 +1,14 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: si\n"
+
+msgid "System Monitor"
+msgstr "පද්ධති නිරීක්ෂකය"
+
+msgid "Files"
+msgstr "ගොනු"
diff --git a/po/sk.po b/po/sk.po
new file mode 100644
index 0000000..9a54397
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: sk\n"
+
+msgid "System Monitor"
+msgstr "Monitor systému"
+
+msgid "Files"
+msgstr "Súbory"
+
+msgid "Settings"
+msgstr "Nastavenia"
diff --git a/po/sl.po b/po/sl.po
new file mode 100644
index 0000000..51ec455
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: sl\n"
+
+msgid "System Monitor"
+msgstr "Nadzornik sistema"
+
+msgid "Files"
+msgstr "Datoteke"
+
+msgid "Settings"
+msgstr "Nastavitve"
diff --git a/po/sq.po b/po/sq.po
new file mode 100644
index 0000000..0dd4747
--- /dev/null
+++ b/po/sq.po
@@ -0,0 +1,11 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: sq\n"
+
+msgid "System Monitor"
+msgstr "Monitori i sistemit"
diff --git a/po/sr.po b/po/sr.po
new file mode 100644
index 0000000..2234493
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: sr\n"
+
+msgid "System Monitor"
+msgstr "Праћење система"
+
+msgid "Files"
+msgstr "Датотеке"
+
+msgid "Settings"
+msgstr "Подешавања"
diff --git a/po/sr@latin.po b/po/sr@latin.po
new file mode 100644
index 0000000..df01de1
--- /dev/null
+++ b/po/sr@latin.po
@@ -0,0 +1,17 @@
+msgid ""
+msgstr ""
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2\n"
+"Project-Id-Version: Zorin OS\n"
+"Language: sr\n"
+
+msgid "System Monitor"
+msgstr "Praćenje sistema"
+
+msgid "Files"
+msgstr "Datoteke"
+
+msgid "Settings"
+msgstr "Podešavanja"
diff --git a/po/sv.po b/po/sv.po
new file mode 100644
index 0000000..7256b94
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,1296 @@
+# Copyright (C) Dash to Panel swedish translation
+# This file is distributed under the same license as the Dash to Panel package.
+# Translation author: Gleb Vassiljev , 2020
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2019-11-08 20:40+0200\n"
+"PO-Revision-Date: 2020-03-11 21:21+0100\n"
+"Last-Translator: Gleb Vassiljev \n"
+"Language-Team: Svenska grenen av Translation Project \n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.2.4\n"
+
+#: prefs.js:211
+msgid "Top, with plugin icons collapsed to bottom"
+msgstr "Topp, med tilläggsikoner kollapsade till botten"
+
+#: prefs.js:211
+msgid "Left, with plugin icons collapsed to right"
+msgstr "Vänster, med tilläggsikoner kollapsade till höger"
+
+#: prefs.js:212
+msgid "Top, with fixed center plugin icons"
+msgstr "Topp, med centrerade tilläggsikoner"
+
+#: prefs.js:212
+msgid "Left, with fixed center plugin icons"
+msgstr "Vänster, med centrerade tilläggsikoner"
+
+#: prefs.js:213
+msgid "Top, with floating center plugin icons"
+msgstr "Topp, med flytande centrerade tilläggsikoner"
+
+#: prefs.js:213
+msgid "Left, with floating center plugin icons"
+msgstr "Vänster, med flytande centrerade tilläggsikoner"
+
+#: prefs.js:214
+msgid "Center, fixed in middle of monitor"
+msgstr "Centrum, fixerade i mitten av skärmen"
+
+#: prefs.js:215
+msgid "Center, floating between top and bottom elements"
+msgstr "Centrum, flytande mellan topp och botten elementer"
+
+#: prefs.js:215
+msgid "Center, floating between left and right elements"
+msgstr "Centrum, flytande mellan vänster och höger elementer"
+
+#: prefs.js:219
+msgid "Top of plugin icons"
+msgstr "Ovanför tilläggsikoner"
+
+#: prefs.js:219
+msgid "Left of plugin icons"
+msgstr "Till vänster av tilläggsikoner"
+
+#: prefs.js:220
+msgid "Bottom of plugin icons"
+msgstr "Under tilläggsikoner"
+
+#: prefs.js:220
+msgid "Right of plugin icons"
+msgstr "Till höger om tilläggsikoner"
+
+#: prefs.js:221
+msgid "Top of system indicators"
+msgstr "Ovanför systemindikatorer"
+
+#: prefs.js:221
+msgid "Left of system indicators"
+msgstr "Till vänster om systemindikatorer"
+
+#: prefs.js:222
+msgid "Bottom of system indicators"
+msgstr "Under systemindikatorer"
+
+#: prefs.js:222
+msgid "Right of system indicators"
+msgstr "Till höger om systemindikatorer"
+
+#: prefs.js:223
+msgid "Top of taskbar"
+msgstr "Ovanför programfältet"
+
+#: prefs.js:223
+msgid "Left of taskbar"
+msgstr "Till vänster om programfältet"
+
+#: prefs.js:224
+msgid "Bottom of taskbar"
+msgstr "Under programfältet"
+
+#: prefs.js:224
+msgid "Right of taskbar"
+msgstr "Till höger om programfältet"
+
+#: prefs.js:230
+msgid "Show Desktop button height (px)"
+msgstr "Visa skrivbordsknapp höjd (px)"
+
+#: prefs.js:230
+msgid "Show Desktop button width (px)"
+msgstr "Visa skrivbordsknapp bredd (px)"
+
+#: prefs.js:364
+msgid "Running Indicator Options"
+msgstr "Inställningar för programsymboler"
+
+#: prefs.js:371 prefs.js:569 prefs.js:712 prefs.js:837 prefs.js:904
+#: prefs.js:992 prefs.js:1078 prefs.js:1325 prefs.js:1409 prefs.js:1474
+#: prefs.js:1510 prefs.js:1607 prefs.js:1641 prefs.js:1683
+msgid "Reset to defaults"
+msgstr "Återställ till grundinställningar"
+
+#: prefs.js:514
+msgid "Default (Primary monitor)"
+msgstr "Förvalda (primära skärmar)"
+
+#: prefs.js:517
+msgid "Monitor "
+msgstr "Bildskärm "
+
+#: prefs.js:562
+msgid "Multi-monitors options"
+msgstr "Inställningar för flera bildskärmar"
+
+#: prefs.js:705
+msgid "Dynamic opacity options"
+msgstr "Inställningar för dynamisk genomskinlighet"
+
+#: prefs.js:830
+msgid "Intellihide options"
+msgstr "Inställningar för automatisk döljande"
+
+#: prefs.js:897
+msgid "Show Applications options"
+msgstr "Inställningar för Program-meny"
+
+#: prefs.js:985
+msgid "Show Desktop options"
+msgstr "Inställningar för skrivbordsknappen"
+
+#: prefs.js:1071
+msgid "Window preview options"
+msgstr "Förhandsgranskning av programfönster inställningar"
+
+#: prefs.js:1318
+msgid "Ungrouped application options"
+msgstr "Inställningar för icke grupperade program"
+
+#: prefs.js:1402
+msgid "Customize middle-click behavior"
+msgstr "Anpassa mittenklick beteendet"
+
+#: prefs.js:1467
+msgid "Customize panel scroll behavior"
+msgstr "Anpassa beteendet för panelbläddrande"
+
+#: prefs.js:1503
+msgid "Customize icon scroll behavior"
+msgstr "Anpassa beteendet för bläddrande av ikoner"
+
+#: prefs.js:1600
+msgid "Advanced hotkeys options"
+msgstr "Avancerade inställningar för snabbtangenter"
+
+#: prefs.js:1634
+msgid "Secondary Menu Options"
+msgstr "Sekundära meny inställningar"
+
+#: prefs.js:1676 Settings.ui.h:223
+msgid "Advanced Options"
+msgstr "Avancerade inställningar"
+
+#: prefs.js:1763
+msgid "Export settings"
+msgstr "Exportera inställningar"
+
+#: prefs.js:1780
+msgid "Import settings"
+msgstr "Importera inställningar"
+
+#: appIcons.js:1380
+msgid "Show Details"
+msgstr "Visa detaljer"
+
+#: appIcons.js:1398
+msgid "New Window"
+msgstr "Ny fönster"
+
+#: appIcons.js:1398 appIcons.js:1458 appIcons.js:1460 Settings.ui.h:10
+msgid "Quit"
+msgstr "Avsluta"
+
+#: appIcons.js:1460
+msgid "Windows"
+msgstr "Fönster"
+
+#: appIcons.js:1684
+msgid "Power options"
+msgstr "Energi inställningar"
+
+#: appIcons.js:1689
+msgid "Event logs"
+msgstr "Händelseloggar"
+
+#: appIcons.js:1694
+msgid "System"
+msgstr "System"
+
+#: appIcons.js:1699
+msgid "Device Management"
+msgstr "Administrering av enheter"
+
+#: appIcons.js:1704
+msgid "Disk Management"
+msgstr "Administrering av diskar"
+
+#: appIcons.js:1711
+msgid "Terminal"
+msgstr "Terminal"
+
+#: appIcons.js:1716
+msgid "System Monitor"
+msgstr "Systemövervakning"
+
+#: appIcons.js:1721
+msgid "Files"
+msgstr "Filer"
+
+#: appIcons.js:1726
+msgid "Settings"
+msgstr "Inställningar"
+
+#: appIcons.js:1733
+msgid "Unlock taskbar"
+msgstr "Lås upp aktivitetsfältet"
+
+#: appIcons.js:1733
+msgid "Lock taskbar"
+msgstr "Lås aktivitetsfältet"
+
+#: appIcons.js:1738
+msgid "Taskbar Settings"
+msgstr "Aktivitetsfältet inställningar"
+
+#: appIcons.js:1745
+msgid "Restore Windows"
+msgstr "Återställ fönster"
+
+#: appIcons.js:1745
+msgid "Show Desktop"
+msgstr "Visa skrivbordet"
+
+#: Settings.ui.h:1
+msgid "Nothing yet!"
+msgstr "Ännu ingenting!"
+
+#: Settings.ui.h:2
+msgid ""
+"When set to minimize, double clicking minimizes all the windows of the "
+"application."
+msgstr ""
+"När inställt på att minimera, dubbelklickande minimerar alla fönster av "
+"programm."
+
+#: Settings.ui.h:3
+msgid "Shift+Click action"
+msgstr "Shift+klicka åtgärd"
+
+#: Settings.ui.h:4
+msgid "Raise windows"
+msgstr "Höja fönster"
+
+#: Settings.ui.h:5
+msgid "Minimize window"
+msgstr "Minimera fönster"
+
+#: Settings.ui.h:6
+msgid "Launch new instance"
+msgstr "Starta en till förekomst av programmet"
+
+#: Settings.ui.h:7
+msgid "Cycle through windows"
+msgstr "Bläddra bland fönster"
+
+#: Settings.ui.h:8
+msgid "Cycle windows + minimize"
+msgstr "Bläddra fönster + minimera"
+
+#: Settings.ui.h:9
+msgid "Toggle single / Preview multiple"
+msgstr "Växla enskilda / Förhandsvisa flera"
+
+#: Settings.ui.h:11
+msgid "Behavior for Middle-Click."
+msgstr "Beteende för mittenklick."
+
+#: Settings.ui.h:12
+msgid "Middle-Click action"
+msgstr "Mittenklick åtgärd"
+
+#: Settings.ui.h:13
+msgid "Behavior for Shift+Middle-Click."
+msgstr "Beteende för Shift+mittenklick."
+
+#: Settings.ui.h:14
+msgid "Shift+Middle-Click action"
+msgstr "Shift+mittenklick åtgärd"
+
+#: Settings.ui.h:15
+msgid "Isolate monitors"
+msgstr "Isolera bildskärmar"
+
+#: Settings.ui.h:16
+msgid "Display favorite applications on all monitors"
+msgstr "Visa favoritprogram på alla bildskärmar"
+
+#: Settings.ui.h:17
+msgid "Display the clock on all monitors"
+msgstr "Visa klockan på alla bildskärmar"
+
+#: Settings.ui.h:18
+msgid "Display the status menu on all monitors"
+msgstr "Visa statusmeny på alla bildskärmar"
+
+#: Settings.ui.h:19
+msgid "Integrate AppMenu items"
+msgstr "Integrera programmeny objekt"
+
+#: Settings.ui.h:20
+msgid "Show Details menu item"
+msgstr "Visa detaljer menyförval"
+
+#: Settings.ui.h:21
+msgid "Highlight focused application"
+msgstr "Belys fokuserade program"
+
+#: Settings.ui.h:22
+msgid "Icon dominant color"
+msgstr "Dominanta ikonfärgen"
+
+#: Settings.ui.h:23
+msgid "Custom color"
+msgstr "Anpassad färg"
+
+#: Settings.ui.h:24
+msgid "Highlight opacity"
+msgstr "Belysningens genomskinlighet"
+
+#: Settings.ui.h:25
+msgid "Indicator height (px)"
+msgstr "Indikatorhöjd (px)"
+
+#: Settings.ui.h:26
+msgid "Indicator color - Icon Dominant"
+msgstr "Indikatorfärg - dominant ikon"
+
+#: Settings.ui.h:27
+msgid "Indicator color - Override Theme"
+msgstr "Indikatorfärg - åsidosatt tema"
+
+#: Settings.ui.h:28
+msgid "1 window open (or ungrouped)"
+msgstr "1 fönster öppnad (eller inte grupperad)"
+
+#: Settings.ui.h:29
+msgid "Apply to all"
+msgstr "Tillämpa för alla"
+
+#: Settings.ui.h:30
+msgid "2 windows open"
+msgstr "2 fönster öppna"
+
+#: Settings.ui.h:31
+msgid "3 windows open"
+msgstr "3 fönster öppna"
+
+#: Settings.ui.h:32
+msgid "4+ windows open"
+msgstr "4+ fönster öppna"
+
+#: Settings.ui.h:33
+msgid "Use different for unfocused"
+msgstr "Använd olika för icke fokuserade"
+
+#: Settings.ui.h:34
+msgid "Font size (px) of the application titles (default is 14)"
+msgstr "Typsnitt storlek (px) på programtitlar (förinställd på 14)"
+
+#: Settings.ui.h:35
+msgid "Font weight of application titles"
+msgstr "Typsnitt tjocklek av programtitlar"
+
+#: Settings.ui.h:36
+msgid "inherit from theme"
+msgstr "ärver från tema"
+
+#: Settings.ui.h:37
+msgid "normal"
+msgstr "normal"
+
+#: Settings.ui.h:38
+msgid "lighter"
+msgstr "tunnare"
+
+#: Settings.ui.h:39
+msgid "bold"
+msgstr "tjock"
+
+#: Settings.ui.h:40
+msgid "bolder"
+msgstr "tjockare"
+
+#: Settings.ui.h:41
+msgid "Font color of the application titles"
+msgstr "Typsnitt färg av programtitlar"
+
+#: Settings.ui.h:42
+msgid "Maximum width (px) of the application titles (default is 160)"
+msgstr "Maximal bredd (px) av programtitlar (förinställning är 160)"
+
+#: Settings.ui.h:43
+msgid "Use a fixed width for the application titles"
+msgstr "Använd fast bredd för programtitlar"
+
+#: Settings.ui.h:44
+msgid ""
+"The application titles all have the same width, even if their texts are "
+"shorter than the maximum width. The maximum width value is used as the fixed "
+"width."
+msgstr ""
+"Programtitlar har samma bredd även om texten är kortare än den maximala "
+"bredden. Den maximala vidden används som mått på fast bredd."
+
+#: Settings.ui.h:45
+msgid "Display running indicators on unfocused applications"
+msgstr "Visa körande indikatorer på ofokuserade program"
+
+#: Settings.ui.h:46
+msgid "Use the favorite icons as application launchers"
+msgstr "Använd favoritikoner som programstartare"
+
+#: Settings.ui.h:47
+msgid "Only hide the panel when it is obstructed by windows "
+msgstr "Endast dölj panelen om den täcks av fönster "
+
+#: Settings.ui.h:48
+msgid "The panel hides from"
+msgstr "Panelen döljs från"
+
+#: Settings.ui.h:49
+msgid "All windows"
+msgstr "Alla fönster"
+
+#: Settings.ui.h:50
+msgid "Focused windows"
+msgstr "Fokuserade fönster"
+
+#: Settings.ui.h:51
+msgid "Maximized windows"
+msgstr "Maximerade fönster"
+
+#: Settings.ui.h:52
+msgid "Require pressure at the edge of the screen to reveal the panel"
+msgstr "Kräv tryck vid kanten på skärmen för att visa panelen"
+
+#: Settings.ui.h:53
+msgid "Required pressure threshold (px)"
+msgstr "Tröskelvärde som krävs för trycket (px)"
+
+#: Settings.ui.h:54
+msgid "Required pressure timeout (ms)"
+msgstr "Tidsgräns som krävs för trycket (ms)"
+
+#: Settings.ui.h:55
+msgid "Allow the panel to be revealed while in fullscreen mode"
+msgstr "Tillåt panelen att synas i fullskärmsläge"
+
+#: Settings.ui.h:56
+msgid "Only hide secondary panels (requires multi-monitors option)"
+msgstr ""
+"Göm endast sekundära paneler (kräver inställningar för flera bildskärmar)"
+
+#: Settings.ui.h:57
+msgid "e.g. i"
+msgstr "t ex i"
+
+#: Settings.ui.h:58
+msgid "Keyboard shortcut to reveal and hold the panel"
+msgstr "Snabbkommando för att syna och hålla panelen"
+
+#: Settings.ui.h:59
+msgid "Syntax: , , , "
+msgstr "Syntax: , , , "
+
+#: Settings.ui.h:60
+msgid "Hide and reveal animation duration (ms)"
+msgstr "Tidsgräns för göm och syna animeringen (ms)"
+
+#: Settings.ui.h:61
+msgid "Delay before hiding the panel (ms)"
+msgstr "Fördröjning innan panelen göms (ms)"
+
+#: Settings.ui.h:62
+msgid "Delay before enabling intellihide on start (ms)"
+msgstr "Fördröjning innan automatisk döljande aktiveras vid starten (ms)"
+
+#: Settings.ui.h:63
+msgid "Time (ms) before showing (100 is default)"
+msgstr "Tiden (ms) innan visning (förinställd på 100)"
+
+#: Settings.ui.h:64
+msgid "Animation time (ms)"
+msgstr "Animationstid (ms)"
+
+#: Settings.ui.h:65
+msgid "Time (ms) before hiding (100 is default)"
+msgstr "Tiden (ms) innan gömmande (förinställd på 100)"
+
+#: Settings.ui.h:66
+msgid "Immediate on application icon click"
+msgstr "Genast vid klickande på programikonen"
+
+#: Settings.ui.h:67
+msgid "Middle click on the preview to close the window"
+msgstr "Mittenklicka för att förhandsvisning för att stänga fönster"
+
+#: Settings.ui.h:68
+msgid "Window previews preferred size (px)"
+msgstr "Föredra fönsterstorlek på förhandsvisning (px)"
+
+#: Settings.ui.h:69
+msgid "Window previews aspect ratio Y (height)"
+msgstr "Fönster förhandsvisningens bildförhållande Y (höjd)"
+
+#: Settings.ui.h:70
+msgid "Window previews padding (px)"
+msgstr "Fönster förhandsvisningens utfyllnad (px)"
+
+#: Settings.ui.h:71
+msgid "1"
+msgstr "1"
+
+#: Settings.ui.h:72
+msgid "2"
+msgstr "2"
+
+#: Settings.ui.h:73
+msgid "3"
+msgstr "3"
+
+#: Settings.ui.h:74
+msgid "4"
+msgstr "4"
+
+#: Settings.ui.h:75
+msgid "5"
+msgstr "5"
+
+#: Settings.ui.h:76
+msgid "6"
+msgstr "6"
+
+#: Settings.ui.h:77
+msgid "7"
+msgstr "7"
+
+#: Settings.ui.h:78
+msgid "8"
+msgstr "8"
+
+#: Settings.ui.h:79
+msgid "9"
+msgstr "9"
+
+#: Settings.ui.h:80
+msgid "10"
+msgstr "10"
+
+#: Settings.ui.h:81
+msgid "11"
+msgstr "11"
+
+#: Settings.ui.h:82
+msgid "12"
+msgstr "12"
+
+#: Settings.ui.h:83
+msgid "13"
+msgstr "13"
+
+#: Settings.ui.h:84
+msgid "14"
+msgstr "14"
+
+#: Settings.ui.h:85
+msgid "15"
+msgstr "15"
+
+#: Settings.ui.h:86
+msgid "16"
+msgstr "16"
+
+#: Settings.ui.h:87
+msgid "17"
+msgstr "17"
+
+#: Settings.ui.h:88
+msgid "18"
+msgstr "18"
+
+#: Settings.ui.h:89
+msgid "19"
+msgstr "19"
+
+#: Settings.ui.h:90
+msgid "20"
+msgstr "20"
+
+#: Settings.ui.h:91
+msgid "21"
+msgstr "21"
+
+#: Settings.ui.h:92
+msgid "Fixed"
+msgstr "Fast"
+
+#: Settings.ui.h:93
+msgid "Window previews aspect ratio X (width)"
+msgstr "Fönster förhandsvisningens bildförhållande X (bredd)"
+
+#: Settings.ui.h:94
+msgid "Use custom opacity for the previews background"
+msgstr "Använd anpassad genomskinlighet för förhandsvisningens bakgrund"
+
+#: Settings.ui.h:95
+msgid "If disabled, the previews background have the same opacity as the panel"
+msgstr ""
+"Om avaktiverad, förhandsvisningen kommer att ha samma genomskinlighet som "
+"panelen"
+
+#: Settings.ui.h:96
+msgid "Close button and header position"
+msgstr "Stäng knappen och titelposition"
+
+#: Settings.ui.h:97
+msgid "Bottom"
+msgstr "Under"
+
+#: Settings.ui.h:98
+msgid "Top"
+msgstr "Topp"
+
+#: Settings.ui.h:99
+msgid "Display window preview headers"
+msgstr "Visa rubrik i fönster förhandsvisningen"
+
+#: Settings.ui.h:100
+msgid "Font size (px) of the preview titles"
+msgstr "Typsnitt storlek (px) på förhandsvisningens titlar"
+
+#: Settings.ui.h:101
+msgid "Font weight of the preview titles"
+msgstr "Typsnitt tjocklek på förhandsvisningens titlar"
+
+#: Settings.ui.h:102
+msgid "Font color of the preview titles"
+msgstr "Typsnitt färg på förhandsvisningens titlar"
+
+#: Settings.ui.h:103
+msgid "Enable window peeking"
+msgstr "Aktivera fönstermarkering"
+
+#: Settings.ui.h:104
+msgid ""
+"When hovering over a window preview for some time, the window gets "
+"distinguished."
+msgstr ""
+"När en muspekare svävar över förhandsvisning av fönster under en tid, då "
+"kommer fönstret att framträda."
+
+#: Settings.ui.h:105
+msgid "Enter window peeking mode timeout (ms)"
+msgstr "Startar fönstermarkerande läge tidsgräns (ms)"
+
+#: Settings.ui.h:106
+msgid "50"
+msgstr "50"
+
+#: Settings.ui.h:107
+msgid ""
+"Time of inactivity while hovering over a window preview needed to enter the "
+"window peeking mode."
+msgstr ""
+"Tid av inaktivitet då muspekare svävar på fönster förhandsvisning som behövs "
+"till att aktivera fönstermarkerande läge."
+
+#: Settings.ui.h:108
+msgid "Window peeking mode opacity"
+msgstr "Fönstermarkerande läge genomskinlighet"
+
+#: Settings.ui.h:109
+msgid "0"
+msgstr "0"
+
+#: Settings.ui.h:110
+msgid ""
+"All windows except for the peeked one have their opacity set to the same "
+"value."
+msgstr "Alla fönster förutom de markerade har samma genomskinlighet."
+
+#: Settings.ui.h:111
+msgid "Delay between mouse scroll events (ms)"
+msgstr "Fördröjning mellan bläddrande händelser med mushjulet (ms)"
+
+#: Settings.ui.h:112
+msgid "Use this value to limit the number of captured mouse scroll events."
+msgstr ""
+"Använd detta värde för att begränsa numret av uppfångade bläddrande med "
+"mushjulet."
+
+#: Settings.ui.h:113
+msgid "Super"
+msgstr "Super"
+
+#: Settings.ui.h:114
+msgid "Super + Alt"
+msgstr "Super + Alt"
+
+#: Settings.ui.h:115
+msgid "Hotkeys prefix"
+msgstr "Snabbkommando prefix"
+
+#: Settings.ui.h:116
+msgid "Hotkeys will either be Super+Number or Super+Alt+Num"
+msgstr ""
+"Snabbkommando kommer att antingen vara Super+Nummer eller Super+Alt+Num"
+
+#: Settings.ui.h:117
+msgid "Never"
+msgstr "Alldrig"
+
+#: Settings.ui.h:118
+msgid "Show temporarily"
+msgstr "Visa tillfälligt"
+
+#: Settings.ui.h:119
+msgid "Always visible"
+msgstr "Alltid synlig"
+
+#: Settings.ui.h:120
+msgid "Number overlay"
+msgstr "Nummer av övertäckande"
+
+#: Settings.ui.h:121
+msgid ""
+"Temporarily show the application numbers over the icons when using the "
+"hotkeys."
+msgstr "Tillfälligt visa programnummer över ikoner när snabbkommando används."
+
+#: Settings.ui.h:122
+msgid "Hide timeout (ms)"
+msgstr "Tidsgränsen för döljandet (ms)"
+
+#: Settings.ui.h:123
+msgid "e.g. q"
+msgstr "t ex q"
+
+#: Settings.ui.h:124
+msgid "Shortcut to show the overlay for 2 seconds"
+msgstr "Snabbkommando för att visa övertäckande i 2 sekunder"
+
+#: Settings.ui.h:125
+msgid "Show window previews on hotkey"
+msgstr "Visa fönsterförhandsvisningar baserad på snabbkommando"
+
+#: Settings.ui.h:126
+msgid "Show previews when the application have multiple instances"
+msgstr "Presentera förhandsvisningar när programmet har flera förekomster"
+
+#: Settings.ui.h:127
+msgid "Number row"
+msgstr "Raden med nummerknappar"
+
+#: Settings.ui.h:128
+msgid "Numeric keypad"
+msgstr "Numeriskt knappsats"
+
+#: Settings.ui.h:129
+msgid "Both"
+msgstr "Båda"
+
+#: Settings.ui.h:130
+msgid "Hotkeys are activated with"
+msgstr "Snabbkommando aktiveras med"
+
+#: Settings.ui.h:131
+msgid "Select which keyboard number keys are used to activate the hotkeys"
+msgstr ""
+"Välj vilka tangentbordsknappar ska användas för att aktivera snabbkommando"
+
+#: Settings.ui.h:132
+msgid "Current Show Applications icon"
+msgstr "Nuvarande Visa Program ikonen"
+
+#: Settings.ui.h:133
+msgid "Select a Show Applications image icon"
+msgstr "Välj en bild för Visa Program ikonen"
+
+#: Settings.ui.h:134
+msgid "Custom Show Applications image icon"
+msgstr "Anpassad bild för Visa Program ikonen"
+
+#: Settings.ui.h:135
+msgid "Show Applications icon side padding (px)"
+msgstr "Visa Program ikonens utfyllnad (px)"
+
+#: Settings.ui.h:136
+msgid "Reveal the desktop when hovering the Show Desktop button"
+msgstr "Visa skrivbord när muspekaren svävar över skrivbordsknappen"
+
+#: Settings.ui.h:137
+msgid "Delay before revealing the desktop (ms)"
+msgstr "Fördröjningen innan skrivbord visas (ms)"
+
+#: Settings.ui.h:138
+msgid "Fade duration (ms)"
+msgstr "Varaktighet på bleknande (ms)"
+
+#: Settings.ui.h:139
+msgid "The panel background opacity is affected by"
+msgstr "Genomskinligheten på panelens bakgrund påverkas av"
+
+#: Settings.ui.h:140
+msgid "Change opacity when a window gets closer than (px)"
+msgstr "Ändra genomskinlighet när fönster blir närmare än (px)"
+
+#: Settings.ui.h:142
+#, no-c-format
+msgid "Change opacity to (%)"
+msgstr "Ändra genomskinlighet till (%)"
+
+#: Settings.ui.h:143
+msgid "Opacity change animation duration (ms)"
+msgstr "Ändringstiden för genomskinlighet animationen (ms)"
+
+#: Settings.ui.h:144
+msgid "Panel screen position"
+msgstr "Panelpositionen på skärmen"
+
+#: Settings.ui.h:145
+msgid "Left"
+msgstr "Vänster"
+
+#: Settings.ui.h:146
+msgid "Right"
+msgstr "Höger"
+
+#: Settings.ui.h:147
+msgid "Taskbar position"
+msgstr "Aktivitetsfältets position"
+
+#: Settings.ui.h:148
+msgid "Clock location"
+msgstr "Placering av klockan"
+
+#: Settings.ui.h:149
+msgid "Display the main panel on"
+msgstr "Visa huvudpanelen på"
+
+#: Settings.ui.h:150
+msgid "Display panels on all monitors"
+msgstr "Visa paneler på alla bildskärmar"
+
+#: Settings.ui.h:151
+msgid "Panel Intellihide"
+msgstr "Automatisk gömmande av panelen"
+
+#: Settings.ui.h:152
+msgid "Hide and reveal the panel according to preferences"
+msgstr "Göm och visa panelen beroende på inställningar"
+
+#: Settings.ui.h:153
+msgid "Position"
+msgstr "Position"
+
+#: Settings.ui.h:154
+msgid ""
+"Panel Size\n"
+"(default is 48)"
+msgstr ""
+"Panelstorlek\n"
+"(48 är standard)"
+
+#: Settings.ui.h:156
+msgid ""
+"App Icon Margin\n"
+"(default is 8)"
+msgstr ""
+"Programikonernas marginaler\n"
+"(8 är standard)"
+
+#: Settings.ui.h:158
+msgid ""
+"App Icon Padding\n"
+"(default is 4)"
+msgstr ""
+"Programikonernas avståndsutfyllnad\n"
+"(grundläge är 4)"
+
+#: Settings.ui.h:160
+msgid "Running indicator position"
+msgstr "Aktiv indikeringsposition"
+
+#: Settings.ui.h:161
+msgid "Running indicator style (Focused app)"
+msgstr "Stilen för aktiv indikering (fokuserad program)"
+
+#: Settings.ui.h:162
+msgid "Dots"
+msgstr "Punkter"
+
+#: Settings.ui.h:163
+msgid "Squares"
+msgstr "Kvadrater"
+
+#: Settings.ui.h:164
+msgid "Dashes"
+msgstr "Sträck"
+
+#: Settings.ui.h:165
+msgid "Segmented"
+msgstr "Segmenterade"
+
+#: Settings.ui.h:166
+msgid "Solid"
+msgstr "Fasta"
+
+#: Settings.ui.h:167
+msgid "Ciliora"
+msgstr "Ciliora"
+
+#: Settings.ui.h:168
+msgid "Metro"
+msgstr "Metro"
+
+#: Settings.ui.h:169
+msgid "Running indicator style (Unfocused apps)"
+msgstr "Stilen för aktiv indikering (icke fokuserade program)"
+
+#: Settings.ui.h:170
+msgid "Override panel theme background color "
+msgstr "Åsidosätt paneltemans bakgrundsfärg "
+
+#: Settings.ui.h:171
+msgid "Override panel theme background opacity"
+msgstr "Åsidosätt paneltemans genomskinlighet av bakgrund"
+
+#: Settings.ui.h:173
+#, no-c-format
+msgid "Panel background opacity (%)"
+msgstr "Panelens genomskinlighet av bakgrund (%)"
+
+#: Settings.ui.h:174
+msgid "Dynamic background opacity"
+msgstr "Dynamisk genomskinlighet av bakgrund"
+
+#: Settings.ui.h:175
+msgid "Change opacity when a window gets close to the panel"
+msgstr "Ändra genomskinlighet av bakgrund när en fönster kommer nära panelen"
+
+#: Settings.ui.h:176
+msgid "Override panel theme gradient "
+msgstr "Åsidosätt paneltemans gradient "
+
+#: Settings.ui.h:178
+#, no-c-format
+msgid "Gradient top color and opacity (%)"
+msgstr "Toppgradientens färg och genomskinlighet (%)"
+
+#: Settings.ui.h:180
+#, no-c-format
+msgid "Gradient bottom color and opacity (%)"
+msgstr "Bottengradientens färg och genomskinlighet (%)"
+
+#: Settings.ui.h:181
+msgid "Style"
+msgstr "Stil"
+
+#: Settings.ui.h:182
+msgid "Show favorite applications"
+msgstr "Visa favoritprogram"
+
+#: Settings.ui.h:183
+msgid "Show running applications"
+msgstr "Visa program som körs"
+
+#: Settings.ui.h:184
+msgid "Show Applications icon"
+msgstr "Visa Program ikonen"
+
+#: Settings.ui.h:185
+msgid "Animate Show Applications."
+msgstr "Animera Visa Program."
+
+#: Settings.ui.h:186
+msgid "Show Activities button"
+msgstr "Visa Aktiviteter knappen"
+
+#: Settings.ui.h:187
+msgid "Show Desktop button"
+msgstr "Visa Skrivbord knappen"
+
+#: Settings.ui.h:188
+msgid "Show AppMenu button"
+msgstr "Visa Program Meny knappen"
+
+#: Settings.ui.h:189
+msgid "Top Bar > Show App Menu must be enabled in Tweak Tool"
+msgstr ""
+"Övre Fältet > Visa Program Meny måste aktiveras i Justeringar (Tweak Tool)"
+
+#: Settings.ui.h:190
+msgid "Show window previews on hover"
+msgstr "Visa förhandsgranskning av fönster vid svävande av muspekaren"
+
+#: Settings.ui.h:191
+msgid "Show tooltip on hover"
+msgstr "Visa beskrivning vid svävande av muspekaren"
+
+#: Settings.ui.h:192
+msgid "Isolate Workspaces"
+msgstr "Isolera Arbetsytor"
+
+#: Settings.ui.h:193
+msgid "Ungroup applications"
+msgstr "Avgruppera program"
+
+#: Settings.ui.h:194
+msgid "Behavior"
+msgstr "Beteende"
+
+#: Settings.ui.h:195
+msgid "Behaviour when clicking on the icon of a running application."
+msgstr "Beteende när ikonen med redan körande program klickas på."
+
+#: Settings.ui.h:196
+msgid "Click action"
+msgstr "Klickande"
+
+#: Settings.ui.h:197
+msgid "Toggle windows"
+msgstr "Växla fönster"
+
+#: Settings.ui.h:198
+msgid "Scroll panel action"
+msgstr "Åtgärd för skrollande av panelen"
+
+#: Settings.ui.h:199
+msgid "Behavior when mouse scrolling over the panel."
+msgstr "Beteende då mushjulet bläddras över panelen."
+
+#: Settings.ui.h:200
+msgid "Scroll icon action"
+msgstr "Skrollande ikonens åtgärd"
+
+#: Settings.ui.h:201
+msgid "Behavior when mouse scrolling over an application icon."
+msgstr "Beteende då mushjulet skrollar över en programikon."
+
+#: Settings.ui.h:202
+msgid "Do nothing"
+msgstr "Gör ingenting"
+
+#: Settings.ui.h:203
+msgid "Switch workspace"
+msgstr "Ändra arbetsyta"
+
+#: Settings.ui.h:204
+msgid "Cycle windows"
+msgstr "Växla bland fönster"
+
+#: Settings.ui.h:205
+msgid ""
+"Enable Super+(0-9) as shortcuts to activate apps. It can also be used "
+"together with Shift and Ctrl."
+msgstr ""
+"Aktivera Super+(0-9) som snabba genvägar för att aktivera program. Det kan "
+"också användas tillsammans med Shift och Ctrl."
+
+#: Settings.ui.h:206
+msgid "Use hotkeys to activate apps"
+msgstr "Använd snabbkommando för att aktivera program"
+
+#: Settings.ui.h:207
+msgid "Action"
+msgstr "Åtgärd"
+
+#: Settings.ui.h:208
+msgid ""
+"Tray Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Teckenstorlek för meddelandefältet\n"
+"(0 = temans standard)"
+
+#: Settings.ui.h:210
+msgid ""
+"LeftBox Font Size\n"
+"(0 = theme default)"
+msgstr ""
+"Typsnitt storlek på vänster sida\n"
+"(0 = temans standard)"
+
+#: Settings.ui.h:212
+msgid ""
+"Tray Item Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Utfyllnadsavstånd för meddelandefältets objekt\n"
+"(-1 = temans standard)"
+
+#: Settings.ui.h:214
+msgid ""
+"Status Icon Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Utfyllnadsavstånd för statusikon\n"
+"(-1 = temans standard)"
+
+#: Settings.ui.h:216
+msgid ""
+"LeftBox Padding\n"
+"(-1 = theme default)"
+msgstr ""
+"Utfyllnadsavstånd på vänstersida\n"
+"(-1 = temans standard)"
+
+#: Settings.ui.h:218
+msgid "Animate switching applications"
+msgstr "Animera programbyte"
+
+#: Settings.ui.h:219
+msgid "Animate launching new windows"
+msgstr "Animera uppstart av nya fönster"
+
+#: Settings.ui.h:220
+msgid "Keep original gnome-shell dash (overview)"
+msgstr "Behåll den ursprungliga GNOME-skalets översikt"
+
+#: Settings.ui.h:221
+msgid "Activate panel menu buttons (e.g. date menu) on click only"
+msgstr "Aktivera panelens menyknappar (t ex datum meny) endast vid klickandet"
+
+#: Settings.ui.h:222
+msgid "App icon secondary (right-click) menu"
+msgstr "Programikonens sekundära (högerklick) meny"
+
+#: Settings.ui.h:224
+msgid "Fine-Tune"
+msgstr "Finjustera"
+
+#: Settings.ui.h:225
+msgid "version: "
+msgstr "version: "
+
+#: Settings.ui.h:226
+msgid "GitHub"
+msgstr "GitHub"
+
+#: Settings.ui.h:227
+msgid ""
+"Use the buttons below to create a settings file from your current "
+"preferences that can be imported on a different machine."
+msgstr ""
+"Använd knapparna nedan för att skapa en inställningsfil för de gällande "
+"förval som sedan kan importeras vid en annan installation."
+
+#: Settings.ui.h:228
+msgid "Export and import settings"
+msgstr "Exportera och importera inställningar"
+
+#: Settings.ui.h:229
+msgid "Export to file"
+msgstr "Exportera till en fil"
+
+#: Settings.ui.h:230
+msgid "Import from file"
+msgstr "Importera från en fil"
+
+#: Settings.ui.h:231
+msgid ""
+"This allows you to update the extension directly from the GitHub repository."
+msgstr ""
+"Detta gör det möjligt för dig att uppdatera tillägget direkt från GitHub "
+"förrådet."
+
+#: Settings.ui.h:232
+msgid "Updates"
+msgstr "Uppdateringar"
+
+#: Settings.ui.h:233
+msgid "Periodically check for updates"
+msgstr "Regelmässigt kolla efter uppdateringar"
+
+#: Settings.ui.h:234
+msgid "Check now"
+msgstr "Kolla nu"
+
+#: Settings.ui.h:235
+msgid ""
+"Be aware, these official Dash to "
+"Panel releases might not be reviewed yet on extensions.gnome.org! Read more"
+msgstr ""
+"Var medveten om att dessa officiella "
+"Dash to Panel utgåvor kan ännu vara icke recenserade på extensions.gnome.org!"
+" Läs mer"
+
+#: Settings.ui.h:236
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the