From 9713d86a5020b4b9b3ca053a15b402522c263837 Mon Sep 17 00:00:00 2001 From: davedatum Date: Sun, 15 Dec 2019 06:46:06 +0000 Subject: [PATCH] moved unite&dash2dock to packages --- tromjaro/gnome/Packages-Desktop | 2 + .../dash-to-dock@micxgx.gmail.com/COPYING | 341 -- .../dash-to-dock@micxgx.gmail.com/README.md | 28 - .../dash-to-dock@micxgx.gmail.com/Settings.ui | 3419 ----------------- .../appIconIndicators.js | 1130 ------ .../dash-to-dock@micxgx.gmail.com/appIcons.js | 1207 ------ .../dash-to-dock@micxgx.gmail.com/dash.js | 1202 ------ .../dash-to-dock@micxgx.gmail.com/docking.js | 1916 --------- .../extension.js | 21 - .../fileManager1API.js | 217 -- .../intellihide.js | 321 -- .../launcherAPI.js | 239 -- .../locale/ar/LC_MESSAGES/dashtodock.mo | Bin 8344 -> 0 bytes .../locale/cs/LC_MESSAGES/dashtodock.mo | Bin 10069 -> 0 bytes .../locale/de/LC_MESSAGES/dashtodock.mo | Bin 8726 -> 0 bytes .../locale/el/LC_MESSAGES/dashtodock.mo | Bin 12093 -> 0 bytes .../locale/es/LC_MESSAGES/dashtodock.mo | Bin 10005 -> 0 bytes .../locale/fr/LC_MESSAGES/dashtodock.mo | Bin 9771 -> 0 bytes .../locale/gl/LC_MESSAGES/dashtodock.mo | Bin 8819 -> 0 bytes .../locale/hu/LC_MESSAGES/dashtodock.mo | Bin 9317 -> 0 bytes .../locale/id/LC_MESSAGES/dashtodock.mo | Bin 8601 -> 0 bytes .../locale/it/LC_MESSAGES/dashtodock.mo | Bin 9935 -> 0 bytes .../locale/ja/LC_MESSAGES/dashtodock.mo | Bin 11482 -> 0 bytes .../locale/nb/LC_MESSAGES/dashtodock.mo | Bin 9261 -> 0 bytes .../locale/nl/LC_MESSAGES/dashtodock.mo | Bin 5017 -> 0 bytes .../locale/pl/LC_MESSAGES/dashtodock.mo | Bin 9749 -> 0 bytes .../locale/pt/LC_MESSAGES/dashtodock.mo | Bin 9317 -> 0 bytes .../locale/pt_BR/LC_MESSAGES/dashtodock.mo | Bin 9949 -> 0 bytes .../locale/ru/LC_MESSAGES/dashtodock.mo | Bin 12666 -> 0 bytes .../locale/sk/LC_MESSAGES/dashtodock.mo | Bin 6331 -> 0 bytes .../locale/sr/LC_MESSAGES/dashtodock.mo | Bin 11227 -> 0 bytes .../locale/sr@latin/LC_MESSAGES/dashtodock.mo | Bin 8865 -> 0 bytes .../locale/sv/LC_MESSAGES/dashtodock.mo | Bin 9532 -> 0 bytes .../locale/tr/LC_MESSAGES/dashtodock.mo | Bin 9771 -> 0 bytes .../locale/uk_UA/LC_MESSAGES/dashtodock.mo | Bin 15770 -> 0 bytes .../locale/zh_CN/LC_MESSAGES/dashtodock.mo | Bin 8335 -> 0 bytes .../locale/zh_TW/LC_MESSAGES/dashtodock.mo | Bin 9137 -> 0 bytes .../locations.js | 268 -- .../media/glossy.svg | 139 - .../media/highlight_stacked_bg.svg | 82 - .../media/highlight_stacked_bg_h.svg | 82 - .../media/logo.svg | 528 --- .../metadata.json | 13 - .../dash-to-dock@micxgx.gmail.com/prefs.js | 869 ----- .../schemas/gschemas.compiled | Bin 7109 -> 0 bytes ....shell.extensions.dash-to-dock.gschema.xml | 550 --- .../stylesheet.css | 178 - .../dash-to-dock@micxgx.gmail.com/theming.js | 572 --- .../dash-to-dock@micxgx.gmail.com/utils.js | 284 -- .../windowPreview.js | 586 --- .../unite@hardpixel.eu/convenience.js | 124 - .../unite@hardpixel.eu/extension.js | 55 - .../extensions/unite@hardpixel.eu/handlers.js | 100 - .../extensions/unite@hardpixel.eu/helpers.js | 101 - .../unite@hardpixel.eu/metadata.json | 14 - .../extensions/unite@hardpixel.eu/module.js | 82 - .../modules/activateWindow.js | 18 - .../modules/activitiesButton.js | 46 - .../modules/applicationMenu.js | 73 - .../unite@hardpixel.eu/modules/desktopName.js | 73 - .../modules/extendLeftBox.js | 87 - .../unite@hardpixel.eu/modules/messageTray.js | 29 - .../unite@hardpixel.eu/modules/themeMods.js | 230 -- .../unite@hardpixel.eu/modules/topIcons.js | 83 - .../modules/windowButtons.js | 181 - .../modules/windowDecoration.js | 196 - .../extensions/unite@hardpixel.eu/panel.js | 121 - .../extensions/unite@hardpixel.eu/prefs.js | 74 - .../schemas/gschemas.compiled | Bin 2164 -> 0 bytes ...g.gnome.shell.extensions.unite.gschema.xml | 161 - .../extensions/unite@hardpixel.eu/settings.ui | 906 ----- .../styles/buttons-left-always.css | 22 - .../styles/buttons-left-tiled.css | 22 - .../styles/buttons-left.css | 22 - .../styles/buttons-right-always.css | 20 - .../styles/buttons-right-tiled.css | 20 - .../styles/buttons-right.css | 20 - .../unite@hardpixel.eu/stylesheet.css | 48 - .../themes/ambiance/close-active.svg | 20 - .../themes/ambiance/close-hover.svg | 22 - .../themes/ambiance/close.svg | 22 - .../themes/ambiance/maximize-active.svg | 17 - .../themes/ambiance/maximize-hover.svg | 19 - .../themes/ambiance/maximize.svg | 19 - .../themes/ambiance/minimize-active.svg | 17 - .../themes/ambiance/minimize-hover.svg | 19 - .../themes/ambiance/minimize.svg | 19 - .../themes/ambiance/stylesheet.css | 40 - .../themes/arc-dark/close-active.svg | 3 - .../themes/arc-dark/close-hover.svg | 3 - .../themes/arc-dark/close.svg | 3 - .../themes/arc-dark/maximize-active.svg | 7 - .../themes/arc-dark/maximize-hover.svg | 5 - .../themes/arc-dark/maximize.svg | 3 - .../themes/arc-dark/minimize-active.svg | 4 - .../themes/arc-dark/minimize-hover.svg | 5 - .../themes/arc-dark/minimize.svg | 3 - .../themes/arc-dark/stylesheet.css | 40 - .../themes/arc-light/close-active.svg | 3 - .../themes/arc-light/close-hover.svg | 3 - .../themes/arc-light/close.svg | 3 - .../themes/arc-light/maximize-active.svg | 7 - .../themes/arc-light/maximize-hover.svg | 5 - .../themes/arc-light/maximize.svg | 3 - .../themes/arc-light/minimize-active.svg | 4 - .../themes/arc-light/minimize-hover.svg | 5 - .../themes/arc-light/minimize.svg | 3 - .../themes/arc-light/stylesheet.css | 40 - .../themes/arrongin/close-active.svg | 1 - .../themes/arrongin/close-hover.svg | 1 - .../themes/arrongin/close.svg | 1 - .../themes/arrongin/maximize-active.svg | 1 - .../themes/arrongin/maximize-hover.svg | 1 - .../themes/arrongin/maximize.svg | 1 - .../themes/arrongin/minimize-active.svg | 1 - .../themes/arrongin/minimize-hover.svg | 1 - .../themes/arrongin/minimize.svg | 1 - .../themes/arrongin/stylesheet.css | 40 - .../themes/default-dark/close-active.svg | 3 - .../themes/default-dark/close-hover.svg | 3 - .../themes/default-dark/close.svg | 3 - .../themes/default-dark/maximize-active.svg | 3 - .../themes/default-dark/maximize-hover.svg | 3 - .../themes/default-dark/maximize.svg | 3 - .../themes/default-dark/minimize-active.svg | 3 - .../themes/default-dark/minimize-hover.svg | 3 - .../themes/default-dark/minimize.svg | 3 - .../themes/default-dark/stylesheet.css | 40 - .../themes/default-light/close-active.svg | 3 - .../themes/default-light/close-hover.svg | 3 - .../themes/default-light/close.svg | 3 - .../themes/default-light/maximize-active.svg | 3 - .../themes/default-light/maximize-hover.svg | 3 - .../themes/default-light/maximize.svg | 3 - .../themes/default-light/minimize-active.svg | 3 - .../themes/default-light/minimize-hover.svg | 3 - .../themes/default-light/minimize.svg | 3 - .../themes/default-light/stylesheet.css | 40 - .../themes/materia-dark/close-active.svg | 4 - .../themes/materia-dark/close-hover.svg | 4 - .../themes/materia-dark/close.svg | 3 - .../themes/materia-dark/maximize-active.svg | 4 - .../themes/materia-dark/maximize-hover.svg | 4 - .../themes/materia-dark/maximize.svg | 3 - .../themes/materia-dark/minimize-active.svg | 4 - .../themes/materia-dark/minimize-hover.svg | 4 - .../themes/materia-dark/minimize.svg | 3 - .../themes/materia-dark/stylesheet.css | 40 - .../themes/materia-light/close-active.svg | 4 - .../themes/materia-light/close-hover.svg | 4 - .../themes/materia-light/close.svg | 3 - .../themes/materia-light/maximize-active.svg | 4 - .../themes/materia-light/maximize-hover.svg | 4 - .../themes/materia-light/maximize.svg | 3 - .../themes/materia-light/minimize-active.svg | 4 - .../themes/materia-light/minimize-hover.svg | 4 - .../themes/materia-light/minimize.svg | 3 - .../themes/materia-light/stylesheet.css | 40 - .../themes/osx-arc/close-active.svg | 5 - .../themes/osx-arc/close-hover.svg | 5 - .../themes/osx-arc/close.svg | 4 - .../themes/osx-arc/maximize-active.svg | 5 - .../themes/osx-arc/maximize-hover.svg | 5 - .../themes/osx-arc/maximize.svg | 4 - .../themes/osx-arc/minimize-active.svg | 5 - .../themes/osx-arc/minimize-hover.svg | 5 - .../themes/osx-arc/minimize.svg | 4 - .../themes/osx-arc/stylesheet.css | 40 - .../themes/pop-dark/close-active.svg | 4 - .../themes/pop-dark/close-hover.svg | 4 - .../themes/pop-dark/close.svg | 4 - .../themes/pop-dark/maximize-active.svg | 4 - .../themes/pop-dark/maximize-hover.svg | 4 - .../themes/pop-dark/maximize.svg | 3 - .../themes/pop-dark/minimize-active.svg | 4 - .../themes/pop-dark/minimize-hover.svg | 4 - .../themes/pop-dark/minimize.svg | 3 - .../themes/pop-dark/stylesheet.css | 40 - .../themes/pop-light/close-active.svg | 4 - .../themes/pop-light/close-hover.svg | 4 - .../themes/pop-light/close.svg | 4 - .../themes/pop-light/maximize-active.svg | 4 - .../themes/pop-light/maximize-hover.svg | 4 - .../themes/pop-light/maximize.svg | 3 - .../themes/pop-light/minimize-active.svg | 4 - .../themes/pop-light/minimize-hover.svg | 4 - .../themes/pop-light/minimize.svg | 3 - .../themes/pop-light/stylesheet.css | 40 - .../themes/radiance/close-active.svg | 23 - .../themes/radiance/close-hover.svg | 25 - .../themes/radiance/close.svg | 25 - .../themes/radiance/maximize-active.svg | 20 - .../themes/radiance/maximize-hover.svg | 22 - .../themes/radiance/maximize.svg | 22 - .../themes/radiance/minimize-active.svg | 20 - .../themes/radiance/minimize-hover.svg | 22 - .../themes/radiance/minimize.svg | 22 - .../themes/radiance/stylesheet.css | 40 - .../themes/telinkrin/close-active.svg | 1 - .../themes/telinkrin/close-hover.svg | 1 - .../themes/telinkrin/close.svg | 1 - .../themes/telinkrin/maximize-active.svg | 1 - .../themes/telinkrin/maximize-hover.svg | 1 - .../themes/telinkrin/maximize.svg | 1 - .../themes/telinkrin/minimize-active.svg | 1 - .../themes/telinkrin/minimize-hover.svg | 1 - .../themes/telinkrin/minimize.svg | 1 - .../themes/telinkrin/stylesheet.css | 40 - .../themes/united-dark/close-active.svg | 4 - .../themes/united-dark/close-hover.svg | 4 - .../themes/united-dark/close.svg | 3 - .../themes/united-dark/maximize-active.svg | 3 - .../themes/united-dark/maximize-hover.svg | 3 - .../themes/united-dark/maximize.svg | 3 - .../themes/united-dark/minimize-active.svg | 3 - .../themes/united-dark/minimize-hover.svg | 3 - .../themes/united-dark/minimize.svg | 3 - .../themes/united-dark/stylesheet.css | 40 - .../themes/united-light/close-active.svg | 4 - .../themes/united-light/close-hover.svg | 4 - .../themes/united-light/close.svg | 3 - .../themes/united-light/maximize-active.svg | 3 - .../themes/united-light/maximize-hover.svg | 3 - .../themes/united-light/maximize.svg | 3 - .../themes/united-light/minimize-active.svg | 3 - .../themes/united-light/minimize-hover.svg | 3 - .../themes/united-light/minimize.svg | 3 - .../themes/united-light/stylesheet.css | 40 - .../themes/vertex/close-active.svg | 10 - .../themes/vertex/close-hover.svg | 10 - .../themes/vertex/close.svg | 19 - .../themes/vertex/maximize-active.svg | 10 - .../themes/vertex/maximize-hover.svg | 10 - .../themes/vertex/maximize.svg | 19 - .../themes/vertex/minimize-active.svg | 10 - .../themes/vertex/minimize-hover.svg | 10 - .../themes/vertex/minimize.svg | 19 - .../themes/vertex/stylesheet.css | 40 - .../themes/vimix/close-active.svg | 4 - .../themes/vimix/close-hover.svg | 4 - .../unite@hardpixel.eu/themes/vimix/close.svg | 3 - .../themes/vimix/maximize-active.svg | 4 - .../themes/vimix/maximize-hover.svg | 4 - .../themes/vimix/maximize.svg | 3 - .../themes/vimix/minimize-active.svg | 4 - .../themes/vimix/minimize-hover.svg | 4 - .../themes/vimix/minimize.svg | 3 - .../themes/vimix/stylesheet.css | 40 - .../themes/yaru/close-active.svg | 4 - .../themes/yaru/close-hover.svg | 4 - .../unite@hardpixel.eu/themes/yaru/close.svg | 4 - .../themes/yaru/maximize-active.svg | 4 - .../themes/yaru/maximize-hover.svg | 4 - .../themes/yaru/maximize.svg | 3 - .../themes/yaru/minimize-active.svg | 4 - .../themes/yaru/minimize-hover.svg | 4 - .../themes/yaru/minimize.svg | 3 - .../themes/yaru/stylesheet.css | 40 - .../dash-to-dock@micxgx.gmail.com/COPYING | 341 -- .../dash-to-dock@micxgx.gmail.com/README.md | 28 - .../dash-to-dock@micxgx.gmail.com/Settings.ui | 3419 ----------------- .../appIconIndicators.js | 1130 ------ .../dash-to-dock@micxgx.gmail.com/appIcons.js | 1207 ------ .../dash-to-dock@micxgx.gmail.com/dash.js | 1202 ------ .../dash-to-dock@micxgx.gmail.com/docking.js | 1916 --------- .../extension.js | 21 - .../fileManager1API.js | 217 -- .../intellihide.js | 321 -- .../launcherAPI.js | 239 -- .../locale/ar/LC_MESSAGES/dashtodock.mo | Bin 8344 -> 0 bytes .../locale/cs/LC_MESSAGES/dashtodock.mo | Bin 10069 -> 0 bytes .../locale/de/LC_MESSAGES/dashtodock.mo | Bin 8726 -> 0 bytes .../locale/el/LC_MESSAGES/dashtodock.mo | Bin 12093 -> 0 bytes .../locale/es/LC_MESSAGES/dashtodock.mo | Bin 10005 -> 0 bytes .../locale/fr/LC_MESSAGES/dashtodock.mo | Bin 9771 -> 0 bytes .../locale/gl/LC_MESSAGES/dashtodock.mo | Bin 8819 -> 0 bytes .../locale/hu/LC_MESSAGES/dashtodock.mo | Bin 9317 -> 0 bytes .../locale/id/LC_MESSAGES/dashtodock.mo | Bin 8601 -> 0 bytes .../locale/it/LC_MESSAGES/dashtodock.mo | Bin 9935 -> 0 bytes .../locale/ja/LC_MESSAGES/dashtodock.mo | Bin 11482 -> 0 bytes .../locale/nb/LC_MESSAGES/dashtodock.mo | Bin 9261 -> 0 bytes .../locale/nl/LC_MESSAGES/dashtodock.mo | Bin 5017 -> 0 bytes .../locale/pl/LC_MESSAGES/dashtodock.mo | Bin 9749 -> 0 bytes .../locale/pt/LC_MESSAGES/dashtodock.mo | Bin 9317 -> 0 bytes .../locale/pt_BR/LC_MESSAGES/dashtodock.mo | Bin 9949 -> 0 bytes .../locale/ru/LC_MESSAGES/dashtodock.mo | Bin 12666 -> 0 bytes .../locale/sk/LC_MESSAGES/dashtodock.mo | Bin 6331 -> 0 bytes .../locale/sr/LC_MESSAGES/dashtodock.mo | Bin 11227 -> 0 bytes .../locale/sr@latin/LC_MESSAGES/dashtodock.mo | Bin 8865 -> 0 bytes .../locale/sv/LC_MESSAGES/dashtodock.mo | Bin 9532 -> 0 bytes .../locale/tr/LC_MESSAGES/dashtodock.mo | Bin 9771 -> 0 bytes .../locale/uk_UA/LC_MESSAGES/dashtodock.mo | Bin 15770 -> 0 bytes .../locale/zh_CN/LC_MESSAGES/dashtodock.mo | Bin 8335 -> 0 bytes .../locale/zh_TW/LC_MESSAGES/dashtodock.mo | Bin 9137 -> 0 bytes .../locations.js | 268 -- .../media/glossy.svg | 139 - .../media/highlight_stacked_bg.svg | 82 - .../media/highlight_stacked_bg_h.svg | 82 - .../media/logo.svg | 528 --- .../metadata.json | 13 - .../dash-to-dock@micxgx.gmail.com/prefs.js | 869 ----- .../schemas/gschemas.compiled | Bin 7109 -> 0 bytes ....shell.extensions.dash-to-dock.gschema.xml | 550 --- .../stylesheet.css | 178 - .../dash-to-dock@micxgx.gmail.com/theming.js | 572 --- .../dash-to-dock@micxgx.gmail.com/utils.js | 284 -- .../windowPreview.js | 586 --- .../unite@hardpixel.eu/convenience.js | 124 - .../unite@hardpixel.eu/extension.js | 55 - .../extensions/unite@hardpixel.eu/handlers.js | 100 - .../extensions/unite@hardpixel.eu/helpers.js | 101 - .../unite@hardpixel.eu/metadata.json | 14 - .../extensions/unite@hardpixel.eu/module.js | 82 - .../modules/activateWindow.js | 18 - .../modules/activitiesButton.js | 46 - .../modules/applicationMenu.js | 73 - .../unite@hardpixel.eu/modules/desktopName.js | 73 - .../modules/extendLeftBox.js | 87 - .../unite@hardpixel.eu/modules/messageTray.js | 29 - .../unite@hardpixel.eu/modules/themeMods.js | 230 -- .../unite@hardpixel.eu/modules/topIcons.js | 83 - .../modules/windowButtons.js | 181 - .../modules/windowDecoration.js | 196 - .../extensions/unite@hardpixel.eu/panel.js | 121 - .../extensions/unite@hardpixel.eu/prefs.js | 74 - .../schemas/gschemas.compiled | Bin 2164 -> 0 bytes ...g.gnome.shell.extensions.unite.gschema.xml | 161 - .../extensions/unite@hardpixel.eu/settings.ui | 906 ----- .../styles/buttons-left-always.css | 22 - .../styles/buttons-left-tiled.css | 22 - .../styles/buttons-left.css | 22 - .../styles/buttons-right-always.css | 20 - .../styles/buttons-right-tiled.css | 20 - .../styles/buttons-right.css | 20 - .../unite@hardpixel.eu/stylesheet.css | 48 - .../themes/ambiance/close-active.svg | 20 - .../themes/ambiance/close-hover.svg | 22 - .../themes/ambiance/close.svg | 22 - .../themes/ambiance/maximize-active.svg | 17 - .../themes/ambiance/maximize-hover.svg | 19 - .../themes/ambiance/maximize.svg | 19 - .../themes/ambiance/minimize-active.svg | 17 - .../themes/ambiance/minimize-hover.svg | 19 - .../themes/ambiance/minimize.svg | 19 - .../themes/ambiance/stylesheet.css | 40 - .../themes/arc-dark/close-active.svg | 3 - .../themes/arc-dark/close-hover.svg | 3 - .../themes/arc-dark/close.svg | 3 - .../themes/arc-dark/maximize-active.svg | 7 - .../themes/arc-dark/maximize-hover.svg | 5 - .../themes/arc-dark/maximize.svg | 3 - .../themes/arc-dark/minimize-active.svg | 4 - .../themes/arc-dark/minimize-hover.svg | 5 - .../themes/arc-dark/minimize.svg | 3 - .../themes/arc-dark/stylesheet.css | 40 - .../themes/arc-light/close-active.svg | 3 - .../themes/arc-light/close-hover.svg | 3 - .../themes/arc-light/close.svg | 3 - .../themes/arc-light/maximize-active.svg | 7 - .../themes/arc-light/maximize-hover.svg | 5 - .../themes/arc-light/maximize.svg | 3 - .../themes/arc-light/minimize-active.svg | 4 - .../themes/arc-light/minimize-hover.svg | 5 - .../themes/arc-light/minimize.svg | 3 - .../themes/arc-light/stylesheet.css | 40 - .../themes/arrongin/close-active.svg | 1 - .../themes/arrongin/close-hover.svg | 1 - .../themes/arrongin/close.svg | 1 - .../themes/arrongin/maximize-active.svg | 1 - .../themes/arrongin/maximize-hover.svg | 1 - .../themes/arrongin/maximize.svg | 1 - .../themes/arrongin/minimize-active.svg | 1 - .../themes/arrongin/minimize-hover.svg | 1 - .../themes/arrongin/minimize.svg | 1 - .../themes/arrongin/stylesheet.css | 40 - .../themes/default-dark/close-active.svg | 3 - .../themes/default-dark/close-hover.svg | 3 - .../themes/default-dark/close.svg | 3 - .../themes/default-dark/maximize-active.svg | 3 - .../themes/default-dark/maximize-hover.svg | 3 - .../themes/default-dark/maximize.svg | 3 - .../themes/default-dark/minimize-active.svg | 3 - .../themes/default-dark/minimize-hover.svg | 3 - .../themes/default-dark/minimize.svg | 3 - .../themes/default-dark/stylesheet.css | 40 - .../themes/default-light/close-active.svg | 3 - .../themes/default-light/close-hover.svg | 3 - .../themes/default-light/close.svg | 3 - .../themes/default-light/maximize-active.svg | 3 - .../themes/default-light/maximize-hover.svg | 3 - .../themes/default-light/maximize.svg | 3 - .../themes/default-light/minimize-active.svg | 3 - .../themes/default-light/minimize-hover.svg | 3 - .../themes/default-light/minimize.svg | 3 - .../themes/default-light/stylesheet.css | 40 - .../themes/materia-dark/close-active.svg | 4 - .../themes/materia-dark/close-hover.svg | 4 - .../themes/materia-dark/close.svg | 3 - .../themes/materia-dark/maximize-active.svg | 4 - .../themes/materia-dark/maximize-hover.svg | 4 - .../themes/materia-dark/maximize.svg | 3 - .../themes/materia-dark/minimize-active.svg | 4 - .../themes/materia-dark/minimize-hover.svg | 4 - .../themes/materia-dark/minimize.svg | 3 - .../themes/materia-dark/stylesheet.css | 40 - .../themes/materia-light/close-active.svg | 4 - .../themes/materia-light/close-hover.svg | 4 - .../themes/materia-light/close.svg | 3 - .../themes/materia-light/maximize-active.svg | 4 - .../themes/materia-light/maximize-hover.svg | 4 - .../themes/materia-light/maximize.svg | 3 - .../themes/materia-light/minimize-active.svg | 4 - .../themes/materia-light/minimize-hover.svg | 4 - .../themes/materia-light/minimize.svg | 3 - .../themes/materia-light/stylesheet.css | 40 - .../themes/osx-arc/close-active.svg | 5 - .../themes/osx-arc/close-hover.svg | 5 - .../themes/osx-arc/close.svg | 4 - .../themes/osx-arc/maximize-active.svg | 5 - .../themes/osx-arc/maximize-hover.svg | 5 - .../themes/osx-arc/maximize.svg | 4 - .../themes/osx-arc/minimize-active.svg | 5 - .../themes/osx-arc/minimize-hover.svg | 5 - .../themes/osx-arc/minimize.svg | 4 - .../themes/osx-arc/stylesheet.css | 40 - .../themes/pop-dark/close-active.svg | 4 - .../themes/pop-dark/close-hover.svg | 4 - .../themes/pop-dark/close.svg | 4 - .../themes/pop-dark/maximize-active.svg | 4 - .../themes/pop-dark/maximize-hover.svg | 4 - .../themes/pop-dark/maximize.svg | 3 - .../themes/pop-dark/minimize-active.svg | 4 - .../themes/pop-dark/minimize-hover.svg | 4 - .../themes/pop-dark/minimize.svg | 3 - .../themes/pop-dark/stylesheet.css | 40 - .../themes/pop-light/close-active.svg | 4 - .../themes/pop-light/close-hover.svg | 4 - .../themes/pop-light/close.svg | 4 - .../themes/pop-light/maximize-active.svg | 4 - .../themes/pop-light/maximize-hover.svg | 4 - .../themes/pop-light/maximize.svg | 3 - .../themes/pop-light/minimize-active.svg | 4 - .../themes/pop-light/minimize-hover.svg | 4 - .../themes/pop-light/minimize.svg | 3 - .../themes/pop-light/stylesheet.css | 40 - .../themes/radiance/close-active.svg | 23 - .../themes/radiance/close-hover.svg | 25 - .../themes/radiance/close.svg | 25 - .../themes/radiance/maximize-active.svg | 20 - .../themes/radiance/maximize-hover.svg | 22 - .../themes/radiance/maximize.svg | 22 - .../themes/radiance/minimize-active.svg | 20 - .../themes/radiance/minimize-hover.svg | 22 - .../themes/radiance/minimize.svg | 22 - .../themes/radiance/stylesheet.css | 40 - .../themes/telinkrin/close-active.svg | 1 - .../themes/telinkrin/close-hover.svg | 1 - .../themes/telinkrin/close.svg | 1 - .../themes/telinkrin/maximize-active.svg | 1 - .../themes/telinkrin/maximize-hover.svg | 1 - .../themes/telinkrin/maximize.svg | 1 - .../themes/telinkrin/minimize-active.svg | 1 - .../themes/telinkrin/minimize-hover.svg | 1 - .../themes/telinkrin/minimize.svg | 1 - .../themes/telinkrin/stylesheet.css | 40 - .../themes/united-dark/close-active.svg | 4 - .../themes/united-dark/close-hover.svg | 4 - .../themes/united-dark/close.svg | 3 - .../themes/united-dark/maximize-active.svg | 3 - .../themes/united-dark/maximize-hover.svg | 3 - .../themes/united-dark/maximize.svg | 3 - .../themes/united-dark/minimize-active.svg | 3 - .../themes/united-dark/minimize-hover.svg | 3 - .../themes/united-dark/minimize.svg | 3 - .../themes/united-dark/stylesheet.css | 40 - .../themes/united-light/close-active.svg | 4 - .../themes/united-light/close-hover.svg | 4 - .../themes/united-light/close.svg | 3 - .../themes/united-light/maximize-active.svg | 3 - .../themes/united-light/maximize-hover.svg | 3 - .../themes/united-light/maximize.svg | 3 - .../themes/united-light/minimize-active.svg | 3 - .../themes/united-light/minimize-hover.svg | 3 - .../themes/united-light/minimize.svg | 3 - .../themes/united-light/stylesheet.css | 40 - .../themes/vertex/close-active.svg | 10 - .../themes/vertex/close-hover.svg | 10 - .../themes/vertex/close.svg | 19 - .../themes/vertex/maximize-active.svg | 10 - .../themes/vertex/maximize-hover.svg | 10 - .../themes/vertex/maximize.svg | 19 - .../themes/vertex/minimize-active.svg | 10 - .../themes/vertex/minimize-hover.svg | 10 - .../themes/vertex/minimize.svg | 19 - .../themes/vertex/stylesheet.css | 40 - .../themes/vimix/close-active.svg | 4 - .../themes/vimix/close-hover.svg | 4 - .../unite@hardpixel.eu/themes/vimix/close.svg | 3 - .../themes/vimix/maximize-active.svg | 4 - .../themes/vimix/maximize-hover.svg | 4 - .../themes/vimix/maximize.svg | 3 - .../themes/vimix/minimize-active.svg | 4 - .../themes/vimix/minimize-hover.svg | 4 - .../themes/vimix/minimize.svg | 3 - .../themes/vimix/stylesheet.css | 40 - .../themes/yaru/close-active.svg | 4 - .../themes/yaru/close-hover.svg | 4 - .../unite@hardpixel.eu/themes/yaru/close.svg | 4 - .../themes/yaru/maximize-active.svg | 4 - .../themes/yaru/maximize-hover.svg | 4 - .../themes/yaru/maximize.svg | 3 - .../themes/yaru/minimize-active.svg | 4 - .../themes/yaru/minimize-hover.svg | 4 - .../themes/yaru/minimize.svg | 3 - .../themes/yaru/stylesheet.css | 40 - 515 files changed, 2 insertions(+), 37554 deletions(-) delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ar/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/cs/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/de/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/el/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/es/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/fr/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/gl/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/hu/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/id/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/it/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ja/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nb/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nl/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/pl/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/pt/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/pt_BR/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ru/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sk/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr@latin/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sv/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/tr/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/uk_UA/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_CN/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_TW/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locations.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/gschemas.compiled delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/gschemas.compiled delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg delete mode 100755 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg delete mode 100644 tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ar/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/cs/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/de/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/el/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/es/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/fr/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/gl/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/hu/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/id/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/it/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ja/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nb/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nl/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/pl/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/pt/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/pt_BR/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ru/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sk/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr@latin/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sv/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/tr/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/uk_UA/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_CN/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_TW/LC_MESSAGES/dashtodock.mo delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locations.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/gschemas.compiled delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/gschemas.compiled delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg delete mode 100755 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg delete mode 100644 tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css diff --git a/tromjaro/gnome/Packages-Desktop b/tromjaro/gnome/Packages-Desktop index 44fe2a61..e9761772 100644 --- a/tromjaro/gnome/Packages-Desktop +++ b/tromjaro/gnome/Packages-Desktop @@ -9,6 +9,8 @@ kvantum-theme-vimix-git imageburner timeshift-autosnap dat-fox-helper-git +gnome-shell-extension-unite +gnome-shell-extension-dash-to-dock #TROM diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING deleted file mode 100644 index 8d61b15e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING +++ /dev/null @@ -1,341 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md deleted file mode 100644 index e2a1b8c3..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Dash to Dock -![screenshot](https://github.com/micheleg/dash-to-dock/raw/master/media/screenshot.jpg) - -## A dock for the GNOME Shell -This extension enhances the dash moving it out of the overview and transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops without having to leave the desktop view. - -[](https://extensions.gnome.org/extension/307/dash-to-dock) - -For additional installation instructions and more information visit [https://micheleg.github.io/dash-to-dock/](https://micheleg.github.io/dash-to-dock/). - -## Installation from source - -The extension can be installed directly from source, either for the convenience of using git or to test the latest development version. Clone the desired branch with git - -
git clone https://github.com/micheleg/dash-to-dock.git
-or download the branch from github. A simple Makefile is included. Then run -
make
-make install
-
-to install the extension in your home directory. A Shell reload is required Alt+F2 r Enter and the extension has to be enabled with *gnome-tweak-tool* or with *dconf*. - -## Bug Reporting - -Bugs should be reported to the Github bug tracker [https://github.com/micheleg/dash-to-dock/issues](https://github.com/micheleg/dash-to-dock/issues). - -## License -Dash to Dock Gnome Shell extension is distributed under the terms of the GNU General Public License, -version 2 or later. See the COPYING file for details. diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui deleted file mode 100644 index 240c2f44..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui +++ /dev/null @@ -1,3419 +0,0 @@ - - - - - - 1 - 0.050000000000000003 - 0.25 - - - 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 - True - When set to minimize, double clicking minimizes all the windows of the application. - True - 40 - 0 - - - - 0 - 1 - - - - - True - False - True - Shift+Click action - 0 - - - 0 - 0 - - - - - True - False - center - - Raise window - Minimize window - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - Quit - - - - 1 - 0 - 2 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Behavior for Middle-Click. - True - 40 - 0 - - - - 0 - 1 - - - - - True - False - True - Middle-Click action - 0 - - - 0 - 0 - - - - - True - False - center - - Raise window - Minimize window - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - Quit - - - - 1 - 0 - 2 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Behavior for Shift+Middle-Click. - True - 40 - 0 - - - - 0 - 1 - - - - - True - False - True - Shift+Middle-Click action - 0 - - - 0 - 0 - - - - - True - False - center - - Raise window - Minimize window - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - Quit - - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - 0.01 - 0.10000000000000001 - - - 0.33000000000000002 - 1 - 0.01 - 0.10000000000000001 - - - 10 - 1 - 5 - - - True - False - 12 - 12 - 12 - 12 - vertical - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - vertical - 12 - - - True - False - 32 - - - True - False - center - Enable Unity7 like glossy backlit items - 0 - - - True - True - 0 - - - - - True - True - center - - - False - True - 1 - - - - - False - True - 0 - - - - - True - False - - - True - False - start - Use dominant color - - - True - True - 0 - - - - - True - True - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - 32 - - - True - True - - - 1 - 0 - - - - - True - False - True - Customize indicator style - fill - 0 - - - 0 - 0 - - - - - False - True - 2 - - - - - True - False - 1 - vertical - 12 - - - True - False - 32 - - - True - False - Color - 0 - - - True - True - 0 - - - - - True - True - True - - - False - True - 1 - - - - - False - True - 0 - - - - - True - False - 32 - - - True - False - Border color - 0 - - - True - True - 0 - - - - - True - True - True - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - 32 - - - True - False - Border width - 0 - - - True - True - 0 - - - - - True - True - dot_border_width_adjustment - - - False - True - 1 - - - - - False - True - 2 - - - - - False - True - 3 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - 0.050000000000000003 - 0.25 - - - 16 - 128 - 1 - 10 - - - True - True - 6 - 6 - 6 - 6 - - - True - False - 24 - 24 - 24 - 24 - vertical - 24 - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Show the dock on - 0 - - - 0 - 0 - - - - - True - False - center - - - - 1 - 0 - - - - - Show on all monitors. - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - - - - - - - - - - - 100 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Position on screen - 0 - - - False - True - 0 - - - - - True - False - 32 - - - Left - True - True - False - end - center - 0 - True - - - - False - True - 0 - - - - - Bottom - True - True - False - center - 0 - True - position_left_button - - - - False - True - 1 - - - - - Top - True - True - False - center - 0 - bottom - True - position_left_button - - - - False - True - 2 - - - - - Right - True - True - False - center - 0 - True - position_left_button - - - - False - True - 3 - - - - - False - True - 1 - - - - - - - - - - - - - - False - True - 0 - - - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Hide the dock when it obstructs a window of the current application. More refined settings are available. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Intelligent autohide - 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 - 1 - - - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Dock size limit - 0 - - - 0 - 0 - - - - - True - True - baseline - True - dock_size_adjustment - 0 - 2 - right - - - - - 1 - 0 - - - - - Panel mode: extend to the screen edge - True - True - False - 12 - 0 - True - - - 0 - 1 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Icon size limit - 0 - - - 0 - 0 - - - - - True - True - baseline - True - icon_size_adjustment - 1 - 0 - right - - - - - 1 - 0 - - - - - Fixed icon size: scroll to reveal other icons - True - True - False - 12 - 0 - True - - - 0 - 1 - 2 - - - - - - - - - - - - - - False - True - 2 - - - - - - - True - False - Position and size - - - False - - - - - True - False - 24 - 24 - 24 - 24 - vertical - 24 - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show favorite applications - 0 - - - 0 - 0 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show running applications - 0 - - - 0 - 0 - - - - - Isolate workspaces. - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - Isolate monitors. - True - True - False - 12 - 0 - True - - - 0 - 3 - 2 - - - - - True - True - False - 3 - 0 - True - - - True - False - Show open windows previews. - True - - - - - 0 - 1 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - If disabled, these settings are accessible from gnome-tweak-tool or the extension website. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Show <i>Applications</i> icon - True - 0 - - - 0 - 0 - - - - - Move the applications button at the beginning of the dock. - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - True - True - False - 3 - 0 - 0.43000000715255737 - True - - - True - False - Animate <i>Show Applications</i>. - True - - - - - 0 - 3 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show trash can - 0 - - - 0 - 0 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show mounted volumes and devices - 0 - - - 0 - 0 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - - - - - True - False - Launchers - - - 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 - 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 keyboard shortcuts 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 - 1 - - - - - True - 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 - - Raise window - Minimize - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 2 - - - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Behaviour when scrolling on the icon of an application. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Scroll action - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - False - center - - Do nothing - Cycle through windows - Switch workspace - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 3 - - - - - 2 - - - - - True - False - Behavior - - - 2 - False - - - - - True - False - 24 - 24 - 24 - 24 - vertical - 24 - - - True - False - 0 - in - - - True - True - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Few customizations meant to integrate the dock with the default GNOME theme. Alternatively, specific options can be enabled below. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Use built-in theme - 0 - - - 0 - 0 - - - - - True - True - end - center - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 0 - - - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - Save space reducing padding and border radius. - 0 - - - - 0 - 1 - - - - - True - False - True - Shrink the dash - 0 - - - 0 - 0 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Customize windows counter indicators - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - True - True - center - center - 0.46000000834465027 - - - True - False - emblem-system-symbolic - - - - - - False - True - 0 - - - - - True - False - - Default - Dots - Squares - Dashes - Segmented - Solid - Ciliora - Metro - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Set the background color for the dash. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Customize the dash color - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - True - True - center - center - 0.46000000834465027 - - - False - True - 1 - - - - - True - True - end - center - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - True - True - - - True - False - vertical - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Tune the dash background opacity. - 0 - - - - 0 - 1 - - - - - True - False - True - Customize opacity - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - True - True - center - center - - - True - False - emblem-system-symbolic - - - - - - False - True - 0 - - - - - True - False - center - - Default - Fixed - Dynamic - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - False - True - 0 - - - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Opacity - - - False - True - 0 - - - - - True - True - custom_opacity_adjustement - on - False - 0 - 0 - 2 - right - - - - - True - True - 1 - - - - - False - True - 1 - - - - - - - - - 100 - 80 - True - True - - - True - False - 32 - - - True - False - center - 12 - Force straight corner - - 0 - - - True - True - 0 - - - - - True - True - center - 3 - - - False - True - 12 - 1 - - - - - - - - - - - - - - False - True - 1 - - - - - 3 - - - - - True - False - Appearance - - - 3 - False - - - - - False - 24 - 24 - True - True - vertical - 5 - - - - False - True - 10 - 0 - - - - - True - False - <b>Dash to Dock</b> - True - - - False - True - 1 - - - - - True - False - center - - - True - False - end - version: - - - False - True - 0 - - - - - True - False - start - ... - - - False - True - 1 - - - - - False - True - 2 - - - - - True - False - Moves the dash out of the overview transforming it in a dock - center - True - - - False - True - 3 - - - - - True - False - center - 5 - - - True - False - Created by - - - False - True - 0 - - - - - True - True - Michele (<a href="mailto:micxgx@gmail.com">micxgx@gmail.com</a>) - True - - - False - True - 1 - - - - - False - True - 4 - - - - - Webpage - True - True - True - - center - none - https://micheleg.github.io/dash-to-dock/ - - - False - True - 5 - - - - - True - True - end - <span size="small">This program comes with ABSOLUTELY NO WARRANTY. -See the <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2 or later</a> for details.</span> - True - center - True - - - True - True - 6 - - - - - 4 - - - - - True - False - About - - - 4 - False - - - - - 1 - 0.01 - 0.10000000000000001 - - - 1 - 0.01 - 0.10000000000000001 - - - True - False - 12 - 12 - 12 - 12 - vertical - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - vertical - 12 - - - True - False - 32 - - - True - True - - - 1 - 0 - - - - - True - False - True - Customize minimum and maximum opacity values - fill - 0 - - - 0 - 0 - - - - - False - True - 0 - - - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Minimum opacity - - - False - True - 0 - - - - - True - True - min_opacity_adjustement - on - False - 0 - 0 - 2 - right - - - - - True - True - 1 - - - - - False - True - 1 - - - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Maximum opacity - - - False - True - 0 - - - - - True - True - max_opacity_adjustement - on - False - 0 - 0 - 2 - right - - - - - True - True - 1 - - - - - False - True - 1 - - - - - - - - - - - - - - False - True - 0 - - - - - 1000 - 50 - 250 - - - 10 - 0.25 - 1 - - - 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 - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - Number overlay - 0 - - - 0 - 0 - - - - - True - False - Temporarily show the application numbers over the icons, corresponding to the shortcut. - True - 40 - 0 - - - - 0 - 1 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - Show the dock if it is hidden - 0 - - - 0 - 0 - - - - - True - False - If using autohide, the dock will appear for a short time when triggering the shortcut. - True - 40 - 0 - - - - 0 - 1 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - center - 12 - - - 1 - 0 - - - - - True - False - True - Shortcut for the options above - 0 - - - 0 - 0 - - - - - True - False - Syntax: <Shift>, <Ctrl>, <Alt>, <Super> - True - 40 - 0 - - - - 0 - 1 - - - - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - True - 6 - 32 - - - True - True - end - shortcut_time_adjustment - 3 - - - 1 - 0 - - - - - True - False - True - Hide timeout (s) - 0 - - - 0 - 0 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - 0.050000000000000003 - 0.25 - - - True - False - 12 - 12 - 12 - 12 - vertical - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Show the dock by mouse hover on the screen edge. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Autohide - 0 - - - 0 - 0 - - - - - True - True - end - center - - - 1 - 0 - 2 - - - - - Push to show: require pressure to show the dock - True - True - False - 0 - True - - - 0 - 3 - 2 - - - - - Enable in fullscreen mode - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Show the dock when it doesn't obstruct application windows. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Dodge windows - 0 - - - 0 - 0 - - - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - vertical - - - All windows - True - True - False - 12 - 0 - True - True - - - - False - True - 0 - - - - - Only focused application's windows - True - True - False - 0 - True - True - all_windows_radio_button - - - - False - True - 1 - - - - - Only maximized windows - True - True - False - 0 - True - True - all_windows_radio_button - - - - False - True - 2 - - - - - 0 - 2 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - True - 6 - 32 - - - True - True - end - animation_time_adjustment - 3 - - - 1 - 0 - - - - - True - False - True - Animation duration (s) - 0 - - - 0 - 0 - - - - - True - True - end - hide_timeout_adjustment - 3 - - - 1 - 1 - - - - - True - True - end - show_timeout_adjustment - 3 - - - 1 - 2 - - - - - True - True - 0.000 - pressure_threshold_adjustment - - - 1 - 3 - - - - - True - False - True - Hide timeout (s) - 0 - - - 0 - 1 - - - - - True - False - True - Show timeout (s) - 0 - - - 0 - 2 - - - - - True - False - True - Pressure threshold - 0 - - - 0 - 3 - - - - - - - - - - - - - - False - True - 0 - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js deleted file mode 100644 index ff9d9813..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js +++ /dev/null @@ -1,1130 +0,0 @@ -const Cogl = imports.gi.Cogl; -const Cairo = imports.cairo; -const Clutter = imports.gi.Clutter; -const GdkPixbuf = imports.gi.GdkPixbuf -const Gio = imports.gi.Gio; -const Gtk = imports.gi.Gtk; -const Pango = imports.gi.Pango; -const Shell = imports.gi.Shell; -const St = imports.gi.St; - -const Util = imports.misc.util; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; -const Utils = Me.imports.utils; - -let tracker = Shell.WindowTracker.get_default(); - -const RunningIndicatorStyle = { - DEFAULT: 0, - DOTS: 1, - SQUARES: 2, - DASHES: 3, - SEGMENTED: 4, - SOLID: 5, - CILIORA: 6, - METRO: 7 -}; - -const MAX_WINDOWS_CLASSES = 4; - - -/* - * This is the main indicator class to be used. The desired bahviour is - * obtained by composing the desired classes below based on the settings. - * - */ -var AppIconIndicator = class DashToDock_AppIconIndicator { - - constructor(source) { - this._indicators = []; - - // Unity indicators always enabled for now - let unityIndicator = new UnityIndicator(source); - this._indicators.push(unityIndicator); - - // Choose the style for the running indicators - let runningIndicator = null; - let runningIndicatorStyle; - - let settings = Docking.DockManager.settings; - if (settings.get_boolean('apply-custom-theme' )) { - runningIndicatorStyle = RunningIndicatorStyle.DOTS; - } else { - runningIndicatorStyle = settings.get_enum('running-indicator-style'); - } - - switch (runningIndicatorStyle) { - case RunningIndicatorStyle.DEFAULT: - runningIndicator = new RunningIndicatorDefault(source); - break; - - case RunningIndicatorStyle.DOTS: - runningIndicator = new RunningIndicatorDots(source); - break; - - case RunningIndicatorStyle.SQUARES: - runningIndicator = new RunningIndicatorSquares(source); - break; - - case RunningIndicatorStyle.DASHES: - runningIndicator = new RunningIndicatorDashes(source); - break; - - case RunningIndicatorStyle.SEGMENTED: - runningIndicator = new RunningIndicatorSegmented(source); - break; - - case RunningIndicatorStyle.SOLID: - runningIndicator = new RunningIndicatorSolid(source); - break; - - case RunningIndicatorStyle.CILIORA: - runningIndicator = new RunningIndicatorCiliora(source); - break; - - case RunningIndicatorStyle.METRO: - runningIndicator = new RunningIndicatorMetro(source); - break; - - default: - runningIndicator = new RunningIndicatorBase(source); - } - - this._indicators.push(runningIndicator); - } - - update() { - for (let i=0; i { - this._signalsHandler.destroy(); - }); - } - - update() { - } - - destroy() { - this._source.actor.disconnect(this._sourceDestroyId); - this._signalsHandler.destroy(); - } -}; - -/* - * A base indicator class for running style, from which all other EunningIndicators should derive, - * providing some basic methods, variables definitions and their update, css style classes handling. - * - */ -var RunningIndicatorBase = class DashToDock_RunningIndicatorBase extends IndicatorBase { - - constructor(source) { - super(source) - - this._side = Utils.getPosition(); - this._nWindows = 0; - - this._dominantColorExtractor = new DominantColorExtractor(this._source.app); - - // These statuses take into account the workspace/monitor isolation - this._isFocused = false; - this._isRunning = false; - } - - update() { - // Limit to 1 to MAX_WINDOWS_CLASSES windows classes - this._nWindows = Math.min(this._source.getInterestingWindows().length, MAX_WINDOWS_CLASSES); - - // We need to check the number of windows, as the focus might be - // happening on another monitor if using isolation - if (tracker.focus_app == this._source.app && this._nWindows > 0) - this._isFocused = true; - else - this._isFocused = false; - - // In the case of workspace isolation, we need to hide the dots of apps with - // no windows in the current workspace - if ((this._source.app.state != Shell.AppState.STOPPED || this._source.isLocation()) && this._nWindows > 0) - this._isRunning = true; - else - this._isRunning = false; - - this._updateCounterClass(); - this._updateFocusClass(); - this._updateDefaultDot(); - } - - _updateCounterClass() { - for (let i = 1; i <= MAX_WINDOWS_CLASSES; i++) { - let className = 'running' + i; - if (i != this._nWindows) - this._source.actor.remove_style_class_name(className); - else - this._source.actor.add_style_class_name(className); - } - } - - _updateFocusClass() { - if (this._isFocused) - this._source.actor.add_style_class_name('focused'); - else - this._source.actor.remove_style_class_name('focused'); - } - - _updateDefaultDot() { - if (this._isRunning) - this._source._dot.show(); - else - this._source._dot.hide(); - } - - _hideDefaultDot() { - // I use opacity to hide the default dot because the show/hide function - // are used by the parent class. - this._source._dot.opacity = 0; - } - - _restoreDefaultDot() { - this._source._dot.opacity = 255; - } - - _enableBacklight() { - - let colorPalette = this._dominantColorExtractor._getColorPalette(); - - // Fallback - if (colorPalette === null) { - this._source._iconContainer.set_style( - 'border-radius: 5px;' + - 'background-gradient-direction: vertical;' + - 'background-gradient-start: #e0e0e0;' + - 'background-gradient-end: darkgray;' - ); - - return; - } - - this._source._iconContainer.set_style( - 'border-radius: 5px;' + - 'background-gradient-direction: vertical;' + - 'background-gradient-start: ' + colorPalette.original + ';' + - 'background-gradient-end: ' + colorPalette.darker + ';' - ); - - } - - _disableBacklight() { - this._source._iconContainer.set_style(null); - } - - destroy() { - this._disableBacklight(); - // Remove glossy background if the children still exists - if (this._source._iconContainer.get_children().length > 1) - this._source._iconContainer.get_children()[1].set_style(null); - this._restoreDefaultDot(); - - super.destroy(); - } -}; - -// We add a css class so third parties themes can limit their indicaor customization -// to the case we do nothing -var RunningIndicatorDefault = class DashToDock_RunningIndicatorDefault extends RunningIndicatorBase { - - constructor(source) { - super(source); - this._source.actor.add_style_class_name('default'); - } - - destory() { - this._source.actor.remove_style_class_name('default'); - super.destroy(); - } -}; - -var RunningIndicatorDots = class DashToDock_RunningIndicatorDots extends RunningIndicatorBase { - - constructor(source) { - super(source) - - this._hideDefaultDot(); - - this._area = new St.DrawingArea({x_expand: true, y_expand: true}); - - // We draw for the bottom case and rotate the canvas for other placements - //set center of rotatoins to the center - this._area.set_pivot_point(0.5, 0.5); - // prepare transformation matrix - let m = new Cogl.Matrix(); - m.init_identity(); - - switch (this._side) { - case St.Side.TOP: - m.xx = -1; - m.rotate(180, 0, 0, 1); - break - - case St.Side.BOTTOM: - // nothing - break; - - case St.Side.LEFT: - m.yy = -1; - m.rotate(90, 0, 0, 1); - break; - - case St.Side.RIGHT: - m.rotate(-90, 0, 0, 1); - break - } - - this._area.set_transform(m); - - this._area.connect('repaint', this._updateIndicator.bind(this)); - this._source._iconContainer.add_child(this._area); - - let keys = ['custom-theme-running-dots-color', - 'custom-theme-running-dots-border-color', - 'custom-theme-running-dots-border-width', - 'custom-theme-customize-running-dots', - 'unity-backlit-items', - 'running-indicator-dominant-color']; - - keys.forEach(function(key) { - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::' + key, - this.update.bind(this) - ]); - }, this); - - // Apply glossy background - // TODO: move to enable/disableBacklit to apply itonly to the running apps? - // TODO: move to css class for theming support - this._glossyBackgroundStyle = 'background-image: url(\'' + Me.path + '/media/glossy.svg\');' + - 'background-size: contain;'; - } - - update() { - super.update(); - - // Enable / Disable the backlight of running apps - if (!Docking.DockManager.settings.get_boolean('apply-custom-theme') && - Docking.DockManager.settings.get_boolean('unity-backlit-items')) { - this._source._iconContainer.get_children()[1].set_style(this._glossyBackgroundStyle); - if (this._isRunning) - this._enableBacklight(); - else - this._disableBacklight(); - } else { - this._disableBacklight(); - this._source._iconContainer.get_children()[1].set_style(null); - } - - if (this._area) - this._area.queue_repaint(); - } - - _computeStyle() { - - let [width, height] = this._area.get_surface_size(); - this._width = height; - this._height = width; - - // By defaut re-use the style - background color, and border width and color - - // of the default dot - let themeNode = this._source._dot.get_theme_node(); - this._borderColor = themeNode.get_border_color(this._side); - this._borderWidth = themeNode.get_border_width(this._side); - this._bodyColor = themeNode.get_background_color(); - - let settings = Docking.DockManager.settings; - if (!settings.get_boolean('apply-custom-theme')) { - // Adjust for the backlit case - if (settings.get_boolean('unity-backlit-items')) { - // Use dominant color for dots too if the backlit is enables - let colorPalette = this._dominantColorExtractor._getColorPalette(); - - // Slightly adjust the styling - this._borderWidth = 2; - - if (colorPalette !== null) { - this._borderColor = Clutter.color_from_string(colorPalette.lighter)[1] ; - this._bodyColor = Clutter.color_from_string(colorPalette.darker)[1]; - } else { - // Fallback - this._borderColor = Clutter.color_from_string('white')[1]; - this._bodyColor = Clutter.color_from_string('gray')[1]; - } - } - - // Apply dominant color if requested - if (settings.get_boolean('running-indicator-dominant-color')) { - let colorPalette = this._dominantColorExtractor._getColorPalette(); - if (colorPalette !== null) { - this._bodyColor = Clutter.color_from_string(colorPalette.original)[1]; - } - } - - // Finally, use customize style if requested - if (settings.get_boolean('custom-theme-customize-running-dots')) { - this._borderColor = Clutter.color_from_string(settings.get_string('custom-theme-running-dots-border-color'))[1]; - this._borderWidth = settings.get_int('custom-theme-running-dots-border-width'); - this._bodyColor = Clutter.color_from_string(settings.get_string('custom-theme-running-dots-color'))[1]; - } - } - - // Define the radius as an arbitrary size, but keep large enough to account - // for the drawing of the border. - this._radius = Math.max(this._width/22, this._borderWidth/2); - this._padding = 0; // distance from the margin - this._spacing = this._radius + this._borderWidth; // separation between the dots - } - - _updateIndicator() { - - let area = this._area; - let cr = this._area.get_context(); - - this._computeStyle(); - this._drawIndicator(cr); - cr.$dispose(); - } - - _drawIndicator(cr) { - // Draw the required numbers of dots - let n = this._nWindows; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - // draw for the bottom case: - cr.translate((this._width - (2*n)*this._radius - (n-1)*this._spacing)/2, this._height - this._padding); - for (let i = 0; i < n; i++) { - cr.newSubPath(); - cr.arc((2*i+1)*this._radius + i*this._spacing, -this._radius - this._borderWidth/2, this._radius, 0, 2*Math.PI); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - - destroy() { - this._area.destroy(); - super.destroy(); - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorCiliora = class DashToDock_RunningIndicatorCiliora extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - - let size = Math.max(this._width/20, this._borderWidth); - let spacing = size; // separation between the dots - let lineLength = this._width - (size*(this._nWindows-1)) - (spacing*(this._nWindows-1)); - let padding = this._borderWidth; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(0, yOffset); - cr.newSubPath(); - cr.rectangle(0, 0, lineLength, size); - for (let i = 1; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(lineLength + (i*spacing) + ((i-1)*size), 0, size, size); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorSegmented = class DashToDock_RunningIndicatorSegmented extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/20, this._borderWidth); - let spacing = Math.ceil(this._width/18); // separation between the dots - let dashLength = Math.ceil((this._width - ((this._nWindows-1)*spacing))/this._nWindows); - let lineLength = this._width - (size*(this._nWindows-1)) - (spacing*(this._nWindows-1)); - let padding = this._borderWidth; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(0, yOffset); - for (let i = 0; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(i*dashLength + i*spacing, 0, dashLength, size); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill() - } - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorSolid = class DashToDock_RunningIndicatorSolid extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - - let size = Math.max(this._width/20, this._borderWidth); - let padding = this._borderWidth; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(0, yOffset); - cr.newSubPath(); - cr.rectangle(0, 0, this._width, size); - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - - } - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorSquares = class DashToDock_RunningIndicatorSquares extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/11, this._borderWidth); - let padding = this._borderWidth; - let spacing = Math.ceil(this._width/18); // separation between the dots - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(Math.floor((this._width - this._nWindows*size - (this._nWindows-1)*spacing)/2), yOffset); - for (let i = 0; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(i*size + i*spacing, 0, size, size); - } - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - } -} - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorDashes = class DashToDock_RunningIndicatorDashes extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/20, this._borderWidth); - let padding = this._borderWidth; - let spacing = Math.ceil(this._width/18); // separation between the dots - let dashLength = Math.floor(this._width/4) - spacing; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(Math.floor((this._width - this._nWindows*dashLength - (this._nWindows-1)*spacing)/2), yOffset); - for (let i = 0; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(i*dashLength + i*spacing, 0, dashLength, size); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - } -} - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorMetro = class DashToDock_RunningIndicatorMetro extends RunningIndicatorDots { - - constructor(source) { - super(source); - this._source.actor.add_style_class_name('metro'); - } - - destroy() { - this._source.actor.remove_style_class_name('metro'); - super.destroy(); - } - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/20, this._borderWidth); - let padding = 0; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - let n = this._nWindows; - if(n <= 1) { - cr.translate(0, yOffset); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.newSubPath(); - cr.rectangle(0, 0, this._width, size); - cr.fill(); - } else { - let blackenedLength = (1/48)*this._width; // need to scale with the SVG for the stacked highlight - let darkenedLength = this._isFocused ? (2/48)*this._width : (10/48)*this._width; - let blackenedColor = this._bodyColor.shade(.3); - let darkenedColor = this._bodyColor.shade(.7); - - cr.translate(0, yOffset); - - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.newSubPath(); - cr.rectangle(0, 0, this._width - darkenedLength - blackenedLength, size); - cr.fill(); - Clutter.cairo_set_source_color(cr, blackenedColor); - cr.newSubPath(); - cr.rectangle(this._width - darkenedLength - blackenedLength, 0, 1, size); - cr.fill(); - Clutter.cairo_set_source_color(cr, darkenedColor); - cr.newSubPath(); - cr.rectangle(this._width - darkenedLength, 0, darkenedLength, size); - cr.fill(); - } - } - } -} - -/* - * Unity like notification and progress indicators - */ -var UnityIndicator = class DashToDock_UnityIndicator extends IndicatorBase { - - constructor(source) { - - super(source); - - this._notificationBadgeLabel = new St.Label(); - this._notificationBadgeBin = new St.Bin({ - child: this._notificationBadgeLabel, - x_align: St.Align.END, y_align: St.Align.START, - x_expand: true, y_expand: true - }); - this._notificationBadgeLabel.add_style_class_name('notification-badge'); - this._notificationBadgeCount = 0; - this._notificationBadgeBin.hide(); - - this._source._iconContainer.add_child(this._notificationBadgeBin); - this._source._iconContainer.connect('allocation-changed', this.updateNotificationBadge.bind(this)); - - this._remoteEntries = []; - this._source.remoteModel.lookupById(this._source.app.id).forEach( - (entry) => { - this.insertEntryRemote(entry); - } - ); - - this._signalsHandler.add([ - this._source.remoteModel, - 'entry-added', - this._onLauncherEntryRemoteAdded.bind(this) - ], [ - this._source.remoteModel, - 'entry-removed', - this._onLauncherEntryRemoteRemoved.bind(this) - ]) - } - - _onLauncherEntryRemoteAdded(remoteModel, entry) { - if (!entry || !entry.appId()) - return; - if (this._source && this._source.app && this._source.app.id == entry.appId()) { - this.insertEntryRemote(entry); - } - } - - _onLauncherEntryRemoteRemoved(remoteModel, entry) { - if (!entry || !entry.appId()) - return; - - if (this._source && this._source.app && this._source.app.id == entry.appId()) { - this.removeEntryRemote(entry); - } - } - - updateNotificationBadge() { - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let [minWidth, natWidth] = this._source._iconContainer.get_preferred_width(-1); - let logicalNatWidth = natWidth / scaleFactor; - let font_size = Math.max(10, Math.round(logicalNatWidth / 5)); - let margin_left = Math.round(logicalNatWidth / 4); - - this._notificationBadgeLabel.set_style( - 'font-size: ' + font_size + 'px;' + - 'margin-left: ' + margin_left + 'px;' - ); - - this._notificationBadgeBin.width = Math.round(logicalNatWidth - margin_left); - this._notificationBadgeLabel.clutter_text.ellipsize = Pango.EllipsizeMode.MIDDLE; - } - - _notificationBadgeCountToText(count) { - if (count <= 9999) { - return count.toString(); - } else if (count < 1e5) { - let thousands = count / 1e3; - return thousands.toFixed(1).toString() + "k"; - } else if (count < 1e6) { - let thousands = count / 1e3; - return thousands.toFixed(0).toString() + "k"; - } else if (count < 1e8) { - let millions = count / 1e6; - return millions.toFixed(1).toString() + "M"; - } else if (count < 1e9) { - let millions = count / 1e6; - return millions.toFixed(0).toString() + "M"; - } else { - let billions = count / 1e9; - return billions.toFixed(1).toString() + "B"; - } - } - - setNotificationBadge(count) { - this._notificationBadgeCount = count; - let text = this._notificationBadgeCountToText(count); - this._notificationBadgeLabel.set_text(text); - } - - toggleNotificationBadge(activate) { - if (activate && this._notificationBadgeCount > 0) { - this.updateNotificationBadge(); - this._notificationBadgeBin.show(); - } - else - this._notificationBadgeBin.hide(); - } - - _showProgressOverlay() { - if (this._progressOverlayArea) { - this._updateProgressOverlay(); - return; - } - - this._progressOverlayArea = new St.DrawingArea({x_expand: true, y_expand: true}); - this._progressOverlayArea.add_style_class_name('progress-bar'); - this._progressOverlayArea.connect('repaint', () => { - this._drawProgressOverlay(this._progressOverlayArea); - }); - - this._source._iconContainer.add_child(this._progressOverlayArea); - let node = this._progressOverlayArea.get_theme_node(); - - let [hasColor, color] = node.lookup_color('-progress-bar-background', false); - if (hasColor) - this._progressbar_background = color - else - this._progressbar_background = new Clutter.Color({red: 204, green: 204, blue: 204, alpha: 255}); - - [hasColor, color] = node.lookup_color('-progress-bar-border', false); - if (hasColor) - this._progressbar_border = color; - else - this._progressbar_border = new Clutter.Color({red: 230, green: 230, blue: 230, alpha: 255}); - - this._updateProgressOverlay(); - } - - _hideProgressOverlay() { - if (this._progressOverlayArea) - this._progressOverlayArea.destroy(); - this._progressOverlayArea = null; - this._progressbar_background = null; - this._progressbar_border = null; - } - - _updateProgressOverlay() { - if (this._progressOverlayArea) - this._progressOverlayArea.queue_repaint(); - } - - _drawProgressOverlay(area) { - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let [surfaceWidth, surfaceHeight] = area.get_surface_size(); - let cr = area.get_context(); - - let iconSize = this._source.icon.iconSize * scaleFactor; - - let x = Math.floor((surfaceWidth - iconSize) / 2); - let y = Math.floor((surfaceHeight - iconSize) / 2); - - let lineWidth = Math.floor(1.0 * scaleFactor); - let padding = Math.floor(iconSize * 0.05); - let width = iconSize - 2.0*padding; - let height = Math.floor(Math.min(18.0*scaleFactor, 0.20*iconSize)); - x += padding; - y += iconSize - height - padding; - - cr.setLineWidth(lineWidth); - - // Draw the outer stroke - let stroke = new Cairo.LinearGradient(0, y, 0, y + height); - let fill = null; - stroke.addColorStopRGBA(0.5, 0.5, 0.5, 0.5, 0.1); - stroke.addColorStopRGBA(0.9, 0.8, 0.8, 0.8, 0.4); - Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, width, height, true, true, stroke, fill); - - // Draw the background - x += lineWidth; - y += lineWidth; - width -= 2.0*lineWidth; - height -= 2.0*lineWidth; - - stroke = Cairo.SolidPattern.createRGBA(0.20, 0.20, 0.20, 0.9); - fill = new Cairo.LinearGradient(0, y, 0, y + height); - fill.addColorStopRGBA(0.4, 0.25, 0.25, 0.25, 1.0); - fill.addColorStopRGBA(0.9, 0.35, 0.35, 0.35, 1.0); - Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, width, height, true, true, stroke, fill); - - // Draw the finished bar - x += lineWidth; - y += lineWidth; - width -= 2.0*lineWidth; - height -= 2.0*lineWidth; - - let finishedWidth = Math.ceil(this._progress * width); - - let bg = this._progressbar_background; - let bd = this._progressbar_border; - - stroke = Cairo.SolidPattern.createRGBA(bd.red/255, bd.green/255, bd.blue/255, bd.alpha/255); - fill = Cairo.SolidPattern.createRGBA(bg.red/255, bg.green/255, bg.blue/255, bg.alpha/255); - - if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) - Utils.drawRoundedLine(cr, x + lineWidth/2.0 + width - finishedWidth, y + lineWidth/2.0, finishedWidth, height, true, true, stroke, fill); - else - Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, finishedWidth, height, true, true, stroke, fill); - - cr.$dispose(); - } - - setProgress(progress) { - this._progress = Math.min(Math.max(progress, 0.0), 1.0); - this._updateProgressOverlay(); - } - - toggleProgressOverlay(activate) { - if (activate) { - this._showProgressOverlay(); - } - else { - this._hideProgressOverlay(); - } - } - - insertEntryRemote(remote) { - if (!remote || this._remoteEntries.indexOf(remote) !== -1) - return; - - this._remoteEntries.push(remote); - this._selectEntryRemote(remote); - } - - removeEntryRemote(remote) { - if (!remote || this._remoteEntries.indexOf(remote) == -1) - return; - - this._remoteEntries.splice(this._remoteEntries.indexOf(remote), 1); - - if (this._remoteEntries.length > 0) { - this._selectEntryRemote(this._remoteEntries[this._remoteEntries.length-1]); - } else { - this.setNotificationBadge(0); - this.toggleNotificationBadge(false); - this.setProgress(0); - this.toggleProgressOverlay(false); - } - } - - _selectEntryRemote(remote) { - if (!remote) - return; - - this._signalsHandler.removeWithLabel('entry-remotes'); - - this._signalsHandler.addWithLabel('entry-remotes', - [ - remote, - 'count-changed', - (remote, value) => { - this.setNotificationBadge(value); - } - ], [ - remote, - 'count-visible-changed', - (remote, value) => { - this.toggleNotificationBadge(value); - } - ], [ - remote, - 'progress-changed', - (remote, value) => { - this.setProgress(value); - } - ], [ - remote, - 'progress-visible-changed', - (remote, value) => { - this.toggleProgressOverlay(value); - } - ]); - - this.setNotificationBadge(remote.count()); - this.toggleNotificationBadge(remote.countVisible()); - this.setProgress(remote.progress()); - this.toggleProgressOverlay(remote.progressVisible()); - } -} - - -// We need an icons theme object, this is the only way I managed to get -// pixel buffers that can be used for calculating the backlight color -let themeLoader = null; - -// Global icon cache. Used for Unity7 styling. -let iconCacheMap = new Map(); -// Max number of items to store -// We don't expect to ever reach this number, but let's put an hard limit to avoid -// even the remote possibility of the cached items to grow indefinitely. -const MAX_CACHED_ITEMS = 1000; -// When the size exceed it, the oldest 'n' ones are deleted -const BATCH_SIZE_TO_DELETE = 50; -// The icon size used to extract the dominant color -const DOMINANT_COLOR_ICON_SIZE = 64; - -// Compute dominant color frim the app icon. -// The color is cached for efficiency. -var DominantColorExtractor = class DashToDock_DominantColorExtractor { - - constructor(app) { - this._app = app; - } - - /** - * Try to get the pixel buffer for the current icon, if not fail gracefully - */ - _getIconPixBuf() { - let iconTexture = this._app.create_icon_texture(16); - - if (themeLoader === null) { - let ifaceSettings = new Gio.Settings({ schema: "org.gnome.desktop.interface" }); - - themeLoader = new Gtk.IconTheme(), - themeLoader.set_custom_theme(ifaceSettings.get_string('icon-theme')); // Make sure the correct theme is loaded - } - - // Unable to load the icon texture, use fallback - if (iconTexture instanceof St.Icon === false) { - return null; - } - - iconTexture = iconTexture.get_gicon(); - - // Unable to load the icon texture, use fallback - if (iconTexture === null) { - return null; - } - - if (iconTexture instanceof Gio.FileIcon) { - // Use GdkPixBuf to load the pixel buffer from the provided file path - return GdkPixbuf.Pixbuf.new_from_file(iconTexture.get_file().get_path()); - } - - // Get the pixel buffer from the icon theme - let icon_info = themeLoader.lookup_icon(iconTexture.get_names()[0], DOMINANT_COLOR_ICON_SIZE, 0); - if (icon_info !== null) - return icon_info.load_icon(); - else - return null; - } - - /** - * The backlight color choosing algorithm was mostly ported to javascript from the - * Unity7 C++ source of Canonicals: - * https://bazaar.launchpad.net/~unity-team/unity/trunk/view/head:/launcher/LauncherIcon.cpp - * so it more or less works the same way. - */ - _getColorPalette() { - if (iconCacheMap.get(this._app.get_id())) { - // We already know the answer - return iconCacheMap.get(this._app.get_id()); - } - - let pixBuf = this._getIconPixBuf(); - if (pixBuf == null) - return null; - - let pixels = pixBuf.get_pixels(), - offset = 0; - - let total = 0, - rTotal = 0, - gTotal = 0, - bTotal = 0; - - let resample_y = 1, - resample_x = 1; - - // Resampling of large icons - // We resample icons larger than twice the desired size, as the resampling - // to a size s - // DOMINANT_COLOR_ICON_SIZE < s < 2*DOMINANT_COLOR_ICON_SIZE, - // most of the case exactly DOMINANT_COLOR_ICON_SIZE as the icon size is tipycally - // a multiple of it. - let width = pixBuf.get_width(); - let height = pixBuf.get_height(); - - // Resample - if (height >= 2* DOMINANT_COLOR_ICON_SIZE) - resample_y = Math.floor(height/DOMINANT_COLOR_ICON_SIZE); - - if (width >= 2* DOMINANT_COLOR_ICON_SIZE) - resample_x = Math.floor(width/DOMINANT_COLOR_ICON_SIZE); - - if (resample_x !==1 || resample_y !== 1) - pixels = this._resamplePixels(pixels, resample_x, resample_y); - - // computing the limit outside the for (where it would be repeated at each iteration) - // for performance reasons - let limit = pixels.length; - for (let offset = 0; offset < limit; offset+=4) { - let r = pixels[offset], - g = pixels[offset + 1], - b = pixels[offset + 2], - a = pixels[offset + 3]; - - let saturation = (Math.max(r,g, b) - Math.min(r,g, b)); - let relevance = 0.1 * 255 * 255 + 0.9 * a * saturation; - - rTotal += r * relevance; - gTotal += g * relevance; - bTotal += b * relevance; - - total += relevance; - } - - total = total * 255; - - let r = rTotal / total, - g = gTotal / total, - b = bTotal / total; - - let hsv = Utils.ColorUtils.RGBtoHSV(r * 255, g * 255, b * 255); - - if (hsv.s > 0.15) - hsv.s = 0.65; - hsv.v = 0.90; - - let rgb = Utils.ColorUtils.HSVtoRGB(hsv.h, hsv.s, hsv.v); - - // Cache the result. - let backgroundColor = { - lighter: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, 0.2), - original: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, 0), - darker: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, -0.5) - }; - - if (iconCacheMap.size >= MAX_CACHED_ITEMS) { - //delete oldest cached values (which are in order of insertions) - let ctr=0; - for (let key of iconCacheMap.keys()) { - if (++ctr > BATCH_SIZE_TO_DELETE) - break; - iconCacheMap.delete(key); - } - } - - iconCacheMap.set(this._app.get_id(), backgroundColor); - - return backgroundColor; - } - - /** - * Downsample large icons before scanning for the backlight color to - * improve performance. - * - * @param pixBuf - * @param pixels - * @param resampleX - * @param resampleY - * - * @return []; - */ - _resamplePixels (pixels, resampleX, resampleY) { - let resampledPixels = []; - // computing the limit outside the for (where it would be repeated at each iteration) - // for performance reasons - let limit = pixels.length / (resampleX * resampleY) / 4; - for (let i = 0; i < limit; i++) { - let pixel = i * resampleX * resampleY; - - resampledPixels.push(pixels[pixel * 4]); - resampledPixels.push(pixels[pixel * 4 + 1]); - resampledPixels.push(pixels[pixel * 4 + 2]); - resampledPixels.push(pixels[pixel * 4 + 3]); - } - - return resampledPixels; - } -}; diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js deleted file mode 100644 index 071dfd60..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js +++ /dev/null @@ -1,1207 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Clutter = imports.gi.Clutter; -const GdkPixbuf = imports.gi.GdkPixbuf -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Signals = imports.signals; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; - -// Use __ () and N__() for the extension gettext domain, and reuse -// the shell domain with the default _() and N_() -const Gettext = imports.gettext.domain('dashtodock'); -const __ = Gettext.gettext; -const N__ = function(e) { return e }; - -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 Docking = Me.imports.docking; -const Utils = Me.imports.utils; -const WindowPreview = Me.imports.windowPreview; -const AppIconIndicators = Me.imports.appIconIndicators; - -let tracker = Shell.WindowTracker.get_default(); - -const clickAction = { - SKIP: 0, - MINIMIZE: 1, - LAUNCH: 2, - CYCLE_WINDOWS: 3, - MINIMIZE_OR_OVERVIEW: 4, - PREVIEWS: 5, - MINIMIZE_OR_PREVIEWS: 6, - FOCUS_OR_PREVIEWS: 7, - QUIT: 8, -}; - -const scrollAction = { - DO_NOTHING: 0, - CYCLE_WINDOWS: 1, - SWITCH_WORKSPACE: 2 -}; - -let recentlyClickedAppLoopId = 0; -let recentlyClickedApp = null; -let recentlyClickedAppWindows = null; -let recentlyClickedAppIndex = 0; -let recentlyClickedAppMonitor = -1; - -/** - * Extend AppIcon - * - * - Apply a css class based on the number of windows of each application (#N); - * - Customized indicators for running applications in place of 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 - * - Update menu if open on windows change - */ -var MyAppIcon = class DashToDock_AppIcon extends AppDisplay.AppIcon { - - // settings are required inside. - constructor(remoteModel, app, monitorIndex, iconParams) { - super(app, iconParams); - - // a prefix is required to avoid conflicting with the parent class variable - this.monitorIndex = monitorIndex; - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this.remoteModel = remoteModel; - this._indicator = null; - - let appInfo = app.get_app_info(); - this._location = appInfo ? appInfo.get_string('XdtdUri') : null; - - this._updateIndicatorStyle(); - this._optionalScrollCycleWindows(); - - // 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._windowsChangedId = this.app.connect('windows-changed', - this.onWindowsChanged.bind(this)); - this._focusAppChangeId = tracker.connect('notify::focus-app', - this._onFocusAppChanged.bind(this)); - - // In Wayland sessions, this signal is needed to track the state of windows dragged - // from one monitor to another. As this is triggered quite often (whenever a new winow - // of any application opened or moved to a different desktop), - // we restrict this signal to the case when 'isolate-monitors' is true, - // and if there are at least 2 monitors. - if (Docking.DockManager.settings.get_boolean('isolate-monitors') && - Main.layoutManager.monitors.length > 1) { - this._signalsHandler.removeWithLabel('isolate-monitors'); - this._signalsHandler.addWithLabel('isolate-monitors', [ - global.display, - 'window-entered-monitor', - this._onWindowEntered.bind(this) - ]); - } - - this._progressOverlayArea = null; - this._progress = 0; - - let keys = ['apply-custom-theme', - 'running-indicator-style', - ]; - - keys.forEach(function(key) { - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::' + key, - this._updateIndicatorStyle.bind(this) - ]); - }, this); - - if (this._location) { - this._signalsHandler.add([ - Docking.DockManager.getDefault().fm1Client, - 'windows-changed', - this.onWindowsChanged.bind(this) - ]); - } - - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::scroll-action', - this._optionalScrollCycleWindows.bind(this) - ]); - - this._numberOverlay(); - - this._previewMenuManager = null; - this._previewMenu = null; - } - - _onDestroy() { - super._onDestroy(); - - // This is necessary due to an upstream bug - // https://bugzilla.gnome.org/show_bug.cgi?id=757556 - // It can be safely removed once it get solved upstrea. - if (this._menu) - this._menu.close(false); - - // Disconect global signals - - if (this._windowsChangedId > 0) - this.app.disconnect(this._windowsChangedId); - this._windowsChangedId = 0; - - if (this._focusAppChangeId > 0) { - tracker.disconnect(this._focusAppChangeId); - this._focusAppChangeId = 0; - } - - this._signalsHandler.destroy(); - - if (this._scrollEventHandler) - this.actor.disconnect(this._scrollEventHandler); - } - - // TOOD Rename this function - _updateIndicatorStyle() { - - if (this._indicator !== null) { - this._indicator.destroy(); - this._indicator = null; - } - this._indicator = new AppIconIndicators.AppIconIndicator(this); - this._indicator.update(); - } - - _onWindowEntered(metaScreen, monitorIndex, metaWin) { - let app = Shell.WindowTracker.get_default().get_window_app(metaWin); - if (app && app.get_id() == this.app.get_id()) - this.onWindowsChanged(); - } - - _optionalScrollCycleWindows() { - if (this._scrollEventHandler) { - this.actor.disconnect(this._scrollEventHandler); - this._scrollEventHandler = 0; - } - - let settings = Docking.DockManager.settings; - let isEnabled = settings.get_enum('scroll-action') === scrollAction.CYCLE_WINDOWS; - if (!isEnabled) return; - this._scrollEventHandler = this.actor.connect('scroll-event', - this.onScrollEvent.bind(this)); - } - - onScrollEvent(actor, event) { - - // We only activate windows of running applications, i.e. we never open new windows - // 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 - && this.getInterestingWindows().length > 0; - - if (!appIsRunning) - return false - - if (this._optionalScrollCycleWindowsDeadTimeId) - return false; - else - this._optionalScrollCycleWindowsDeadTimeId = Mainloop.timeout_add(250, () => { - this._optionalScrollCycleWindowsDeadTimeId = 0; - }); - - let direction = null; - - switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - direction = Meta.MotionDirection.UP; - break; - case Clutter.ScrollDirection.DOWN: - direction = Meta.MotionDirection.DOWN; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - if (dy < 0) - direction = Meta.MotionDirection.UP; - else if (dy > 0) - direction = Meta.MotionDirection.DOWN; - break; - } - - let focusedApp = tracker.focus_app; - if (!Main.overview._shown) { - let reversed = direction === Meta.MotionDirection.UP; - if (this.app == focusedApp) - this._cycleThroughWindows(reversed); - else { - // Activate the first window - let windows = this.getInterestingWindows(); - if (windows.length > 0) { - let w = windows[0]; - Main.activateWindow(w); - } - } - } - else - this.app.activate(); - return true; - } - - onWindowsChanged() { - - if (this._menu && this._menu.isOpen) - this._menu.update(); - - this._indicator.update(); - this.updateIconGeometry(); - } - - /** - * Update taraget for minimization animation - */ - updateIconGeometry() { - // 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.getWindows(); - if (Docking.DockManager.settings.get_boolean('multi-monitor')) { - let monitorIndex = this.monitorIndex; - windows = windows.filter(function(w) { - return w.get_monitor() == monitorIndex; - }); - } - windows.forEach(function(w) { - w.set_icon_geometry(rect); - }); - } - - _updateRunningStyle() { - // The logic originally in this function has been moved to - // AppIconIndicatorBase._updateDefaultDot(). However it cannot be removed as - // it called by the parent constructor. - } - - popupMenu() { - this._removeMenuTimeout(); - this.actor.fake_release(); - this._draggable.fakeRelease(); - - if (!this._menu) { - this._menu = new MyAppIconMenu(this); - this._menu.connect('activate-window', (menu, window) => { - this.activateWindow(window); - }); - this._menu.connect('open-state-changed', (menu, isPoppedUp) => { - if (!isPoppedUp) - this._onMenuPoppedDown(); - else { - // Setting the max-height is s useful if part of the menu is - // scrollable so the minimum height is smaller than the natural height. - let monitor_index = Main.layoutManager.findIndexForActor(this.actor); - let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor_index); - let position = Utils.getPosition(); - this._isHorizontal = ( position == St.Side.TOP || - position == St.Side.BOTTOM); - // If horizontal also remove the height of the dash - let fixedDock = Docking.DockManager.settings.get_boolean('dock-fixed'); - let additional_margin = this._isHorizontal && !fixedDock ? Main.overview._dash.actor.height : 0; - let verticalMargins = this._menu.actor.margin_top + this._menu.actor.margin_bottom; - // Also set a max width to the menu, so long labels (long windows title) get truncated - this._menu.actor.style = ('max-height: ' + Math.round(workArea.height - additional_margin - verticalMargins) + 'px;' + - 'max-width: 400px'); - } - }); - let id = Main.overview.connect('hiding', () => { - 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.actor.set_hover(true); - this._menu.popup(); - this._menuManager.ignoreRelease(); - this.emit('sync-tooltip'); - - return false; - } - - _onFocusAppChanged() { - this._indicator.update(); - } - - activate(button) { - let event = Clutter.get_current_event(); - let modifiers = event ? event.get_state() : 0; - let focusedApp = tracker.focus_app; - - // 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 - super.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; - let settings = Docking.DockManager.settings; - if (button && button == 2 ) { - if (modifiers & Clutter.ModifierType.SHIFT_MASK) - buttonAction = settings.get_enum('shift-middle-click-action'); - else - buttonAction = settings.get_enum('middle-click-action'); - } - else if (button && button == 1) { - if (modifiers & Clutter.ModifierType.SHIFT_MASK) - buttonAction = settings.get_enum('shift-click-action'); - else - buttonAction = settings.get_enum('click-action'); - } - - // We check if the app is running, and that the # of windows is > 0 in - // case we use workspace isolation. - let windows = this.getInterestingWindows(); - let appIsRunning = (this.app.state == Shell.AppState.RUNNING || this.isLocation()) - && windows.length > 0; - - // Some action modes (e.g. MINIMIZE_OR_OVERVIEW) require overview to remain open - // This variable keeps track of this - let shouldHideOverview = true; - - // We customize the action only when the application is already running - if (appIsRunning) { - switch (buttonAction) { - case clickAction.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 (this.app == focusedApp || 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 click_count = 0; - if (Clutter.EventType.CLUTTER_BUTTON_PRESS) - click_count = event.get_click_count(); - let all_windows = (button == 1 && ! modifiers) || click_count > 1; - this._minimizeWindow(all_windows); - } - else - this._activateAllWindows(); - } - else { - let w = windows[0]; - Main.activateWindow(w); - } - break; - - case clickAction.MINIMIZE_OR_OVERVIEW: - // When a single window is present, toggle minimization - // If only one windows is present toggle minimization, but only when trigggered with the - // simple click action (no modifiers, no middle click). - if (windows.length == 1 && !modifiers && button == 1) { - let w = windows[0]; - if (this.app == focusedApp) { - // Window is raised, minimize it - this._minimizeWindow(w); - } else { - // Window is minimized, raise it - Main.activateWindow(w); - } - // Launch overview when multiple windows are present - // TODO: only show current app windows when gnome shell API will allow it - } else { - shouldHideOverview = false; - Main.overview.toggle(); - } - break; - - case clickAction.CYCLE_WINDOWS: - if (!Main.overview._shown){ - if (this.app == focusedApp) - this._cycleThroughWindows(); - else { - // Activate the first window - let w = windows[0]; - Main.activateWindow(w); - } - } - else - this.app.activate(); - break; - - case clickAction.FOCUS_OR_PREVIEWS: - if (this.app == focusedApp && - (windows.length > 1 || modifiers || button != 1)) { - this._windowPreviews(); - } else { - // Activate the first window - let w = windows[0]; - Main.activateWindow(w); - } - break; - - case clickAction.LAUNCH: - this.launchNewWindow(); - break; - - case clickAction.PREVIEWS: - if (!Main.overview._shown) { - // If only one windows is present just switch to it, but only when trigggered with the - // simple click action (no modifiers, no middle click). - if (windows.length == 1 && !modifiers && button == 1) { - let w = windows[0]; - Main.activateWindow(w); - } else - this._windowPreviews(); - } - else { - this.app.activate(); - } - break; - - case clickAction.MINIMIZE_OR_PREVIEWS: - // When a single window is present, toggle minimization - // If only one windows is present toggle minimization, but only when trigggered with the - // simple click action (no modifiers, no middle click). - if (!Main.overview._shown){ - if (windows.length == 1 && !modifiers && button == 1) { - let w = windows[0]; - if (this.app == focusedApp) { - // Window is raised, minimize it - this._minimizeWindow(w); - } else { - // Window is minimized, raise it - Main.activateWindow(w); - } - } else { - // Launch previews when multiple windows are present - this._windowPreviews(); - } - } else { - this.app.activate(); - } - break; - - case clickAction.QUIT: - this.closeAllWindows(); - break; - - case clickAction.SKIP: - let w = windows[0]; - Main.activateWindow(w); - break; - } - } - else { - this.launchNewWindow(); - } - - // Hide overview except when action mode requires it - if(shouldHideOverview) { - Main.overview.hide(); - } - } - - shouldShowTooltip() { - return this.actor.hover && (!this._menu || !this._menu.isOpen) && - (!this._previewMenu || !this._previewMenu.isOpen); - } - - _windowPreviews() { - if (!this._previewMenu) { - this._previewMenuManager = new PopupMenu.PopupMenuManager(this.actor); - - this._previewMenu = new WindowPreview.WindowPreviewMenu(this); - - this._previewMenuManager.addMenu(this._previewMenu); - - this._previewMenu.connect('open-state-changed', (menu, isPoppedUp) => { - if (!isPoppedUp) - this._onMenuPoppedDown(); - }); - let id = Main.overview.connect('hiding', () => { - this._previewMenu.close(); - }); - this._previewMenu.actor.connect('destroy', function() { - Main.overview.disconnect(id); - }); - - } - - if (this._previewMenu.isOpen) - this._previewMenu.close(); - else - this._previewMenu.popup(); - - return false; - } - - // Try to do the right thing when attempting to launch a new window of an app. In - // particular, if the application doens't allow to launch a new window, activate - // the existing window instead. - launchNewWindow(p) { - let appInfo = this.app.get_app_info(); - let actions = appInfo.list_actions(); - if (this.app.can_open_new_window()) { - this.animateLaunch(); - // This is used as a workaround for a bug resulting in no new windows being opened - // for certain running applications when calling open_new_window(). - // - // https://bugzilla.gnome.org/show_bug.cgi?id=756844 - // - // Similar to what done when generating the popupMenu entries, if the application provides - // a "New Window" action, use it instead of directly requesting a new window with - // open_new_window(), which fails for certain application, notably Nautilus. - if (actions.indexOf('new-window') == -1) { - this.app.open_new_window(-1); - } - else { - let i = actions.indexOf('new-window'); - if (i !== -1) - this.app.launch_action(actions[i], global.get_current_time(), -1); - } - } - else { - // Try to manually activate the first window. Otherwise, when the app is activated by - // switching to a different workspace, a launch spinning icon is shown and disappers only - // after a timeout. - let windows = this.getWindows(); - if (windows.length > 0) - Main.activateWindow(windows[0]) - else - this.app.activate(); - } - } - - _numberOverlay() { - // Add label for a Hot-Key visual aid - this._numberOverlayLabel = new St.Label(); - this._numberOverlayBin = new St.Bin({ - child: this._numberOverlayLabel, - x_align: St.Align.START, y_align: St.Align.START, - x_expand: true, y_expand: true - }); - this._numberOverlayLabel.add_style_class_name('number-overlay'); - this._numberOverlayOrder = -1; - this._numberOverlayBin.hide(); - - this._iconContainer.add_child(this._numberOverlayBin); - - } - - updateNumberOverlay() { - // 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. - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - // 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._iconContainer.get_preferred_width(-1); - let font_size = Math.round(Math.max(12, 0.3*natWidth) / scaleFactor); - let size = Math.round(font_size*1.2); - this._numberOverlayLabel.set_style( - 'font-size: ' + font_size + 'px;' + - 'border-radius: ' + this.icon.iconSize + 'px;' + - 'width: ' + size + 'px; height: ' + size +'px;' - ); - } - - setNumberOverlay(number) { - this._numberOverlayOrder = number; - this._numberOverlayLabel.set_text(number.toString()); - } - - toggleNumberOverlay(activate) { - if (activate && this._numberOverlayOrder > -1) { - this.updateNumberOverlay(); - this._numberOverlayBin.show(); - } - else - this._numberOverlayBin.hide(); - } - - _minimizeWindow(param) { - // Param true make all app windows minimize - let windows = this.getInterestingWindows(); - let current_workspace = global.workspace_manager.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. - _activateAllWindows() { - // First activate first window so workspace is switched if needed. - // We don't do this if isolation is on! - if (!Docking.DockManager.settings.get_boolean('isolate-workspaces') && - !Docking.DockManager.settings.get_boolean('isolate-monitors')) - this.app.activate(); - - // then activate all other app windows in the current workspace - let windows = this.getInterestingWindows(); - let activeWorkspace = global.workspace_manager.get_active_workspace_index(); - - if (windows.length <= 0) - return; - - let activatedWindows = 0; - - for (let i = windows.length - 1; i >= 0; i--) { - if (windows[i].get_workspace().index() == activeWorkspace) { - Main.activateWindow(windows[i]); - activatedWindows++; - } - } - } - - //This closes all windows of the app. - closeAllWindows() { - let windows = this.getInterestingWindows(); - for (let i = 0; i < windows.length; i++) - windows[i].delete(global.get_current_time()); - } - - _cycleThroughWindows(reversed) { - // 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 = this.getInterestingWindows(); - - if (app_windows.length <1) - return - - if (recentlyClickedAppLoopId > 0) - Mainloop.source_remove(recentlyClickedAppLoopId); - recentlyClickedAppLoopId = Mainloop.timeout_add(MEMORY_TIME, this._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. - let monitorIsolation = Docking.DockManager.settings.get_boolean('isolate-monitors'); - if (!recentlyClickedApp || - recentlyClickedApp.get_id() != this.app.get_id() || - recentlyClickedAppWindows.length != app_windows.length || - (recentlyClickedAppMonitor != this.monitorIndex && monitorIsolation)) { - recentlyClickedApp = this.app; - recentlyClickedAppWindows = app_windows; - recentlyClickedAppMonitor = this.monitorIndex; - recentlyClickedAppIndex = 0; - } - - if (reversed) { - recentlyClickedAppIndex--; - if (recentlyClickedAppIndex < 0) recentlyClickedAppIndex = recentlyClickedAppWindows.length - 1; - } else { - recentlyClickedAppIndex++; - } - let index = recentlyClickedAppIndex % recentlyClickedAppWindows.length; - let window = recentlyClickedAppWindows[index]; - - Main.activateWindow(window); - } - - _resetRecentlyClickedApp() { - if (recentlyClickedAppLoopId > 0) - Mainloop.source_remove(recentlyClickedAppLoopId); - recentlyClickedAppLoopId=0; - recentlyClickedApp =null; - recentlyClickedAppWindows = null; - recentlyClickedAppIndex = 0; - recentlyClickedAppMonitor = -1; - - return false; - } - - getWindows() { - return getWindows(this.app, this._location); - } - - // Filter out unnecessary windows, for instance - // nautilus desktop window. - getInterestingWindows() { - return getInterestingWindows(this.app, this.monitorIndex, this._location); - } - - // Does the Icon represent a location rather than an App - isLocation() { - return this._location != null; - } -}; -/** - * Extend AppIconMenu - * - * - set popup arrow side based on dash orientation - * - Add close windows option based on quitfromdash extension - * (https://github.com/deuill/shell-extension-quitfromdash) - * - Add open windows thumbnails instead of list - * - update menu when application windows change - */ -const MyAppIconMenu = class DashToDock_MyAppIconMenu extends AppDisplay.AppIconMenu { - - constructor(source) { - let side = Utils.getPosition(); - - // 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 - super(source); - - // Change the initialized side where required. - this._arrowSide = side; - this._boxPointer._arrowSide = side; - this._boxPointer._userArrowSide = side; - } - - _redisplay() { - this.removeAll(); - - if (Docking.DockManager.settings.get_boolean('show-windows-preview')) { - // Display the app windows menu items and the separator between windows - // of the current desktop and other windows. - - this._allWindowsMenuItem = new PopupMenu.PopupSubMenuMenuItem(__('All Windows'), false); - this._allWindowsMenuItem.actor.hide(); - this.addMenuItem(this._allWindowsMenuItem); - - if (!this._source.app.is_window_backed()) { - this._appendSeparator(); - - let appInfo = this._source.app.get_app_info(); - let actions = appInfo.list_actions(); - if (this._source.app.can_open_new_window() && - actions.indexOf('new-window') == -1) { - this._newWindowMenuItem = this._appendMenuItem(_("New Window")); - this._newWindowMenuItem.connect('activate', () => { - if (this._source.app.state == Shell.AppState.STOPPED) - this._source.animateLaunch(); - - this._source.app.open_new_window(-1); - this.emit('activate-window', null); - }); - this._appendSeparator(); - } - - - if (AppDisplay.discreteGpuAvailable && - this._source.app.state == Shell.AppState.STOPPED && - actions.indexOf('activate-discrete-gpu') == -1) { - this._onDiscreteGpuMenuItem = this._appendMenuItem(_("Launch using Dedicated Graphics Card")); - this._onDiscreteGpuMenuItem.connect('activate', () => { - if (this._source.app.state == Shell.AppState.STOPPED) - this._source.animateLaunch(); - - this._source.app.launch(0, -1, true); - this.emit('activate-window', null); - }); - } - - for (let i = 0; i < actions.length; i++) { - let action = actions[i]; - let item = this._appendMenuItem(appInfo.get_action_name(action)); - item.connect('activate', (emitter, event) => { - this._source.app.launch_action(action, event.get_time(), -1); - this.emit('activate-window', null); - }); - } - - let canFavorite = global.settings.is_writable('favorite-apps') && - !this._source.isLocation(); - - if (canFavorite) { - this._appendSeparator(); - - let isFavorite = AppFavorites.getAppFavorites().isFavorite(this._source.app.get_id()); - - if (isFavorite) { - let item = this._appendMenuItem(_("Remove from Favorites")); - item.connect('activate', () => { - let favs = AppFavorites.getAppFavorites(); - favs.removeFavorite(this._source.app.get_id()); - }); - } else { - let item = this._appendMenuItem(_("Add to Favorites")); - item.connect('activate', () => { - let favs = AppFavorites.getAppFavorites(); - favs.addFavorite(this._source.app.get_id()); - }); - } - } - - if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop') && - !this._source.isLocation()) { - this._appendSeparator(); - let item = this._appendMenuItem(_("Show Details")); - item.connect('activate', () => { - let id = this._source.app.get_id(); - let args = GLib.Variant.new('(ss)', [id, '']); - Gio.DBus.get(Gio.BusType.SESSION, null, - function(o, res) { - let bus = Gio.DBus.get_finish(res); - bus.call('org.gnome.Software', - '/org/gnome/Software', - 'org.gtk.Actions', 'Activate', - GLib.Variant.new('(sava{sv})', - ['details', [args], null]), - null, 0, -1, null, null); - Main.overview.hide(); - }); - }); - } - } - - } else { - super._redisplay(); - } - - // quit menu - this._appendSeparator(); - this._quitfromDashMenuItem = this._appendMenuItem(_("Quit")); - this._quitfromDashMenuItem.connect('activate', () => { - this._source.closeAllWindows(); - }); - - this.update(); - } - - // update menu content when application windows change. This is desirable as actions - // acting on windows (closing) are performed while the menu is shown. - update() { - - if(Docking.DockManager.settings.get_boolean('show-windows-preview')){ - - let windows = this._source.getInterestingWindows(); - - // update, show or hide the quit menu - if ( windows.length > 0) { - let quitFromDashMenuText = ""; - if (windows.length == 1) - this._quitfromDashMenuItem.label.set_text(_("Quit")); - else - this._quitfromDashMenuItem.label.set_text(_("Quit %d Windows").format(windows.length)); - - this._quitfromDashMenuItem.actor.show(); - - } else { - this._quitfromDashMenuItem.actor.hide(); - } - - // update, show, or hide the allWindows menu - // Check if there are new windows not already displayed. In such case, repopulate the allWindows - // menu. Windows removal is already handled by each preview being connected to the destroy signal - let old_windows = this._allWindowsMenuItem.menu._getMenuItems().map(function(item){ - return item._window; - }); - - let new_windows = windows.filter(function(w) {return old_windows.indexOf(w) < 0;}); - if (new_windows.length > 0) { - this._populateAllWindowMenu(windows); - - // Try to set the width to that of the submenu. - // TODO: can't get the actual size, getting a bit less. - // Temporary workaround: add 15px to compensate - this._allWindowsMenuItem.actor.width = this._allWindowsMenuItem.menu.actor.width + 15; - - } - - // The menu is created hidden and never hidded after being shown. Instead, a singlal - // connected to its items destroy will set is insensitive if no more windows preview are shown. - if (windows.length > 0){ - this._allWindowsMenuItem.actor.show(); - this._allWindowsMenuItem.setSensitive(true); - } - - // Update separators - this._getMenuItems().forEach(this._updateSeparatorVisibility.bind(this)); - } - - - } - - _populateAllWindowMenu(windows) { - - this._allWindowsMenuItem.menu.removeAll(); - - if (windows.length > 0) { - - let activeWorkspace = global.workspace_manager.get_active_workspace(); - let separatorShown = windows[0].get_workspace() != activeWorkspace; - - for (let i = 0; i < windows.length; i++) { - let window = windows[i]; - if (!separatorShown && window.get_workspace() != activeWorkspace) { - this._allWindowsMenuItem.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - separatorShown = true; - } - - let item = new WindowPreview.WindowPreviewMenuItem(window); - this._allWindowsMenuItem.menu.addMenuItem(item); - item.connect('activate', () => { - this.emit('activate-window', window); - }); - - // This is to achieve a more gracefull transition when the last windows is closed. - item.connect('destroy', () => { - if(this._allWindowsMenuItem.menu._getMenuItems().length == 1) // It's still counting the item just going to be destroyed - this._allWindowsMenuItem.setSensitive(false); - }); - } - } - } -}; -Signals.addSignalMethods(MyAppIconMenu.prototype); - -function getWindows(app, location) { - if (location != null && Docking.DockManager.getDefault().fm1Client) { - return Docking.DockManager.getDefault().fm1Client.getWindows(location); - } else { - return app.get_windows(); - } -} - -// Filter out unnecessary windows, for instance -// nautilus desktop window. -function getInterestingWindows(app, monitorIndex, location) { - let windows = getWindows(app, location).filter(function(w) { - return !w.skip_taskbar; - }); - - let settings = Docking.DockManager.settings; - - // When using workspace isolation, we filter out windows - // that are not in the current workspace - if (settings.get_boolean('isolate-workspaces')) - windows = windows.filter(function(w) { - return w.get_workspace().index() == global.workspace_manager.get_active_workspace_index(); - }); - - if (settings.get_boolean('isolate-monitors')) - windows = windows.filter(function(w) { - return w.get_monitor() == monitorIndex; - }); - - return windows; -} - -/** - * A ShowAppsIcon improved class. - * - * - 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) - * - */ - -var MyShowAppsIcon = GObject.registerClass({ - Signals: { - 'menu-state-changed': { param_types: [GObject.TYPE_BOOLEAN] }, - 'sync-tooltip': {} - } -} -, class DashToDock_MyShowAppsIcon extends Dash.ShowAppsIcon { - _init() { - super._init(); - - // Re-use appIcon methods - let appIconPrototype = AppDisplay.AppIcon.prototype; - this.actor.connect('leave-event', appIconPrototype._onLeaveEvent.bind(this)); - this.actor.connect('button-press-event', appIconPrototype._onButtonPress.bind(this)); - this.actor.connect('touch-event', appIconPrototype._onTouchEvent.bind(this)); - this.actor.connect('popup-menu', appIconPrototype._onKeyboardPopupMenu.bind(this)); - this.actor.connect('clicked', this._removeMenuTimeout.bind(this)); - - this._menu = null; - this._menuManager = new PopupMenu.PopupMenuManager(this.actor); - this._menuTimeoutId = 0; - } - - get actor() { - /* Until GNOME Shell AppIcon is an actor we need to provide this - * compatibility layer or the shell won't be able to access to the - * actual actor */ - return this.toggleButton; - } - - showLabel() { - itemShowLabel.call(this); - } - - _onMenuPoppedDown() { - AppDisplay.AppIcon.prototype._onMenuPoppedDown.apply(this, arguments); - } - - _setPopupTimeout() { - AppDisplay.AppIcon.prototype._onMenuPoppedDown.apply(this, arguments); - } - - _removeMenuTimeout() { - AppDisplay.AppIcon.prototype._removeMenuTimeout.apply(this, arguments); - } - - popupMenu() { - this._removeMenuTimeout(); - this.actor.fake_release(); - - if (!this._menu) { - this._menu = new MyShowAppsIconMenu(this); - this._menu.connect('open-state-changed', (menu, isPoppedUp) => { - if (!isPoppedUp) - this._onMenuPoppedDown(); - }); - let id = Main.overview.connect('hiding', () => { - 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.actor.set_hover(true); - this._menu.popup(); - this._menuManager.ignoreRelease(); - this.emit('sync-tooltip'); - - return false; - } -}); - - -/** - * A menu for the showAppsIcon - */ -var MyShowAppsIconMenu = class DashToDock_MyShowAppsIconMenu extends MyAppIconMenu { - _redisplay() { - this.removeAll(); - - /* Translators: %s is "Settings", which is automatically translated. You - can also translate the full message if this fits better your language. */ - let name = __('Dash to Dock %s').format(_('Settings')) - let item = this._appendMenuItem(name); - - item.connect('activate', function () { - Util.spawn(["gnome-shell-extension-prefs", Me.metadata.uuid]); - }); - } -}; - -/** - * This function is used for both extendShowAppsIcon and extendDashItemContainer - */ -function itemShowLabel() { - // Check if the label is still present at all. When switching workpaces, the - // item might have been destroyed in between. - if (!this._labelText || this.label.get_stage() == null) - 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 x, y, xOffset, yOffset; - - let position = Utils.getPosition(); - this._isHorizontal = ((position == St.Side.TOP) || (position == St.Side.BOTTOM)); - let labelOffset = node.get_length('-x-offset'); - - switch (position) { - case St.Side.LEFT: - yOffset = Math.floor((itemHeight - labelHeight) / 2); - y = stageY + yOffset; - xOffset = labelOffset; - x = stageX + this.get_width() + xOffset; - break; - case St.Side.RIGHT: - yOffset = Math.floor((itemHeight - labelHeight) / 2); - y = stageY + yOffset; - xOffset = labelOffset; - x = Math.round(stageX) - labelWidth - xOffset; - break; - case St.Side.TOP: - y = stageY + labelOffset + itemHeight; - xOffset = Math.floor((itemWidth - labelWidth) / 2); - x = stageX + xOffset; - break; - case St.Side.BOTTOM: - yOffset = labelOffset; - y = stageY - labelHeight - yOffset; - xOffset = Math.floor((itemWidth - labelWidth) / 2); - x = stageX + xOffset; - break; - } - - // keep the label inside the screen border - // Only needed fot the x coordinate. - - // Leave a few pixel gap - let gap = 5; - 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.remove_all_transitions(); - this.label.set_position(x, y); - this.label.ease({ - opacity: 255, - duration: Dash.DASH_ITEM_LABEL_SHOW_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD - }); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js deleted file mode 100644 index cb245f8c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js +++ /dev/null @@ -1,1202 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Clutter = imports.gi.Clutter; -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Signals = imports.signals; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; - -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 Docking = Me.imports.docking; -const Utils = Me.imports.utils; -const AppIcons = Me.imports.appIcons; -const Locations = Me.imports.locations; - -const DASH_ANIMATION_TIME = Dash.DASH_ANIMATION_TIME; -const DASH_ITEM_LABEL_HIDE_TIME = Dash.DASH_ITEM_LABEL_HIDE_TIME; -const DASH_ITEM_HOVER_TIMEOUT = Dash.DASH_ITEM_HOVER_TIMEOUT; - -/** - * Extend DashItemContainer - * - * - set label position based on dash orientation - * - */ -let MyDashItemContainer = GObject.registerClass( -class DashToDock_MyDashItemContainer extends Dash.DashItemContainer { - - showLabel() { - return AppIcons.itemShowLabel.call(this); - } -}); - -/** - * This class is a fork of the upstream DashActor class (ui.dash.js) - * - * Summary of changes: - * - modified chldBox calculations for when 'show-apps-at-top' option is checked - * - handle horizontal dash - */ -var MyDashActor = GObject.registerClass( -class DashToDock_MyDashActor extends St.Widget { - - _init() { - // a prefix is required to avoid conflicting with the parent class variable - this._rtl = (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL); - - this._position = Utils.getPosition(); - this._isHorizontal = ((this._position == St.Side.TOP) || - (this._position == St.Side.BOTTOM)); - - let layout = new Clutter.BoxLayout({ - orientation: this._isHorizontal ? Clutter.Orientation.HORIZONTAL : Clutter.Orientation.VERTICAL - }); - - super._init({ - name: 'dash', - layout_manager: layout, - clip_to_allocation: true - }); - - // 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); - } - - vfunc_allocate(box, flags) { - this.set_allocation(box, flags); - let contentBox = box; - let availWidth = contentBox.x2 - contentBox.x1; - let availHeight = contentBox.y2 - contentBox.y1; - - let [appIcons, showAppsButton] = this.get_children(); - let [showAppsMinHeight, showAppsNatHeight] = showAppsButton.get_preferred_height(availWidth); - let [showAppsMinWidth, showAppsNatWidth] = showAppsButton.get_preferred_width(availHeight); - - let offset_x = this._isHorizontal?showAppsNatWidth:0; - let offset_y = this._isHorizontal?0:showAppsNatHeight; - - let childBox = new Clutter.ActorBox(); - let settings = Docking.DockManager.settings; - if ((settings.get_boolean('show-apps-at-top') && !this._isHorizontal) - || (settings.get_boolean('show-apps-at-top') && !this._rtl) - || (!settings.get_boolean('show-apps-at-top') && this._isHorizontal && this._rtl)) { - childBox.x1 = contentBox.x1 + offset_x; - childBox.y1 = contentBox.y1 + offset_y; - childBox.x2 = contentBox.x2; - childBox.y2 = contentBox.y2; - appIcons.allocate(childBox, flags); - - childBox.y1 = contentBox.y1; - childBox.x1 = contentBox.x1; - childBox.x2 = contentBox.x1 + showAppsNatWidth; - childBox.y2 = contentBox.y1 + showAppsNatHeight; - showAppsButton.allocate(childBox, flags); - } - else { - childBox.x1 = contentBox.x1; - childBox.y1 = contentBox.y1; - childBox.x2 = contentBox.x2 - offset_x; - childBox.y2 = contentBox.y2 - offset_y; - appIcons.allocate(childBox, flags); - - childBox.x2 = contentBox.x2; - childBox.y2 = contentBox.y2; - childBox.x1 = contentBox.x2 - showAppsNatWidth; - childBox.y1 = contentBox.y2 - showAppsNatHeight; - showAppsButton.allocate(childBox, flags); - } - } - - vfunc_get_preferred_width(forHeight) { - // We want to request the natural height of all our children - // as our natural height, so we chain up to StWidget (which - // then calls BoxLayout), but we only request the showApps - // button as the minimum size - - let [, natWidth] = this.layout_manager.get_preferred_width(this, forHeight); - - let themeNode = this.get_theme_node(); - let [, showAppsButton] = this.get_children(); - let [minWidth, ] = showAppsButton.get_preferred_height(forHeight); - - return [minWidth, natWidth]; - } - - vfunc_get_preferred_height(forWidth) { - // We want to request the natural height of all our children - // as our natural height, so we chain up to StWidget (which - // then calls BoxLayout), but we only request the showApps - // button as the minimum size - - let [, natHeight] = this.layout_manager.get_preferred_height(this, forWidth); - - let themeNode = this.get_theme_node(); - let [, showAppsButton] = this.get_children(); - let [minHeight, ] = showAppsButton.get_preferred_height(forWidth); - - return [minHeight, natHeight]; - } -}); - -const baseIconSizes = [16, 22, 24, 32, 48, 64, 96, 128]; - -/** - * This class is a fork of the upstream dash class (ui.dash.js) - * - * Summary of changes: - * - disconnect global signals adding a destroy method; - * - play animations even when not in overview mode - * - set a maximum icon size - * - show running and/or favorite applications - * - hide showApps label when the custom menu is shown. - * - add scrollview - * ensure actor is visible on keyfocus inseid the scrollview - * - add 128px icon size, might be usefull for hidpi display - * - sync minimization application target position. - * - keep running apps ordered. - */ -var MyDash = GObject.registerClass({ - Signals: { - 'menu-closed': {}, - 'icon-size-changed': {}, - } -}, class DashToDock_MyDash extends St.Bin { - - _init(remoteModel, monitorIndex) { - // Initialize icon variables and size - this._maxHeight = -1; - this.iconSize = Docking.DockManager.settings.get_int('dash-max-icon-size'); - this._availableIconSizes = baseIconSizes; - this._shownInitially = false; - this._initializeIconSize(this.iconSize); - - this._remoteModel = remoteModel; - this._monitorIndex = monitorIndex; - this._position = Utils.getPosition(); - this._isHorizontal = ((this._position == St.Side.TOP) || - (this._position == St.Side.BOTTOM)); - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._dragPlaceholder = null; - this._dragPlaceholderPos = -1; - this._animatingPlaceholdersCount = 0; - this._showLabelTimeoutId = 0; - this._resetHoverTimeoutId = 0; - this._ensureAppIconVisibilityTimeoutId = 0; - this._labelShowing = false; - - this._container = new MyDashActor(); - this._scrollView = new St.ScrollView({ - name: 'dashtodockDashScrollview', - hscrollbar_policy: Gtk.PolicyType.NEVER, - vscrollbar_policy: Gtk.PolicyType.NEVER, - enable_mouse_scrolling: false - }); - - this._scrollView.connect('scroll-event', this._onScrollEvent.bind(this)); - - this._box = new St.BoxLayout({ - vertical: !this._isHorizontal, - clip_to_allocation: false, - x_align: Clutter.ActorAlign.START, - y_align: Clutter.ActorAlign.START - }); - this._box._delegate = this; - this._container.add_actor(this._scrollView); - this._scrollView.add_actor(this._box); - - // Create a wrapper around the real showAppsIcon in order to add a popupMenu. - this._showAppsIcon = new AppIcons.MyShowAppsIcon(); - this._showAppsIcon.show(); - this._showAppsIcon.icon.setIconSize(this.iconSize); - this._hookUpLabel(this._showAppsIcon); - this._showAppsIcon.connect('menu-state-changed', (_icon, opened) => { - this._itemMenuStateChanged(this._showAppsIcon, opened); - }); - - this._container.add_actor(this._showAppsIcon); - - let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL; - super._init({ - child: this._container, - y_align: St.Align.START, - x_align: rtl ? St.Align.END : St.Align.START - }); - - if (this._isHorizontal) { - this.connect('notify::width', () => { - if (this._maxHeight != this.width) - this._queueRedisplay(); - this._maxHeight = this.width; - }); - } - else { - this.connect('notify::height', () => { - if (this._maxHeight != this.height) - this._queueRedisplay(); - this._maxHeight = this.height; - }); - } - - // Update minimization animation target position on allocation of the - // container and on scrollview change. - this._box.connect('notify::allocation', this._updateAppsIconGeometry.bind(this)); - let scrollViewAdjustment = this._isHorizontal ? this._scrollView.hscroll.adjustment : this._scrollView.vscroll.adjustment; - scrollViewAdjustment.connect('notify::value', this._updateAppsIconGeometry.bind(this)); - - this._workId = Main.initializeDeferredWork(this._box, this._redisplay.bind(this)); - - this._shellSettings = new Gio.Settings({ - schema_id: 'org.gnome.shell' - }); - - this._appSystem = Shell.AppSystem.get_default(); - - this._signalsHandler.add([ - this._appSystem, - 'installed-changed', - () => { - AppFavorites.getAppFavorites().reload(); - this._queueRedisplay(); - } - ], [ - AppFavorites.getAppFavorites(), - 'changed', - this._queueRedisplay.bind(this) - ], [ - this._appSystem, - 'app-state-changed', - this._queueRedisplay.bind(this) - ], [ - Main.overview, - 'item-drag-begin', - this._onDragBegin.bind(this) - ], [ - Main.overview, - 'item-drag-end', - this._onDragEnd.bind(this) - ], [ - Main.overview, - 'item-drag-cancelled', - this._onDragCancelled.bind(this) - ]); - - this.connect('destroy', this._onDestroy.bind(this)); - } - - _onDestroy() { - this._signalsHandler.destroy(); - } - - _onScrollEvent(actor, event) { - // If scroll is not used because the icon is resized, let the scroll event propagate. - if (!Docking.DockManager.settings.get_boolean('icon-size-fixed')) - return Clutter.EVENT_PROPAGATE; - - // reset timeout to avid conflicts with the mousehover event - if (this._ensureAppIconVisibilityTimeoutId > 0) { - Mainloop.source_remove(this._ensureAppIconVisibilityTimeoutId); - this._ensureAppIconVisibilityTimeoutId = 0; - } - - // Skip to avoid double events mouse - if (event.is_pointer_emulated()) - return Clutter.EVENT_STOP; - - let adjustment, delta; - - if (this._isHorizontal) - adjustment = this._scrollView.get_hscroll_bar().get_adjustment(); - else - adjustment = this._scrollView.get_vscroll_bar().get_adjustment(); - - let increment = adjustment.step_increment; - - switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - delta = -increment; - break; - case Clutter.ScrollDirection.DOWN: - delta = +increment; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - delta = dy * increment; - // Also consider horizontal component, for instance touchpad - if (this._isHorizontal) - delta += dx * increment; - break; - } - - adjustment.set_value(adjustment.get_value() + delta); - - return Clutter.EVENT_STOP; - } - - _onDragBegin() { - this._dragCancelled = false; - this._dragMonitor = { - dragMotion: this._onDragMotion.bind(this) - }; - DND.addDragMonitor(this._dragMonitor); - - if (this._box.get_n_children() == 0) { - this._emptyDropTarget = new Dash.EmptyDropTargetItem(); - this._box.insert_child_at_index(this._emptyDropTarget, 0); - this._emptyDropTarget.show(true); - } - } - - _onDragCancelled() { - this._dragCancelled = true; - this._endDrag(); - } - - _onDragEnd() { - if (this._dragCancelled) - return; - - this._endDrag(); - } - - _endDrag() { - this._clearDragPlaceholder(); - this._clearEmptyDropTarget(); - this._showAppsIcon.setDragApp(null); - DND.removeDragMonitor(this._dragMonitor); - } - - _onDragMotion(dragEvent) { - let app = Dash.getAppFromSource(dragEvent.source); - if (app == null) - return DND.DragMotionResult.CONTINUE; - - let showAppsHovered = this._showAppsIcon.contains(dragEvent.targetActor); - - if (!this._box.contains(dragEvent.targetActor) || showAppsHovered) - this._clearDragPlaceholder(); - - if (showAppsHovered) - this._showAppsIcon.setDragApp(app); - else - this._showAppsIcon.setDragApp(null); - - return DND.DragMotionResult.CONTINUE; - } - - _appIdListToHash(apps) { - let ids = {}; - for (let i = 0; i < apps.length; i++) - ids[apps[i].get_id()] = apps[i]; - return ids; - } - - _queueRedisplay() { - Main.queueDeferredWork(this._workId); - } - - _hookUpLabel(item, appIcon) { - item.child.connect('notify::hover', () => { - this._syncLabel(item, appIcon); - }); - - let id = Main.overview.connect('hiding', () => { - this._labelShowing = false; - item.hideLabel(); - }); - item.child.connect('destroy', function() { - Main.overview.disconnect(id); - }); - - if (appIcon) { - appIcon.connect('sync-tooltip', () => { - this._syncLabel(item, appIcon); - }); - } - } - - _createAppItem(app) { - let appIcon = new AppIcons.MyAppIcon(this._remoteModel, app, - this._monitorIndex, - { setSizeManually: true, - showLabel: false }); - - if (appIcon._draggable) { - appIcon._draggable.connect('drag-begin', () => { - appIcon.actor.opacity = 50; - }); - appIcon._draggable.connect('drag-end', () => { - appIcon.actor.opacity = 255; - }); - } - - appIcon.connect('menu-state-changed', (appIcon, opened) => { - this._itemMenuStateChanged(item, opened); - }); - - let item = new MyDashItemContainer(); - item.setChild(appIcon.actor); - - appIcon.actor.connect('notify::hover', () => { - if (appIcon.actor.hover) { - this._ensureAppIconVisibilityTimeoutId = Mainloop.timeout_add(100, () => { - ensureActorVisibleInScrollView(this._scrollView, appIcon.actor); - this._ensureAppIconVisibilityTimeoutId = 0; - return GLib.SOURCE_REMOVE; - }); - } - else { - if (this._ensureAppIconVisibilityTimeoutId > 0) { - Mainloop.source_remove(this._ensureAppIconVisibilityTimeoutId); - this._ensureAppIconVisibilityTimeoutId = 0; - } - } - }); - - appIcon.actor.connect('clicked', (actor) => { - ensureActorVisibleInScrollView(this._scrollView, actor); - }); - - appIcon.actor.connect('key-focus-in', (actor) => { - let [x_shift, y_shift] = ensureActorVisibleInScrollView(this._scrollView, actor); - - // This signal is triggered also by mouse click. The popup menu is opened at the original - // coordinates. Thus correct for the shift which is going to be applied to the scrollview. - if (appIcon._menu) { - appIcon._menu._boxPointer.xOffset = -x_shift; - appIcon._menu._boxPointer.yOffset = -y_shift; - } - }); - - // Override default AppIcon label_actor, now the - // accessible_name is set at DashItemContainer.setLabelText - appIcon.actor.label_actor = null; - item.setLabelText(app.get_name()); - - appIcon.icon.setIconSize(this.iconSize); - this._hookUpLabel(item, appIcon); - - return item; - } - - /** - * Return an array with the "proper" appIcons currently in the dash - */ - getAppIcons() { - // Only consider children which are "proper" - // icons (i.e. ignoring drag placeholders) and which are not - // animating out (which means they will be destroyed at the end of - // the animation) - let iconChildren = this._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.icon && - !actor.animatingOut; - }); - - let appIcons = iconChildren.map(function(actor) { - return actor.child._delegate; - }); - - return appIcons; - } - - _updateAppsIconGeometry() { - let appIcons = this.getAppIcons(); - appIcons.forEach(function(icon) { - icon.updateIconGeometry(); - }); - } - - _itemMenuStateChanged(item, opened) { - // When the menu closes, it calls sync_hover, which means - // that the notify::hover handler does everything we need to. - if (opened) { - if (this._showLabelTimeoutId > 0) { - Mainloop.source_remove(this._showLabelTimeoutId); - this._showLabelTimeoutId = 0; - } - - item.label.opacity = 0; - item.label.hide(); - } - else { - // I want to listen from outside when a menu is closed. I used to - // add a custom signal to the appIcon, since gnome 3.8 the signal - // calling this callback was added upstream. - this.emit('menu-closed'); - } - } - - _syncLabel(item, appIcon) { - let shouldShow = appIcon ? appIcon.shouldShowTooltip() : item.child.get_hover(); - - if (shouldShow) { - if (this._showLabelTimeoutId == 0) { - let timeout = this._labelShowing ? 0 : DASH_ITEM_HOVER_TIMEOUT; - this._showLabelTimeoutId = Mainloop.timeout_add(timeout, () => { - this._labelShowing = true; - item.showLabel(); - this._showLabelTimeoutId = 0; - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(this._showLabelTimeoutId, '[gnome-shell] item.showLabel'); - if (this._resetHoverTimeoutId > 0) { - Mainloop.source_remove(this._resetHoverTimeoutId); - this._resetHoverTimeoutId = 0; - } - } - } - else { - if (this._showLabelTimeoutId > 0) - Mainloop.source_remove(this._showLabelTimeoutId); - this._showLabelTimeoutId = 0; - item.hideLabel(); - if (this._labelShowing) { - this._resetHoverTimeoutId = Mainloop.timeout_add(DASH_ITEM_HOVER_TIMEOUT, () => { - this._labelShowing = false; - this._resetHoverTimeoutId = 0; - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(this._resetHoverTimeoutId, '[gnome-shell] this._labelShowing'); - } - } - } - - _adjustIconSize() { - // For the icon size, we only consider children which are "proper" - // icons (i.e. ignoring drag placeholders) and which are not - // animating out (which means they will be destroyed at the end of - // the animation) - let iconChildren = this._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.icon && - !actor.animatingOut; - }); - - iconChildren.push(this._showAppsIcon); - - if (this._maxHeight == -1) - return; - - // Check if the container is present in the stage. This avoids critical - // errors when unlocking the screen - if (!this._container.get_stage()) - return; - - let themeNode = this._container.get_theme_node(); - let maxAllocation = new Clutter.ActorBox({ - x1: 0, - y1: 0, - x2: this._isHorizontal ? this._maxHeight : 42 /* whatever */, - y2: this._isHorizontal ? 42 : this._maxHeight - }); - let maxContent = themeNode.get_content_box(maxAllocation); - let availHeight; - if (this._isHorizontal) - availHeight = maxContent.x2 - maxContent.x1; - else - availHeight = maxContent.y2 - maxContent.y1; - let spacing = themeNode.get_length('spacing'); - - let firstButton = iconChildren[0].child; - let firstIcon = firstButton._delegate.icon; - - let minHeight, natHeight, minWidth, natWidth; - - // Enforce the current icon size during the size request - firstIcon.setIconSize(this.iconSize); - [minHeight, natHeight] = firstButton.get_preferred_height(-1); - [minWidth, natWidth] = firstButton.get_preferred_width(-1); - - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let iconSizes = this._availableIconSizes.map(function(s) { - return s * scaleFactor; - }); - - // Subtract icon padding and box spacing from the available height - if (this._isHorizontal) - availHeight -= iconChildren.length * (natWidth - this.iconSize * scaleFactor) + - (iconChildren.length - 1) * spacing; - else - availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) + - (iconChildren.length - 1) * spacing; - - let availSize = availHeight / iconChildren.length; - - - let newIconSize = this._availableIconSizes[0]; - for (let i = 0; i < iconSizes.length; i++) { - if (iconSizes[i] < availSize) - newIconSize = this._availableIconSizes[i]; - } - - if (newIconSize == this.iconSize) - return; - - let oldIconSize = this.iconSize; - this.iconSize = newIconSize; - this.emit('icon-size-changed'); - - let scale = oldIconSize / newIconSize; - for (let i = 0; i < iconChildren.length; i++) { - let icon = iconChildren[i].child._delegate.icon; - - // Set the new size immediately, to keep the icons' sizes - // in sync with this.iconSize - icon.setIconSize(this.iconSize); - - // Don't animate the icon size change when the overview - // is transitioning, or when initially filling - // the dash - if (Main.overview.animationInProgress || - !this._shownInitially) - continue; - - let [targetWidth, targetHeight] = icon.icon.get_size(); - - // Scale the icon's texture to the previous size and - // tween to the new size - icon.icon.set_size(icon.icon.width * scale, - icon.icon.height * scale); - - icon.icon.remove_all_transitions(); - icon.icon.ease({ - width: targetWidth, - height: targetHeight, - time: DASH_ANIMATION_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD - }); - } - } - - _redisplay() { - let favorites = AppFavorites.getAppFavorites().getFavoriteMap(); - - let running = this._appSystem.get_running(); - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) { - // When using isolation, we filter out apps that have no windows in - // the current workspace - let monitorIndex = this._monitorIndex; - running = running.filter(function(_app) { - return AppIcons.getInterestingWindows(_app, monitorIndex).length != 0; - }); - } - - let children = this._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.app; - }); - // Apps currently in the dash - let oldApps = children.map(function(actor) { - return actor.child._delegate.app; - }); - // Apps supposed to be in the dash - let newApps = []; - - if (settings.get_boolean('show-favorites')) { - for (let id in favorites) - newApps.push(favorites[id]); - } - - // We reorder the running apps so that they don't change position on the - // dash with every redisplay() call - if (settings.get_boolean('show-running')) { - // First: add the apps from the oldApps list that are still running - for (let i = 0; i < oldApps.length; i++) { - let index = running.indexOf(oldApps[i]); - if (index > -1) { - let app = running.splice(index, 1)[0]; - if (settings.get_boolean('show-favorites') && (app.get_id() in favorites)) - continue; - newApps.push(app); - } - } - // Second: add the new apps - for (let i = 0; i < running.length; i++) { - let app = running[i]; - if (settings.get_boolean('show-favorites') && (app.get_id() in favorites)) - continue; - newApps.push(app); - } - } - - if (settings.get_boolean('show-mounts')) { - if (!this._removables) { - this._removables = new Locations.Removables(); - this._signalsHandler.addWithLabel('show-mounts', - [ this._removables, - 'changed', - this._queueRedisplay.bind(this) ]); - } - Array.prototype.push.apply(newApps, this._removables.getApps()); - } else if (this._removables) { - this._signalsHandler.removeWithLabel('show-mounts'); - this._removables.destroy(); - this._removables = null; - } - - if (settings.get_boolean('show-trash')) { - if (!this._trash) { - this._trash = new Locations.Trash(); - this._signalsHandler.addWithLabel('show-trash', - [ this._trash, - 'changed', - this._queueRedisplay.bind(this) ]); - } - newApps.push(this._trash.getApp()); - } else if (this._trash) { - this._signalsHandler.removeWithLabel('show-trash'); - this._trash.destroy(); - this._trash = null; - } - - // Figure out the actual changes to the list of items; we iterate - // over both the list of items currently in the dash and the list - // of items expected there, and collect additions and removals. - // Moves are both an addition and a removal, where the order of - // the operations depends on whether we encounter the position - // where the item has been added first or the one from where it - // was removed. - // There is an assumption that only one item is moved at a given - // time; when moving several items at once, everything will still - // end up at the right position, but there might be additional - // additions/removals (e.g. it might remove all the launchers - // and add them back in the new order even if a smaller set of - // additions and removals is possible). - // If above assumptions turns out to be a problem, we might need - // to use a more sophisticated algorithm, e.g. Longest Common - // Subsequence as used by diff. - - let addedItems = []; - let removedActors = []; - - let newIndex = 0; - let oldIndex = 0; - while ((newIndex < newApps.length) || (oldIndex < oldApps.length)) { - // No change at oldIndex/newIndex - if (oldApps[oldIndex] && oldApps[oldIndex] == newApps[newIndex]) { - oldIndex++; - newIndex++; - continue; - } - - // App removed at oldIndex - if (oldApps[oldIndex] && (newApps.indexOf(oldApps[oldIndex]) == -1)) { - removedActors.push(children[oldIndex]); - oldIndex++; - continue; - } - - // App added at newIndex - if (newApps[newIndex] && (oldApps.indexOf(newApps[newIndex]) == -1)) { - let newItem = this._createAppItem(newApps[newIndex]); - addedItems.push({ app: newApps[newIndex], - item: newItem, - pos: newIndex }); - newIndex++; - continue; - } - - // App moved - let insertHere = newApps[newIndex + 1] && (newApps[newIndex + 1] == oldApps[oldIndex]); - let alreadyRemoved = removedActors.reduce(function(result, actor) { - let removedApp = actor.child._delegate.app; - return result || removedApp == newApps[newIndex]; - }, false); - - if (insertHere || alreadyRemoved) { - let newItem = this._createAppItem(newApps[newIndex]); - addedItems.push({ - app: newApps[newIndex], - item: newItem, - pos: newIndex + removedActors.length - }); - newIndex++; - } - else { - removedActors.push(children[oldIndex]); - oldIndex++; - } - } - - for (let i = 0; i < addedItems.length; i++) - this._box.insert_child_at_index(addedItems[i].item, - addedItems[i].pos); - - for (let i = 0; i < removedActors.length; i++) { - let item = removedActors[i]; - - // Don't animate item removal when the overview is transitioning - if (!Main.overview.animationInProgress) - item.animateOutAndDestroy(); - else - item.destroy(); - } - - this._adjustIconSize(); - - // Skip animations on first run when adding the initial set - // of items, to avoid all items zooming in at once - - let animate = this._shownInitially && - !Main.overview.animationInProgress; - - if (!this._shownInitially) - this._shownInitially = true; - - for (let i = 0; i < addedItems.length; i++) - addedItems[i].item.show(animate); - - // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=692744 - // Without it, StBoxLayout may use a stale size cache - this._box.queue_relayout(); - - // This is required for icon reordering when the scrollview is used. - this._updateAppsIconGeometry(); - - // This will update the size, and the corresponding number for each icon - this._updateNumberOverlay(); - } - - _updateNumberOverlay() { - let appIcons = this.getAppIcons(); - let counter = 1; - appIcons.forEach(function(icon) { - if (counter < 10){ - icon.setNumberOverlay(counter); - counter++; - } - else if (counter == 10) { - icon.setNumberOverlay(0); - counter++; - } - else { - // No overlay after 10 - icon.setNumberOverlay(-1); - } - icon.updateNumberOverlay(); - }); - - } - - toggleNumberOverlay(activate) { - let appIcons = this.getAppIcons(); - appIcons.forEach(function(icon) { - icon.toggleNumberOverlay(activate); - }); - } - - _initializeIconSize(max_size) { - let max_allowed = baseIconSizes[baseIconSizes.length-1]; - max_size = Math.min(max_size, max_allowed); - - if (Docking.DockManager.settings.get_boolean('icon-size-fixed')) - this._availableIconSizes = [max_size]; - else { - this._availableIconSizes = baseIconSizes.filter(function(val) { - return (val { - this._animatingPlaceholdersCount--; - }); - this._dragPlaceholder = null; - } - this._dragPlaceholderPos = -1; - } - - _clearEmptyDropTarget() { - if (this._emptyDropTarget) { - this._emptyDropTarget.animateOutAndDestroy(); - this._emptyDropTarget = null; - } - } - - handleDragOver(source, actor, x, y, time) { - let app = Dash.getAppFromSource(source); - - // Don't allow favoriting of transient apps - if (app == null || app.is_window_backed()) - return DND.DragMotionResult.NO_DROP; - - if (!this._shellSettings.is_writable('favorite-apps') || - !Docking.DockManager.settings.get_boolean('show-favorites')) - return DND.DragMotionResult.NO_DROP; - - let favorites = AppFavorites.getAppFavorites().getFavorites(); - let numFavorites = favorites.length; - - let favPos = favorites.indexOf(app); - - let children = this._box.get_children(); - let numChildren = children.length; - let boxHeight = 0; - for (let i = 0; i < numChildren; i++) - boxHeight += this._isHorizontal?children[i].width:children[i].height; - - // Keep the placeholder out of the index calculation; assuming that - // the remove target has the same size as "normal" items, we don't - // need to do the same adjustment there. - if (this._dragPlaceholder) { - boxHeight -= this._isHorizontal?this._dragPlaceholder.width:this._dragPlaceholder.height; - numChildren--; - } - - let pos; - if (!this._emptyDropTarget) { - pos = Math.floor((this._isHorizontal?x:y) * numChildren / boxHeight); - if (pos > numChildren) - pos = numChildren; - } - else - pos = 0; // always insert at the top when dash is empty - - // Take into account childredn position in rtl - if (this._isHorizontal && (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)) - pos = numChildren - pos; - - if ((pos != this._dragPlaceholderPos) && (pos <= numFavorites) && (this._animatingPlaceholdersCount == 0)) { - this._dragPlaceholderPos = pos; - - // Don't allow positioning before or after self - if ((favPos != -1) && (pos == favPos || pos == favPos + 1)) { - this._clearDragPlaceholder(); - return DND.DragMotionResult.CONTINUE; - } - - // If the placeholder already exists, we just move - // it, but if we are adding it, expand its size in - // an animation - let fadeIn; - if (this._dragPlaceholder) { - this._dragPlaceholder.destroy(); - fadeIn = false; - } - else - fadeIn = true; - - this._dragPlaceholder = new Dash.DragPlaceholderItem(); - this._dragPlaceholder.child.set_width (this.iconSize); - this._dragPlaceholder.child.set_height (this.iconSize / 2); - this._box.insert_child_at_index(this._dragPlaceholder, - this._dragPlaceholderPos); - this._dragPlaceholder.show(fadeIn); - // Ensure the next and previous icon are visible when moving the placeholder - // (I assume there's room for both of them) - if (this._dragPlaceholderPos > 1) - ensureActorVisibleInScrollView(this._scrollView, this._box.get_children()[this._dragPlaceholderPos-1]); - if (this._dragPlaceholderPos < this._box.get_children().length-1) - ensureActorVisibleInScrollView(this._scrollView, this._box.get_children()[this._dragPlaceholderPos+1]); - } - - // Remove the drag placeholder if we are not in the - // "favorites zone" - if (pos > numFavorites) - this._clearDragPlaceholder(); - - if (!this._dragPlaceholder) - return DND.DragMotionResult.NO_DROP; - - let srcIsFavorite = (favPos != -1); - - if (srcIsFavorite) - return DND.DragMotionResult.MOVE_DROP; - - return DND.DragMotionResult.COPY_DROP; - } - - /** - * Draggable target interface - */ - acceptDrop(source, actor, x, y, time) { - let app = Dash.getAppFromSource(source); - - // Don't allow favoriting of transient apps - if (app == null || app.is_window_backed()) - return false; - - if (!this._shellSettings.is_writable('favorite-apps') || - !Docking.DockManager.settings.get_boolean('show-favorites')) - return false; - - let id = app.get_id(); - - let favorites = AppFavorites.getAppFavorites().getFavoriteMap(); - - let srcIsFavorite = (id in favorites); - - let favPos = 0; - let children = this._box.get_children(); - for (let i = 0; i < this._dragPlaceholderPos; i++) { - if (this._dragPlaceholder && (children[i] == this._dragPlaceholder)) - continue; - - let childId = children[i].child._delegate.app.get_id(); - if (childId == id) - continue; - if (childId in favorites) - favPos++; - } - - // No drag placeholder means we don't wan't to favorite the app - // and we are dragging it to its original position - if (!this._dragPlaceholder) - return true; - - Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => { - let appFavorites = AppFavorites.getAppFavorites(); - if (srcIsFavorite) - appFavorites.moveFavoriteToPos(id, favPos); - else - appFavorites.addFavoriteAtPos(id, favPos); - return false; - }); - - return true; - } - - get showAppsButton() { - return this._showAppsIcon.toggleButton; - } - - showShowAppsButton() { - this.showAppsButton.visible = true - this.showAppsButton.set_width(-1) - this.showAppsButton.set_height(-1) - } - - hideShowAppsButton() { - this.showAppsButton.hide() - this.showAppsButton.set_width(0) - this.showAppsButton.set_height(0) - } -}); - - -/** - * This is a copy of the same function in utils.js, but also adjust horizontal scrolling - * and perform few further cheks on the current value to avoid changing the values when - * it would be clamp to the current one in any case. - * Return the amount of shift applied - */ -function ensureActorVisibleInScrollView(scrollView, actor) { - let adjust_v = true; - let adjust_h = true; - - let vadjustment = scrollView.get_vscroll_bar().get_adjustment(); - let hadjustment = scrollView.get_hscroll_bar().get_adjustment(); - let [vvalue, vlower, vupper, vstepIncrement, vpageIncrement, vpageSize] = vadjustment.get_values(); - let [hvalue, hlower, hupper, hstepIncrement, hpageIncrement, hpageSize] = hadjustment.get_values(); - - let [hvalue0, vvalue0] = [hvalue, vvalue]; - - let voffset = 0; - let hoffset = 0; - let fade = scrollView.get_effect('fade'); - if (fade) { - voffset = fade.vfade_offset; - hoffset = fade.hfade_offset; - } - - let box = actor.get_allocation_box(); - let y1 = box.y1, y2 = box.y2, x1 = box.x1, x2 = box.x2; - - let parent = actor.get_parent(); - while (parent != scrollView) { - if (!parent) - throw new Error('Actor not in scroll view'); - - let box = parent.get_allocation_box(); - y1 += box.y1; - y2 += box.y1; - x1 += box.x1; - x2 += box.x1; - parent = parent.get_parent(); - } - - if (y1 < vvalue + voffset) - vvalue = Math.max(0, y1 - voffset); - else if (vvalue < vupper - vpageSize && y2 > vvalue + vpageSize - voffset) - vvalue = Math.min(vupper -vpageSize, y2 + voffset - vpageSize); - - if (x1 < hvalue + hoffset) - hvalue = Math.max(0, x1 - hoffset); - else if (hvalue < hupper - hpageSize && x2 > hvalue + hpageSize - hoffset) - hvalue = Math.min(hupper - hpageSize, x2 + hoffset - hpageSize); - - if (vvalue !== vvalue0) { - vadjustment.ease(vvalue, { - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - duration: Util.SCROLL_TIME - }); - } - - if (hvalue !== hvalue0) { - hadjustment.ease(hvalue, { - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - duration: Util.SCROLL_TIME - }); - } - - return [hvalue- hvalue0, vvalue - vvalue0]; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js deleted file mode 100644 index 1b34cfa0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js +++ /dev/null @@ -1,1916 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Clutter = imports.gi.Clutter; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; -const Params = imports.misc.params; - -const Main = imports.ui.main; -const Dash = imports.ui.dash; -const IconGrid = imports.ui.iconGrid; -const Overview = imports.ui.overview; -const OverviewControls = imports.ui.overviewControls; -const PointerWatcher = imports.ui.pointerWatcher; -const Signals = imports.signals; -const ViewSelector = imports.ui.viewSelector; -const WorkspaceSwitcherPopup= imports.ui.workspaceSwitcherPopup; -const Layout = imports.ui.layout; -const LayoutManager = imports.ui.main.layoutManager; - -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); -const Utils = Me.imports.utils; -const Intellihide = Me.imports.intellihide; -const Theming = Me.imports.theming; -const MyDash = Me.imports.dash; -const LauncherAPI = Me.imports.launcherAPI; -const FileManager1API = Me.imports.fileManager1API; - -const DOCK_DWELL_CHECK_INTERVAL = 100; - -var State = { - HIDDEN: 0, - SHOWING: 1, - SHOWN: 2, - HIDING: 3 -}; - -const scrollAction = { - DO_NOTHING: 0, - CYCLE_WINDOWS: 1, - SWITCH_WORKSPACE: 2 -}; - -/** - * A simple St.Widget with one child whose allocation takes into account the - * slide out of its child via the _slidex parameter ([0:1]). - * - * Required since I want to track the input region of this container which is - * based on its allocation even if the child overlows the parent actor. By doing - * this the region of the dash that is slideout is not steling anymore the input - * regions making the extesion usable when the primary monitor is the right one. - * - * The slidex parameter can be used to directly animate the sliding. The parent - * must have a WEST (SOUTH) anchor_point to achieve the sliding to the RIGHT (BOTTOM) - * side. -*/ -var DashSlideContainer = GObject.registerClass({ - Properties: { - 'side': GObject.ParamSpec.enum( - 'side', 'side', 'side', - GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY, - St.Side, St.Side.LEFT), - 'slidex': GObject.ParamSpec.double( - 'slidex', 'slidex', 'slidex', - GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT, - 0, 1, 1), - } -}, class DashToDock_DashSlideContainer extends St.Widget { - - _init(params = {}) { - super._init(params); - this._child = null; - - // slide parameter: 1 = visible, 0 = hidden. - this._slidex = params.slidex || 1; - this._slideoutSize = 0; // minimum size when slided out - } - - vfunc_allocate(box, flags) { - this.set_allocation(box, flags); - - if (this._child == null) - return; - - let availWidth = box.x2 - box.x1; - let availHeight = box.y2 - box.y1; - let [, , natChildWidth, natChildHeight] = - this._child.get_preferred_size(); - - let childWidth = natChildWidth; - let childHeight = natChildHeight; - - let childBox = new Clutter.ActorBox(); - - let slideoutSize = this._slideoutSize; - - if (this.side == St.Side.LEFT) { - childBox.x1 = (this._slidex -1) * (childWidth - slideoutSize); - childBox.x2 = slideoutSize + this._slidex*(childWidth - slideoutSize); - childBox.y1 = 0; - childBox.y2 = childBox.y1 + childHeight; - } - else if ((this.side == St.Side.RIGHT) || (this.side == St.Side.BOTTOM)) { - childBox.x1 = 0; - childBox.x2 = childWidth; - childBox.y1 = 0; - childBox.y2 = childBox.y1 + childHeight; - } - else if (this.side == St.Side.TOP) { - childBox.x1 = 0; - childBox.x2 = childWidth; - childBox.y1 = (this._slidex -1) * (childHeight - slideoutSize); - childBox.y2 = slideoutSize + this._slidex * (childHeight - slideoutSize); - } - - this._child.allocate(childBox, flags); - this._child.set_clip(-childBox.x1, -childBox.y1, - -childBox.x1+availWidth, -childBox.y1 + availHeight); - } - - /** - * Just the child width but taking into account the slided out part - */ - vfunc_get_preferred_width(forHeight) { - let [minWidth, natWidth] = this._child.get_preferred_width(forHeight); - if ((this.side == St.Side.LEFT) || (this.side == St.Side.RIGHT)) { - minWidth = (minWidth - this._slideoutSize) * this._slidex + this._slideoutSize; - natWidth = (natWidth - this._slideoutSize) * this._slidex + this._slideoutSize; - } - return [minWidth, natWidth]; - } - - /** - * Just the child height but taking into account the slided out part - */ - vfunc_get_preferred_height(forWidth) { - let [minHeight, natHeight] = this._child.get_preferred_height(forWidth); - if ((this.side == St.Side.TOP) || (this.side == St.Side.BOTTOM)) { - minHeight = (minHeight - this._slideoutSize) * this._slidex + this._slideoutSize; - natHeight = (natHeight - this._slideoutSize) * this._slidex + this._slideoutSize; - } - return [minHeight, natHeight]; - } - - /** - * I was expecting it to be a virtual function... stil I don't understand - * how things work. - */ - add_child(actor) { - // I'm supposed to have only on child - if (this._child !== null) - this.remove_child(actor); - - this._child = actor; - super.add_child(actor); - } - - set slidex(value) { - if (value == this._slidex) - return; - - this._slidex = value; - this.notify('slidex'); - - if (this._child) - this._child.queue_relayout(); - } - - get slidex() { - return this._slidex; - } -}); - -var DockedDash = GObject.registerClass({ - Signals: { - 'showing': {}, - 'hiding': {}, - } -}, class DashToDock extends St.Bin { - - _init(remoteModel, monitorIndex) { - this._rtl = (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL); - - // Load settings - let settings = DockManager.settings; - this._remoteModel = remoteModel; - this._monitorIndex = monitorIndex; - // Connect global signals - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._bindSettingsChanges(); - - this._position = Utils.getPosition(); - this._isHorizontal = ((this._position == St.Side.TOP) || (this._position == St.Side.BOTTOM)); - - // Temporary ignore hover events linked to autohide for whatever reason - this._ignoreHover = false; - this._oldignoreHover = null; - // This variables are linked to the settings regardles of autohide or intellihide - // being temporary disable. Get set by _updateVisibilityMode; - this._autohideIsEnabled = null; - this._intellihideIsEnabled = null; - this._fixedIsEnabled = null; - - // Create intellihide object to monitor windows overlapping - this._intellihide = new Intellihide.Intellihide(this._monitorIndex); - - // initialize dock state - this._dockState = State.HIDDEN; - - // Put dock on the required monitor - this._monitor = Main.layoutManager.monitors[this._monitorIndex]; - - // this store size and the position where the dash is shown; - // used by intellihide module to check window overlap. - this.staticBox = new Clutter.ActorBox(); - - // Initialize pressure barrier variables - this._canUsePressure = false; - this._pressureBarrier = null; - this._barrier = null; - this._removeBarrierTimeoutId = 0; - - // Initialize dwelling system variables - this._dockDwelling = false; - this._dockWatch = null; - this._dockDwellUserTime = 0; - this._dockDwellTimeoutId = 0 - - // Create a new dash object - this.dash = new MyDash.MyDash(this._remoteModel, this._monitorIndex); - - if (!settings.get_boolean('show-show-apps-button')) - this.dash.hideShowAppsButton(); - - // Create the main actor and the containers for sliding in and out and - // centering, turn on track hover - - let positionStyleClass = ['top', 'right', 'bottom', 'left']; - // This is the centering actor - super._init({ - name: 'dashtodockContainer', - reactive: false, - style_class: positionStyleClass[this._position], - x_align: this._isHorizontal?St.Align.MIDDLE:St.Align.START, - y_align: this._isHorizontal?St.Align.START:St.Align.MIDDLE - }); - this._delegate = this; - - // This is the sliding actor whose allocation is to be tracked for input regions - this._slider = new DashSlideContainer({ - side: this._position, - slidex: 0 - }); - - // This is the actor whose hover status us tracked for autohide - this._box = new St.BoxLayout({ - name: 'dashtodockBox', - reactive: true, - track_hover: true - }); - this._box.connect('notify::hover', this._hoverChanged.bind(this)); - - // Create and apply height constraint to the dash. It's controlled by this.height - this.constrainSize = new Clutter.BindConstraint({ - source: this, - coordinate: this._isHorizontal?Clutter.BindCoordinate.WIDTH:Clutter.BindCoordinate.HEIGHT - }); - this.dash.add_constraint(this.constrainSize); - - this._signalsHandler.add([ - Main.overview, - 'item-drag-begin', - this._onDragStart.bind(this) - ], [ - Main.overview, - 'item-drag-end', - this._onDragEnd.bind(this) - ], [ - Main.overview, - 'item-drag-cancelled', - this._onDragEnd.bind(this) - ], [ - // update when workarea changes, for instance if other extensions modify the struts - //(like moving th panel at the bottom) - global.display, - 'workareas-changed', - this._resetPosition.bind(this) - ], [ - Main.overview, - 'showing', - this._onOverviewShowing.bind(this) - ], [ - Main.overview, - 'hiding', - this._onOverviewHiding.bind(this) - ], [ - // Hide on appview - Main.overview.viewSelector, - 'page-changed', - this._pageChanged.bind(this) - ], [ - Main.overview.viewSelector, - 'page-empty', - this._onPageEmpty.bind(this) - ], [ - // Ensure the ShowAppsButton status is kept in sync - Main.overview.viewSelector._showAppsButton, - 'notify::checked', - this._syncShowAppsButtonToggled.bind(this) - ], [ - global.display, - 'in-fullscreen-changed', - this._updateBarrier.bind(this) - ], [ - // Monitor windows overlapping - this._intellihide, - 'status-changed', - this._updateDashVisibility.bind(this) - ], [ - // Keep dragged icon consistent in size with this dash - this.dash, - 'icon-size-changed', - () => { Main.overview.dashIconSize = this.dash.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', - () => { Main.overview.dashIconSize = this.dash.iconSize; } - ], [ - // sync hover after a popupmenu is closed - this.dash, - 'menu-closed', - () => { this._box.sync_hover() } - ]); - - this._injectionsHandler = new Utils.InjectionsHandler(); - this._themeManager = new Theming.ThemeManager(this); - - // Since the actor is not a topLevel child and its parent is now not added to the Chrome, - // the allocation change of the parent container (slide in and slideout) doesn't trigger - // anymore an update of the input regions. Force the update manually. - this.connect('notify::allocation', - Main.layoutManager._queueUpdateRegions.bind(Main.layoutManager)); - - this.dash._container.connect('allocation-changed', this._updateStaticBox.bind(this)); - this._slider.connect(this._isHorizontal ? 'notify::x' : 'notify::y', this._updateStaticBox.bind(this)); - - // Load optional features that need to be activated for one dock only - if (this._monitorIndex == settings.get_int('preferred-monitor')) - this._enableExtraFeatures(); - // Load optional features that need to be activated once per dock - this._optionalScrollWorkspaceSwitch(); - - // Delay operations that require the shell to be fully loaded and with - // user theme applied. - - this._paintId = this.connect('paint', this._initialize.bind(this)); - - // Manage the which is used to reserve space in the overview for the dock - // Add and additional dashSpacer positioned according to the dash positioning. - // It gets restored on extension unload. - this._dashSpacer = new OverviewControls.DashSpacer(); - this._dashSpacer.setDashActor(this._box); - - if (this._position == St.Side.LEFT) - Main.overview._controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? -1 : 0); // insert on first - else if (this._position == St.Side.RIGHT) - Main.overview._controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? 0 : -1); // insert on last - else if (this._position == St.Side.TOP) - Main.overview._overview.insert_child_at_index(this._dashSpacer, 0); - else if (this._position == St.Side.BOTTOM) - Main.overview._overview.insert_child_at_index(this._dashSpacer, -1); - - // Add dash container actor and the container to the Chrome. - this.set_child(this._slider); - this._slider.add_child(this._box); - this._box.add_actor(this.dash); - - // Add aligning container without tracking it for input region - Main.uiGroup.add_child(this); - - if (settings.get_boolean('dock-fixed')) { - // Note: tracking the fullscreen directly on the slider actor causes some hiccups when fullscreening - // windows of certain applications - Main.layoutManager._trackActor(this, {affectsInputRegion: false, trackFullscreen: true}); - Main.layoutManager._trackActor(this._slider, {affectsStruts: true}); - } - else - Main.layoutManager._trackActor(this._slider); - - // Set initial position - this._resetDepth(); - this._resetPosition(); - - this.connect('destroy', this._onDestroy.bind(this)); - } - - _initialize() { - if (this._paintId > 0) { - this.disconnect(this._paintId); - this._paintId=0; - } - - // Apply custome css class according to the settings - this._themeManager.updateCustomTheme(); - - // 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._updateVisibilityMode(); - - // In case we are already inside the overview when the extension is loaded, - // for instance on unlocking the screen if it was locked with the overview open. - if (Main.overview.visibleTarget) { - this._onOverviewShowing(); - this._pageChanged(); - } - - // Setup pressure barrier (GS38+ only) - this._updatePressureBarrier(); - this._updateBarrier(); - - // setup dwelling system if pressure barriers are not available - this._setupDockDwellIfNeeded(); - } - - _onDestroy() { - // Disconnect global signals - this._signalsHandler.destroy(); - // The dash, intellihide and themeManager have global signals as well internally - this.dash.destroy(); - this._intellihide.destroy(); - this._themeManager.destroy(); - - this._injectionsHandler.destroy(); - - // Remove barrier timeout - if (this._removeBarrierTimeoutId > 0) - Mainloop.source_remove(this._removeBarrierTimeoutId); - - // Remove existing barrier - this._removeBarrier(); - - // Remove pointer watcher - if (this._dockWatch) { - PointerWatcher.getPointerWatcher()._removeWatch(this._dockWatch); - this._dockWatch = null; - } - - // Remove the dashSpacer - this._dashSpacer.destroy(); - } - - _bindSettingsChanges() { - let settings = DockManager.settings; - this._signalsHandler.add([ - settings, - 'changed::scroll-action', - () => { this._optionalScrollWorkspaceSwitch(); } - ], [ - settings, - 'changed::dash-max-icon-size', - () => { this.dash.setIconSize(settings.get_int('dash-max-icon-size')); } - ], [ - settings, - 'changed::icon-size-fixed', - () => { this.dash.setIconSize(settings.get_int('dash-max-icon-size')); } - ], [ - settings, - 'changed::show-favorites', - () => { this.dash.resetAppIcons(); } - ], [ - settings, - 'changed::show-trash', - () => { this.dash.resetAppIcons(); }, - Utils.SignalsHandlerFlags.CONNECT_AFTER, - ], [ - settings, - 'changed::show-mounts', - () => { this.dash.resetAppIcons(); }, - Utils.SignalsHandlerFlags.CONNECT_AFTER - ], [ - settings, - 'changed::show-running', - () => { this.dash.resetAppIcons(); } - ], [ - settings, - 'changed::show-apps-at-top', - () => { this.dash.resetAppIcons(); } - ], [ - settings, - 'changed::show-show-apps-button', - () => { - if (settings.get_boolean('show-show-apps-button')) - this.dash.showShowAppsButton(); - else - this.dash.hideShowAppsButton(); - } - ], [ - settings, - 'changed::dock-fixed', - () => { - if (settings.get_boolean('dock-fixed')) { - Main.layoutManager._untrackActor(this); - Main.layoutManager._trackActor(this, {affectsInputRegion: false, trackFullscreen: true}); - Main.layoutManager._untrackActor(this._slider); - Main.layoutManager._trackActor(this._slider, {affectsStruts: true}); - } else { - Main.layoutManager._untrackActor(this); - Main.layoutManager._untrackActor(this._slider); - Main.layoutManager._trackActor(this._slider); - } - - this._resetPosition(); - - // Add or remove barrier depending on if dock-fixed - this._updateBarrier(); - - this._updateVisibilityMode(); - } - ], [ - settings, - 'changed::intellihide', - this._updateVisibilityMode.bind(this) - ], [ - settings, - 'changed::intellihide-mode', - () => { this._intellihide.forceUpdate(); } - ], [ - settings, - 'changed::autohide', - () => { - this._updateVisibilityMode(); - this._updateBarrier(); - } - ], [ - settings, - 'changed::autohide-in-fullscreen', - this._updateBarrier.bind(this) - ], - [ - settings, - 'changed::extend-height', - this._resetPosition.bind(this) - ], [ - settings, - 'changed::height-fraction', - this._resetPosition.bind(this) - ], [ - settings, - 'changed::require-pressure-to-show', - () => { - // Remove pointer watcher - if (this._dockWatch) { - PointerWatcher.getPointerWatcher()._removeWatch(this._dockWatch); - this._dockWatch = null; - } - this._setupDockDwellIfNeeded(); - this._updateBarrier(); - } - ], [ - settings, - 'changed::pressure-threshold', - () => { - this._updatePressureBarrier(); - this._updateBarrier(); - } - ]); - - } - - /** - * This is call when visibility settings change - */ - _updateVisibilityMode() { - let settings = DockManager.settings; - if (settings.get_boolean('dock-fixed')) { - this._fixedIsEnabled = true; - this._autohideIsEnabled = false; - this._intellihideIsEnabled = false; - } - else { - this._fixedIsEnabled = false; - this._autohideIsEnabled = settings.get_boolean('autohide') - this._intellihideIsEnabled = settings.get_boolean('intellihide') - } - - if (this._intellihideIsEnabled) - this._intellihide.enable(); - else - this._intellihide.disable(); - - this._updateDashVisibility(); - } - - /** - * Show/hide dash based on, in order of priority: - * overview visibility - * fixed mode - * intellihide - * autohide - * overview visibility - */ - _updateDashVisibility() { - if (Main.overview.visibleTarget) - return; - - let settings = DockManager.settings; - - if (this._fixedIsEnabled) { - this._removeAnimations(); - this._animateIn(settings.get_double('animation-time'), 0); - } - else if (this._intellihideIsEnabled) { - if (this._intellihide.getOverlapStatus()) { - this._ignoreHover = false; - // Do not hide if autohide is enabled and mouse is hover - if (!this._box.hover || !this._autohideIsEnabled) - this._animateOut(settings.get_double('animation-time'), 0); - } - else { - this._ignoreHover = true; - this._removeAnimations(); - this._animateIn(settings.get_double('animation-time'), 0); - } - } - else { - if (this._autohideIsEnabled) { - this._ignoreHover = false; - global.sync_pointer(); - - if (this._box.hover) - this._animateIn(settings.get_double('animation-time'), 0); - else - this._animateOut(settings.get_double('animation-time'), 0); - } - else - this._animateOut(settings.get_double('animation-time'), 0); - } - } - - _onOverviewShowing() { - this._ignoreHover = true; - this._intellihide.disable(); - this._removeAnimations(); - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - - _onOverviewHiding() { - this._ignoreHover = false; - this._intellihide.enable(); - this._updateDashVisibility(); - } - - _hoverChanged() { - if (!this._ignoreHover) { - // Skip if dock is not in autohide mode for instance because it is shown - // by intellihide. - if (this._autohideIsEnabled) { - if (this._box.hover) - this._show(); - else - this._hide(); - } - } - } - - getDockState() { - return this._dockState; - } - - _show() { - if ((this._dockState == State.HIDDEN) || (this._dockState == State.HIDING)) { - if (this._dockState == State.HIDING) - // suppress all potential queued transitions - i.e. added but not started, - // always give priority to show - this._removeAnimations(); - - this.emit('showing'); - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - } - - _hide() { - // If no hiding animation is running or queued - if ((this._dockState == State.SHOWN) || (this._dockState == State.SHOWING)) { - let settings = DockManager.settings; - let delay; - - if (this._dockState == State.SHOWING) - //if a show already started, let it finish; queue hide without removing the show. - // to obtain this I increase the delay to avoid the overlap and interference - // between the animations - delay = settings.get_double('hide-delay') + settings.get_double('animation-time'); - else - delay = settings.get_double('hide-delay'); - - this.emit('hiding'); - this._animateOut(settings.get_double('animation-time'), delay); - } - } - - _animateIn(time, delay) { - this._dockState = State.SHOWING; - - this._slider.ease_property('slidex', 1, { - duration: time * 1000, - delay: delay * 1000, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - onComplete: () => { - this._dockState = State.SHOWN; - // Remove barrier so that mouse pointer is released and can access monitors on other side of dock - // NOTE: Delay needed to keep mouse from moving past dock and re-hiding dock immediately. This - // gives users an opportunity to hover over the dock - if (this._removeBarrierTimeoutId > 0) - Mainloop.source_remove(this._removeBarrierTimeoutId); - this._removeBarrierTimeoutId = Mainloop.timeout_add(100, this._removeBarrier.bind(this)); - } - }); - } - - _animateOut(time, delay) { - this._dockState = State.HIDING; - - this._slider.ease_property('slidex', 0, { - duration: time * 1000, - delay: delay * 1000, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - onComplete: () => { - this._dockState = State.HIDDEN; - // Remove queued barried removal if any - if (this._removeBarrierTimeoutId > 0) - Mainloop.source_remove(this._removeBarrierTimeoutId); - this._updateBarrier(); - } - }); - } - - /** - * Dwelling system based on the GNOME Shell 3.14 messageTray code. - */ - _setupDockDwellIfNeeded() { - // If we don't have extended barrier features, then we need - // to support the old tray dwelling mechanism. - if (!global.display.supports_extended_barriers() || - !DockManager.settings.get_boolean('require-pressure-to-show')) { - let pointerWatcher = PointerWatcher.getPointerWatcher(); - this._dockWatch = pointerWatcher.addWatch(DOCK_DWELL_CHECK_INTERVAL, this._checkDockDwell.bind(this)); - this._dockDwelling = false; - this._dockDwellUserTime = 0; - } - } - - _checkDockDwell(x, y) { - - let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor.index) - let shouldDwell; - // Check for the correct screen edge, extending the sensitive area to the whole workarea, - // minus 1 px to avoid conflicting with other active corners. - if (this._position == St.Side.LEFT) - shouldDwell = (x == this._monitor.x) && (y > workArea.y) && (y < workArea.y + workArea.height); - else if (this._position == St.Side.RIGHT) - shouldDwell = (x == this._monitor.x + this._monitor.width - 1) && (y > workArea.y) && (y < workArea.y + workArea.height); - else if (this._position == St.Side.TOP) - shouldDwell = (y == this._monitor.y) && (x > workArea.x) && (x < workArea.x + workArea.width); - else if (this._position == St.Side.BOTTOM) - shouldDwell = (y == this._monitor.y + this._monitor.height - 1) && (x > workArea.x) && (x < workArea.x + workArea.width); - - if (shouldDwell) { - // We only set up dwell timeout when the user is not hovering over the dock - // already (!this._box.hover). - // The _dockDwelling variable is used so that we only try to - // fire off one dock dwell - if it fails (because, say, the user has the mouse down), - // we don't try again until the user moves the mouse up and down again. - if (!this._dockDwelling && !this._box.hover && (this._dockDwellTimeoutId == 0)) { - // Save the interaction timestamp so we can detect user input - let focusWindow = global.display.focus_window; - this._dockDwellUserTime = focusWindow ? focusWindow.user_time : 0; - - this._dockDwellTimeoutId = Mainloop.timeout_add(DockManager.settings.get_double('show-delay') * 1000, - this._dockDwellTimeout.bind(this)); - GLib.Source.set_name_by_id(this._dockDwellTimeoutId, '[dash-to-dock] this._dockDwellTimeout'); - } - this._dockDwelling = true; - } - else { - this._cancelDockDwell(); - this._dockDwelling = false; - } - } - - _cancelDockDwell() { - if (this._dockDwellTimeoutId != 0) { - Mainloop.source_remove(this._dockDwellTimeoutId); - this._dockDwellTimeoutId = 0; - } - } - - _dockDwellTimeout() { - this._dockDwellTimeoutId = 0; - - if (!DockManager.settings.get_boolean('autohide-in-fullscreen') && - this._monitor.inFullscreen) - return GLib.SOURCE_REMOVE; - - // We don't want to open the tray when a modal dialog - // is up, so we check the modal count for that. When we are in the - // overview we have to take the overview's modal push into account - if (Main.modalCount > (Main.overview.visible ? 1 : 0)) - return GLib.SOURCE_REMOVE; - - // If the user interacted with the focus window since we started the tray - // dwell (by clicking or typing), don't activate the message tray - let focusWindow = global.display.focus_window; - let currentUserTime = focusWindow ? focusWindow.user_time : 0; - if (currentUserTime != this._dockDwellUserTime) - return GLib.SOURCE_REMOVE; - - // Reuse the pressure version function, the logic is the same - this._onPressureSensed(); - return GLib.SOURCE_REMOVE; - } - - _updatePressureBarrier() { - let settings = DockManager.settings; - this._canUsePressure = global.display.supports_extended_barriers(); - let pressureThreshold = settings.get_double('pressure-threshold'); - - // Remove existing pressure barrier - if (this._pressureBarrier) { - this._pressureBarrier.destroy(); - this._pressureBarrier = null; - } - - if (this._barrier) { - this._barrier.destroy(); - this._barrier = null; - } - - // Create new pressure barrier based on pressure threshold setting - if (this._canUsePressure) { - this._pressureBarrier = new Layout.PressureBarrier(pressureThreshold, settings.get_double('show-delay')*1000, - Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW); - this._pressureBarrier.connect('trigger', (barrier) => { - if (!settings.get_boolean('autohide-in-fullscreen') && this._monitor.inFullscreen) - return; - this._onPressureSensed(); - }); - } - } - - /** - * handler for mouse pressure sensed - */ - _onPressureSensed() { - if (Main.overview.visibleTarget) - return; - - // In case the mouse move away from the dock area before hovering it, in such case the leave event - // would never be triggered and the dock would stay visible forever. - let triggerTimeoutId = Mainloop.timeout_add(250, () => { - triggerTimeoutId = 0; - - let [x, y, mods] = global.get_pointer(); - let shouldHide = true; - switch (this._position) { - case St.Side.LEFT: - if (x <= this.staticBox.x2 && - x >= this._monitor.x && - y >= this._monitor.y && - y <= this._monitor.y + this._monitor.height) { - shouldHide = false; - } - break; - case St.Side.RIGHT: - if (x >= this.staticBox.x1 && - x <= this._monitor.x + this._monitor.width && - y >= this._monitor.y && - y <= this._monitor.y + this._monitor.height) { - shouldHide = false; - } - break; - case St.Side.TOP: - if (x >= this._monitor.x && - x <= this._monitor.x + this._monitor.width && - y <= this.staticBox.y2 && - y >= this._monitor.y) { - shouldHide = false; - } - break; - case St.Side.BOTTOM: - if (x >= this._monitor.x && - x <= this._monitor.x + this._monitor.width && - y >= this.staticBox.y1 && - y <= this._monitor.y + this._monitor.height) { - shouldHide = false; - } - } - if (shouldHide) { - this._hoverChanged(); - return GLib.SOURCE_REMOVE; - } - else { - return GLib.SOURCE_CONTINUE; - } - - }); - - this._show(); - } - - /** - * Remove pressure barrier - */ - _removeBarrier() { - if (this._barrier) { - if (this._pressureBarrier) - this._pressureBarrier.removeBarrier(this._barrier); - this._barrier.destroy(); - this._barrier = null; - } - this._removeBarrierTimeoutId = 0; - return false; - } - - /** - * Update pressure barrier size - */ - _updateBarrier() { - // Remove existing barrier - this._removeBarrier(); - - // The barrier needs to be removed in fullscreen with autohide disabled, otherwise the mouse can - // get trapped on monitor. - if (this._monitor.inFullscreen && - !DockManager.settings.get_boolean('autohide-in-fullscreen')) - return - - // Manually reset pressure barrier - // This is necessary because we remove the pressure barrier when it is triggered to show the dock - if (this._pressureBarrier) { - this._pressureBarrier._reset(); - this._pressureBarrier._isTriggered = false; - } - - // Create new barrier - // The barrier extends to the whole workarea, minus 1 px to avoid conflicting with other active corners - // Note: dash in fixed position doesn't use pressure barrier. - if (this._canUsePressure && this._autohideIsEnabled && - DockManager.settings.get_boolean('require-pressure-to-show')) { - let x1, x2, y1, y2, direction; - let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor.index) - - if (this._position == St.Side.LEFT) { - x1 = this._monitor.x + 1; - x2 = x1; - y1 = workArea.y + 1; - y2 = workArea.y + workArea.height - 1; - direction = Meta.BarrierDirection.POSITIVE_X; - } - else if (this._position == St.Side.RIGHT) { - x1 = this._monitor.x + this._monitor.width - 1; - x2 = x1; - y1 = workArea.y + 1; - y2 = workArea.y + workArea.height - 1; - direction = Meta.BarrierDirection.NEGATIVE_X; - } - else if (this._position == St.Side.TOP) { - x1 = workArea.x + 1; - x2 = workArea.x + workArea.width - 1; - y1 = this._monitor.y; - y2 = y1; - direction = Meta.BarrierDirection.POSITIVE_Y; - } - else if (this._position == St.Side.BOTTOM) { - x1 = workArea.x + 1; - x2 = workArea.x + workArea.width - 1; - y1 = this._monitor.y + this._monitor.height; - y2 = y1; - direction = Meta.BarrierDirection.NEGATIVE_Y; - } - - this._barrier = new Meta.Barrier({ - display: global.display, - x1: x1, - x2: x2, - y1: y1, - y2: y2, - directions: direction - }); - if (this._pressureBarrier) - this._pressureBarrier.addBarrier(this._barrier); - } - } - - _isPrimaryMonitor() { - return (this._monitorIndex == Main.layoutManager.primaryIndex); - } - - _resetPosition() { - // Ensure variables linked to settings are updated. - this._updateVisibilityMode(); - - let extendHeight = DockManager.settings.get_boolean('extend-height'); - - // Note: do not use the workarea coordinates in the direction on which the dock is placed, - // to avoid a loop [position change -> workArea change -> position change] with - // fixed dock. - let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitorIndex); - - // Reserve space for the dash on the overview - // if the dock is on the primary monitor - if (this._isPrimaryMonitor()) - this._dashSpacer.show(); - else - // No space is required in the overview of the dash - this._dashSpacer.hide(); - - let fraction = DockManager.settings.get_double('height-fraction'); - - if (extendHeight) - fraction = 1; - else if ((fraction < 0) || (fraction > 1)) - fraction = 0.95; - - let anchor_point; - - if (this._isHorizontal) { - this.width = Math.round(fraction * workArea.width); - - let pos_y; - if (this._position == St.Side.BOTTOM) { - pos_y = this._monitor.y + this._monitor.height; - anchor_point = Clutter.Gravity.SOUTH_WEST; - } - else { - pos_y = this._monitor.y; - anchor_point = Clutter.Gravity.NORTH_WEST; - } - - this.move_anchor_point_from_gravity(anchor_point); - this.x = workArea.x + Math.round((1 - fraction) / 2 * workArea.width); - this.y = pos_y; - - if (extendHeight) { - this.dash._container.set_width(this.width); - this.add_style_class_name('extended'); - } - else { - this.dash._container.set_width(-1); - this.remove_style_class_name('extended'); - } - } - else { - this.height = Math.round(fraction * workArea.height); - - let pos_x; - if (this._position == St.Side.RIGHT) { - pos_x = this._monitor.x + this._monitor.width; - anchor_point = Clutter.Gravity.NORTH_EAST; - } - else { - pos_x = this._monitor.x; - anchor_point = Clutter.Gravity.NORTH_WEST; - } - - this.move_anchor_point_from_gravity(anchor_point); - this.x = pos_x; - this.y = workArea.y + Math.round((1 - fraction) / 2 * workArea.height); - - if (extendHeight) { - this.dash._container.set_height(this.height); - this.add_style_class_name('extended'); - } - else { - this.dash._container.set_height(-1); - this.remove_style_class_name('extended'); - } - } - - this._y0 = this.y; - } - - // Set the dash at the correct depth in z - _resetDepth() { - // Keep the dash below the modalDialogGroup - Main.layoutManager.uiGroup.set_child_below_sibling(this, Main.layoutManager.modalDialogGroup); - } - - _updateStaticBox() { - this.staticBox.init_rect( - this.x + this._slider.x - (this._position == St.Side.RIGHT ? this._box.width : 0), - this.y + this._slider.y - (this._position == St.Side.BOTTOM ? this._box.height : 0), - this._box.width, - this._box.height - ); - - this._intellihide.updateTargetBox(this.staticBox); - } - - _removeAnimations() { - this._slider.remove_all_transitions(); - } - - _onDragStart() { - // The dash need to be above the top_window_group, otherwise it doesn't - // accept dnd of app icons when not in overiew mode. - Main.layoutManager.uiGroup.set_child_above_sibling(this, global.top_window_group); - this._oldignoreHover = this._ignoreHover; - this._ignoreHover = true; - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - - _onDragEnd() { - // Restore drag default dash stack order - this._resetDepth(); - if (this._oldignoreHover !== null) - this._ignoreHover = this._oldignoreHover; - this._oldignoreHover = null; - this._box.sync_hover(); - if (Main.overview._shown) - this._pageChanged(); - } - - _pageChanged() { - let activePage = Main.overview.viewSelector.getActivePage(); - let dashVisible = (activePage == ViewSelector.ViewPage.WINDOWS || - activePage == ViewSelector.ViewPage.APPS); - - if (dashVisible) - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - else - this._animateOut(DockManager.settings.get_double('animation-time'), 0); - } - - _onPageEmpty() { - /* The dash spacer is required only in the WINDOWS view if in the default position. - * The 'page-empty' signal is emitted in between a change of view, - * signalling the spacer can be added and removed without visible effect, - * as it's done for the upstream dashSpacer. - * - * Moreover, hiding the spacer ensure the appGrid allocaton is triggered. - * This matter as the appview spring animation is triggered by to first reallocaton of the appGrid, - * (See appDisplay.js, line 202 on GNOME Shell 3.14: - * this._grid.actor.connect('notify::allocation', ...) - * which in turn seems to be triggered by changes in the other actors in the overview. - * Normally, as far as I could understand, either the dashSpacer being hidden or the workspacesThumbnails - * sliding out would trigger the allocation. However, with no stock dash - * and no thumbnails, which happen if the user configured only 1 and static workspace, - * the animation out of icons is not played. - */ - - let activePage = Main.overview.viewSelector.getActivePage(); - this._dashSpacer.visible = (this._isHorizontal || activePage == ViewSelector.ViewPage.WINDOWS); - } - - /** - * Show dock and give key focus to it - */ - _onAccessibilityFocus() { - this._box.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - - /** - * Keep ShowAppsButton status in sync with the overview status - */ - _syncShowAppsButtonToggled() { - let status = Main.overview.viewSelector._showAppsButton.checked; - if (this.dash.showAppsButton.checked !== status) - this.dash.showAppsButton.checked = status; - } - - // Optional features to be enabled only for the main Dock - _enableExtraFeatures() { - // Restore dash accessibility - Main.ctrlAltTabManager.addGroup( - this.dash, _('Dash'), 'user-bookmarks-symbolic', - {focusCallback: this._onAccessibilityFocus.bind(this)}); - } - - /** - * Switch workspace by scrolling over the dock - */ - _optionalScrollWorkspaceSwitch() { - let label = 'optionalScrollWorkspaceSwitch'; - - function isEnabled() { - return DockManager.settings.get_enum('scroll-action') === scrollAction.SWITCH_WORKSPACE; - } - - DockManager.settings.connect('changed::scroll-action', () => { - if (isEnabled.bind(this)()) - enable.bind(this)(); - else - disable.bind(this)(); - }); - - if (isEnabled.bind(this)()) - enable.bind(this)(); - - function enable() { - this._signalsHandler.removeWithLabel(label); - - this._signalsHandler.addWithLabel(label, [ - this._box, - 'scroll-event', - onScrollEvent.bind(this) - ]); - } - - function disable() { - this._signalsHandler.removeWithLabel(label); - - if (this._optionalScrollWorkspaceSwitchDeadTimeId) { - Mainloop.source_remove(this._optionalScrollWorkspaceSwitchDeadTimeId); - this._optionalScrollWorkspaceSwitchDeadTimeId = 0; - } - } - - // This was inspired to desktop-scroller@obsidien.github.com - function onScrollEvent(actor, event) { - // When in overview change workscape only in windows view - if (Main.overview.visible && Main.overview.viewSelector.getActivePage() !== ViewSelector.ViewPage.WINDOWS) - return false; - - let activeWs = global.workspace_manager.get_active_workspace(); - let direction = null; - - switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - direction = Meta.MotionDirection.UP; - break; - case Clutter.ScrollDirection.DOWN: - direction = Meta.MotionDirection.DOWN; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - if (dy < 0) - direction = Meta.MotionDirection.UP; - else if (dy > 0) - direction = Meta.MotionDirection.DOWN; - break; - } - - if (direction !== null) { - // Prevent scroll events from triggering too many workspace switches - // by adding a 250ms deadtime between each scroll event. - // Usefull on laptops when using a touchpad. - - // During the deadtime do nothing - if (this._optionalScrollWorkspaceSwitchDeadTimeId) - return false; - else - this._optionalScrollWorkspaceSwitchDeadTimeId = Mainloop.timeout_add(250, () => { - this._optionalScrollWorkspaceSwitchDeadTimeId = 0; - }); - - let ws; - - ws = activeWs.get_neighbor(direction) - - if (Main.wm._workspaceSwitcherPopup == null) - Main.wm._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup(); - // Set the actor non reactive, so that it doesn't prevent the - // clicks events from reaching the dash actor. I can't see a reason - // why it should be reactive. - Main.wm._workspaceSwitcherPopup.actor.reactive = false; - Main.wm._workspaceSwitcherPopup.connect('destroy', function() { - Main.wm._workspaceSwitcherPopup = null; - }); - - // Do not show wokspaceSwithcer in overview - if (!Main.overview.visible) - Main.wm._workspaceSwitcherPopup.display(direction, ws.index()); - Main.wm.actionMoveWorkspace(ws); - - return true; - } - else - return false; - } - } - - _activateApp(appIndex) { - let children = this.dash._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.app; - }); - - // Apps currently in the dash - let apps = children.map(function(actor) { - return actor.child._delegate; - }); - - // Activate with button = 1, i.e. same as left click - let button = 1; - if (appIndex < apps.length) - apps[appIndex].activate(button); - } -}); - -/* - * Handle keybaord shortcuts - */ -const DashToDock_KeyboardShortcuts_NUM_HOTKEYS = 10; - -var KeyboardShortcuts = class DashToDock_KeyboardShortcuts { - - constructor(allDocks){ - this._allDocks = allDocks; - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._hotKeysEnabled = false; - if (DockManager.settings.get_boolean('hot-keys')) - this._enableHotKeys(); - - this._signalsHandler.add([ - DockManager.settings, - 'changed::hot-keys', - () => { - if (DockManager.settings.get_boolean('hot-keys')) - this._enableHotKeys.bind(this)(); - else - this._disableHotKeys.bind(this)(); - } - ]); - - this._optionalNumberOverlay(); - } - - destroy() { - // Remove keybindings - this._disableHotKeys(); - this._disableExtraShortcut(); - this._signalsHandler.destroy(); - } - - _enableHotKeys() { - if (this._hotKeysEnabled) - return; - - // Setup keyboard bindings for dash elements - let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-']; - keys.forEach( function(key) { - for (let i = 0; i < DashToDock_KeyboardShortcuts_NUM_HOTKEYS; i++) { - let appNum = i; - Main.wm.addKeybinding(key + (i + 1), DockManager.settings, - Meta.KeyBindingFlags.NONE, - Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW, - () => { - this._allDocks[0]._activateApp(appNum); - this._showOverlay(); - }); - } - }, this); - - this._hotKeysEnabled = true; - } - - _disableHotKeys() { - if (!this._hotKeysEnabled) - return; - - let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-']; - keys.forEach( function(key) { - for (let i = 0; i < DashToDock_KeyboardShortcuts_NUM_HOTKEYS; i++) - Main.wm.removeKeybinding(key + (i + 1)); - }, this); - - this._hotKeysEnabled = false; - } - - _optionalNumberOverlay() { - let settings = DockManager.settings; - this._shortcutIsSet = false; - // Enable extra shortcut if either 'overlay' or 'show-dock' are true - if (settings.get_boolean('hot-keys') && - (settings.get_boolean('hotkeys-overlay') || settings.get_boolean('hotkeys-show-dock'))) - this._enableExtraShortcut(); - - this._signalsHandler.add([ - settings, - 'changed::hot-keys', - this._checkHotkeysOptions.bind(this) - ], [ - settings, - 'changed::hotkeys-overlay', - this._checkHotkeysOptions.bind(this) - ], [ - settings, - 'changed::hotkeys-show-dock', - this._checkHotkeysOptions.bind(this) - ]); - } - - _checkHotkeysOptions() { - let settings = DockManager.settings; - - if (settings.get_boolean('hot-keys') && - (settings.get_boolean('hotkeys-overlay') || settings.get_boolean('hotkeys-show-dock'))) - this._enableExtraShortcut(); - else - this._disableExtraShortcut(); - } - - _enableExtraShortcut() { - if (!this._shortcutIsSet) { - Main.wm.addKeybinding('shortcut', DockManager.settings, - Meta.KeyBindingFlags.NONE, - Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW, - this._showOverlay.bind(this)); - this._shortcutIsSet = true; - } - } - - _disableExtraShortcut() { - if (this._shortcutIsSet) { - Main.wm.removeKeybinding('shortcut'); - this._shortcutIsSet = false; - } - } - - _showOverlay() { - for (let i = 0; i < this._allDocks.length; i++) { - let dock = this._allDocks[i]; - if (dock._settings.get_boolean('hotkeys-overlay')) - dock.dash.toggleNumberOverlay(true); - - // Restart the counting if the shortcut is pressed again - if (dock._numberOverlayTimeoutId) { - Mainloop.source_remove(dock._numberOverlayTimeoutId); - dock._numberOverlayTimeoutId = 0; - } - - // Hide the overlay/dock after the timeout - let timeout = dock._settings.get_double('shortcut-timeout') * 1000; - dock._numberOverlayTimeoutId = Mainloop.timeout_add(timeout, () => { - dock._numberOverlayTimeoutId = 0; - dock.dash.toggleNumberOverlay(false); - // Hide the dock again if necessary - dock._updateDashVisibility(); - }); - - // Show the dock if it is hidden - if (dock._settings.get_boolean('hotkeys-show-dock')) { - let showDock = (dock._intellihideIsEnabled || dock._autohideIsEnabled); - if (showDock) - dock._show(); - } - } - } -}; - -/** - * Isolate overview to open new windows for inactive apps - * Note: the future implementaion is not fully contained here. Some bits are around in other methods of other classes. - * This class just take care of enabling/disabling the option. - */ -var WorkspaceIsolation = class DashToDock_WorkspaceIsolation { - - constructor(allDocks) { - - let settings = DockManager.settings; - this._allDocks = allDocks; - - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._injectionsHandler = new Utils.InjectionsHandler(); - - this._signalsHandler.add([ - settings, - 'changed::isolate-workspaces', - () => { - this._allDocks.forEach(function(dock) { - dock.dash.resetAppIcons(); - }); - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) - this._enable.bind(this)(); - else - this._disable.bind(this)(); - } - ],[ - settings, - 'changed::isolate-monitors', - () => { - this._allDocks.forEach(function(dock) { - dock.dash.resetAppIcons(); - }); - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) - this._enable.bind(this)(); - else - this._disable.bind(this)(); - } - ]); - - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) - this._enable(); - - } - - _enable() { - - // ensure I never double-register/inject - // although it should never happen - this._disable(); - - this._allDocks.forEach(function(dock) { - this._signalsHandler.addWithLabel('isolation', [ - global.display, - 'restacked', - dock.dash._queueRedisplay.bind(dock.dash) - ], [ - global.window_manager, - 'switch-workspace', - dock.dash._queueRedisplay.bind(dock.dash) - ]); - - // This last signal is only needed for monitor isolation, as windows - // might migrate from one monitor to another without triggering 'restacked' - if (DockManager.settings.get_boolean('isolate-monitors')) - this._signalsHandler.addWithLabel('isolation', [ - global.display, - 'window-entered-monitor', - dock.dash._queueRedisplay.bind(dock.dash) - ]); - - }, this); - - // here this is the Shell.App - function IsolatedOverview() { - // These lines take care of Nautilus for icons on Desktop - let windows = this.get_windows().filter(function(w) { - return w.get_workspace().index() == global.workspace_manager.get_active_workspace_index(); - }); - if (windows.length == 1) - if (windows[0].skip_taskbar) - return this.open_new_window(-1); - - if (this.is_on_workspace(global.workspace_manager.get_active_workspace())) - return Main.activateWindow(windows[0]); - return this.open_new_window(-1); - } - - this._injectionsHandler.addWithLabel('isolation', [ - Shell.App.prototype, - 'activate', - IsolatedOverview - ]); - } - - _disable () { - this._signalsHandler.removeWithLabel('isolation'); - this._injectionsHandler.removeWithLabel('isolation'); - } - - destroy() { - this._signalsHandler.destroy(); - this._injectionsHandler.destroy(); - } -}; - - -var DockManager = class DashToDock_DockManager { - - constructor() { - if (Me.imports.extension.dockManager) - throw new Error('DashToDock has been already initialized'); - - Me.imports.extension.dockManager = this; - - this._remoteModel = new LauncherAPI.LauncherEntryRemoteModel(); - this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.dash-to-dock'); - this._oldDash = Main.overview._dash; - this._ensureFileManagerClient(); - - /* Array of all the docks created */ - this._allDocks = []; - this._createDocks(); - - // status variable: true when the overview is shown through the dash - // applications button. - this._forcedOverview = false; - - // Connect relevant signals to the toggling function - this._bindSettingsChanges(); - } - - static getDefault() { - return Me.imports.extension.dockManager - } - - static get settings() { - return DockManager.getDefault()._settings; - } - - get fm1Client() { - return this._fm1Client; - } - - _ensureFileManagerClient() { - let supportsLocations = ['show-trash', 'show-mounts'].some((s) => { - return this._settings.get_boolean(s); - }); - - if (supportsLocations) { - if (!this._fm1Client) - this._fm1Client = new FileManager1API.FileManager1Client(); - } else if (this._fm1Client) { - this._fm1Client.destroy(); - this._fm1Client = null; - } - } - - _toggle() { - this._deleteDocks(); - this._createDocks(); - this.emit('toggled'); - } - - _bindSettingsChanges() { - // Connect relevant signals to the toggling function - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._signalsHandler.add([ - Meta.MonitorManager.get(), - 'monitors-changed', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::multi-monitor', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::preferred-monitor', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::dock-position', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::extend-height', - this._adjustPanelCorners.bind(this) - ], [ - this._settings, - 'changed::dock-fixed', - this._adjustPanelCorners.bind(this) - ], [ - this._settings, - 'changed::show-trash', - () => this._ensureFileManagerClient() - ], [ - this._settings, - 'changed::show-mounts', - () => this._ensureFileManagerClient() - ], ); - } - - _createDocks() { - - // If there are no monitors (headless configurations, but it can also happen temporary while disconnecting - // and reconnecting monitors), just do nothing. When a monitor will be connected we we'll be notified and - // and thus create the docks. This prevents pointing trying to access monitors throughout the code, were we - // are assuming that at least the primary monitor is present. - if (Main.layoutManager.monitors.length <= 0) { - return; - } - - this._preferredMonitorIndex = this._settings.get_int('preferred-monitor'); - // In case of multi-monitor, we consider the dock on the primary monitor to be the preferred (main) one - // regardless of the settings - // The dock goes on the primary monitor also if the settings are incosistent (e.g. desired monitor not connected). - if (this._settings.get_boolean('multi-monitor') || - this._preferredMonitorIndex < 0 || this._preferredMonitorIndex > Main.layoutManager.monitors.length - 1 - ) { - this._preferredMonitorIndex = Main.layoutManager.primaryIndex; - } else { - // Gdk and shell monitors numbering differ at least under wayland: - // While the primary monitor appears to be always index 0 in Gdk, - // the shell can assign a different number (Main.layoutManager.primaryMonitor) - // This ensure the indexing in the settings (Gdk) and in the shell are matched, - // i.e. that we start counting from the primaryMonitorIndex - this._preferredMonitorIndex = (Main.layoutManager.primaryIndex + this._preferredMonitorIndex) % Main.layoutManager.monitors.length ; - } - - // First we create the main Dock, to get the extra features to bind to this one - let dock = new DockedDash(this._remoteModel, this._preferredMonitorIndex); - this._allDocks.push(dock); - - // connect app icon into the view selector - dock.dash.showAppsButton.connect('notify::checked', this._onShowAppsButtonToggled.bind(this)); - - // Make the necessary changes to Main.overview._dash - this._prepareMainDash(); - - // Adjust corners if necessary - this._adjustPanelCorners(); - - if (this._settings.get_boolean('multi-monitor')) { - let nMon = Main.layoutManager.monitors.length; - for (let iMon = 0; iMon < nMon; iMon++) { - if (iMon == this._preferredMonitorIndex) - continue; - let dock = new DockedDash(this._remoteModel, iMon); - this._allDocks.push(dock); - // connect app icon into the view selector - dock.dash.showAppsButton.connect('notify::checked', this._onShowAppsButtonToggled.bind(this)); - } - } - - // Load optional features. We load *after* the docks are created, since - // we need to connect the signals to all dock instances. - this._workspaceIsolation = new WorkspaceIsolation(this._allDocks); - this._keyboardShortcuts = new KeyboardShortcuts(this._allDocks); - } - - _prepareMainDash() { - // Pretend I'm the dash: meant to make appgrd swarm animation come from the - // right position of the appShowButton. - Main.overview._dash = this._allDocks[0].dash; - - // set stored icon size to the new dash - Main.overview.dashIconSize = this._allDocks[0].dash.iconSize; - - // Hide usual Dash - Main.overview._controls.dash.actor.hide(); - - // Also set dash 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) - Main.overview._controls.dash.actor.set_width(1); - } - - _deleteDocks() { - // Remove extra features - this._workspaceIsolation.destroy(); - this._keyboardShortcuts.destroy(); - - // Delete all docks - let nDocks = this._allDocks.length; - for (let i = nDocks-1; i >= 0; i--) { - this._allDocks[i].destroy(); - this._allDocks.pop(); - } - } - - _restoreDash() { - Main.overview._controls.dash.actor.show(); - Main.overview._controls.dash.actor.set_width(-1); //reset default dash size - // This force the recalculation of the icon size - Main.overview._controls.dash._maxHeight = -1; - - // reset stored icon size to the default dash - Main.overview.dashIconSize = Main.overview._controls.dash.iconSize; - - Main.overview._dash = this._oldDash; - } - - _onShowAppsButtonToggled(button) { - // Sync the status of the default appButtons. Only if the two statuses are - // different, that means the user interacted with the extension provided - // application button, cutomize the behaviour. Otherwise the shell has changed the - // status (due to the _syncShowAppsButtonToggled function below) and it - // has already performed the desired action. - - let animate = this._settings.get_boolean('animate-show-apps'); - let selector = Main.overview.viewSelector; - - if (selector._showAppsButton.checked !== button.checked) { - // find visible view - let visibleView; - Main.overview.viewSelector.appDisplay._views.every(function(v, index) { - if (v.view.actor.visible) { - visibleView = index; - return false; - } - else - return true; - }); - - if (button.checked) { - // force spring animation triggering.By default the animation only - // runs if we are already inside the overview. - if (!Main.overview._shown) { - this._forcedOverview = true; - let view = Main.overview.viewSelector.appDisplay._views[visibleView].view; - let grid = view._grid; - if (animate) { - // Animate in the the appview, hide the appGrid to avoiud flashing - // Go to the appView before entering the overview, skipping the workspaces. - // Do this manually avoiding opacity in transitions so that the setting of the opacity - // to 0 doesn't get overwritten. - Main.overview.viewSelector._activePage.opacity = 0; - Main.overview.viewSelector._activePage.hide(); - Main.overview.viewSelector._activePage = Main.overview.viewSelector._appsPage; - Main.overview.viewSelector._activePage.show(); - grid.opacity = 0; - - // The animation has to be trigered manually because the AppDisplay.animate - // method is waiting for an allocation not happening, as we skip the workspace view - // and the appgrid could already be allocated from previous shown. - // It has to be triggered after the overview is shown as wrong coordinates are obtained - // otherwise. - let overviewShownId = Main.overview.connect('shown', () => { - Main.overview.disconnect(overviewShownId); - Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => { - grid.opacity = 255; - grid.animateSpring(IconGrid.AnimationDirection.IN, this._allDocks[0].dash.showAppsButton); - }); - }); - } - else { - Main.overview.viewSelector._activePage = Main.overview.viewSelector._appsPage; - Main.overview.viewSelector._activePage.show(); - grid.opacity = 255; - } - - } - - // Finally show the overview - selector._showAppsButton.checked = true; - Main.overview.show(); - } - else { - if (this._forcedOverview) { - // force exiting overview if needed - - if (animate) { - // Manually trigger springout animation without activating the - // workspaceView to avoid the zoomout animation. Hide the appPage - // onComplete to avoid ugly flashing of original icons. - let view = Main.overview.viewSelector.appDisplay._views[visibleView].view; - view.animate(IconGrid.AnimationDirection.OUT, () => { - Main.overview.viewSelector._appsPage.hide(); - Main.overview.hide(); - selector._showAppsButton.checked = false; - this._forcedOverview = false; - }); - } - else { - Main.overview.hide(); - this._forcedOverview = false; - } - } - else { - selector._showAppsButton.checked = false; - this._forcedOverview = false; - } - } - } - - // whenever the button is unactivated even if not by the user still reset the - // forcedOverview flag - if (button.checked == false) - this._forcedOverview = false; - } - - destroy() { - this._signalsHandler.destroy(); - this._deleteDocks(); - this._revertPanelCorners(); - this._restoreDash(); - if (this._fm1Client) { - this._fm1Client.destroy(); - this._fm1Client = null; - } - this._remoteModel.destroy(); - this._settings.run_dispose(); - this._settings = null; - - Me.imports.extension.dockManager = null; - } - - /** - * Adjust Panel corners - */ - _adjustPanelCorners() { - let position = Utils.getPosition(); - let isHorizontal = ((position == St.Side.TOP) || (position == St.Side.BOTTOM)); - let extendHeight = this._settings.get_boolean('extend-height'); - let fixedIsEnabled = this._settings.get_boolean('dock-fixed'); - let dockOnPrimary = this._settings.get_boolean('multi-monitor') || - this._preferredMonitorIndex == Main.layoutManager.primaryIndex; - - if (!isHorizontal && dockOnPrimary && extendHeight && fixedIsEnabled) { - Main.panel._rightCorner.actor.hide(); - Main.panel._leftCorner.actor.hide(); - } - else - this._revertPanelCorners(); - } - - _revertPanelCorners() { - Main.panel._leftCorner.actor.show(); - Main.panel._rightCorner.actor.show(); - } -}; -Signals.addSignalMethods(DockManager.prototype); diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js deleted file mode 100644 index 0b7b5c63..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js +++ /dev/null @@ -1,21 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; - -// We declare this with var so it can be accessed by other extensions in -// GNOME Shell 3.26+ (mozjs52+). -var dockManager; - -function init() { - ExtensionUtils.initTranslations('dashtodock'); -} - -function enable() { - new Docking.DockManager(); -} - -function disable() { - dockManager.destroy(); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js deleted file mode 100644 index 2b9bbe88..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js +++ /dev/null @@ -1,217 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Gio = imports.gi.Gio; -const Signals = imports.signals; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Utils = Me.imports.utils; - -const FileManager1Iface = '\ - \ - \ - '; - -const FileManager1Proxy = Gio.DBusProxy.makeProxyWrapper(FileManager1Iface); - -/** - * This class implements a client for the org.freedesktop.FileManager1 dbus - * interface, and specifically for the OpenWindowsWithLocations property - * which is published by Nautilus, but is not an official part of the interface. - * - * The property is a map from window identifiers to a list of locations open in - * the window. - * - * While OpeWindowsWithLocations is part of upstream Nautilus, for many years - * prior, Ubuntu patched Nautilus to publish XUbuntuOpenLocationsXids, which is - * similar but uses Xids as the window identifiers instead of gtk window paths. - * - * When an old or unpatched Nautilus is running, we will observe the properties - * to always be empty arrays, but there will not be any correctness issues. - */ -var FileManager1Client = class DashToDock_FileManager1Client { - - constructor() { - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._locationMap = new Map(); - this._proxy = new FileManager1Proxy(Gio.DBus.session, - "org.freedesktop.FileManager1", - "/org/freedesktop/FileManager1", - (initable, error) => { - // Use async construction to avoid blocking on errors. - if (error) { - global.log(error); - } else { - this._updateLocationMap(); - } - }); - - this._signalsHandler.add([ - this._proxy, - 'g-properties-changed', - this._onPropertyChanged.bind(this) - ], [ - // We must additionally listen for Screen events to know when to - // rebuild our location map when the set of available windows changes. - global.workspace_manager, - 'workspace-switched', - this._updateLocationMap.bind(this) - ], [ - global.display, - 'window-entered-monitor', - this._updateLocationMap.bind(this) - ], [ - global.display, - 'window-left-monitor', - this._updateLocationMap.bind(this) - ]); - } - - destroy() { - this._signalsHandler.destroy(); - this._proxy.run_dispose(); - } - - /** - * Return an array of windows that are showing a location or - * sub-directories of that location. - */ - getWindows(location) { - let ret = new Set(); - for (let [k,v] of this._locationMap) { - if (k.startsWith(location)) { - for (let l of v) { - ret.add(l); - } - } - } - return Array.from(ret); - } - - _onPropertyChanged(proxy, changed, invalidated) { - let property = changed.unpack(); - if (property && - ('XUbuntuOpenLocationsXids' in property || - 'OpenWindowsWithLocations' in property)) { - this._updateLocationMap(); - } - } - - _updateLocationMap() { - let properties = this._proxy.get_cached_property_names(); - if (properties == null) { - // Nothing to check yet. - return; - } - - if (properties.includes('OpenWindowsWithLocations')) { - this._updateFromPaths(); - } else if (properties.includes('XUbuntuOpenLocationsXids')) { - this._updateFromXids(); - } - } - - _updateFromPaths() { - let pathToLocations = this._proxy.OpenWindowsWithLocations; - let pathToWindow = getPathToWindow(); - - let locationToWindow = new Map(); - for (let path in pathToLocations) { - let locations = pathToLocations[path]; - for (let i = 0; i < locations.length; i++) { - let l = locations[i]; - // Use a set to deduplicate when a window has a - // location open in multiple tabs. - if (!locationToWindow.has(l)) { - locationToWindow.set(l, new Set()); - } - let window = pathToWindow.get(path); - if (window != null) { - locationToWindow.get(l).add(window); - } - } - } - this._locationMap = locationToWindow; - this.emit('windows-changed'); - } - - _updateFromXids() { - let xidToLocations = this._proxy.XUbuntuOpenLocationsXids; - let xidToWindow = getXidToWindow(); - - let locationToWindow = new Map(); - for (let xid in xidToLocations) { - let locations = xidToLocations[xid]; - for (let i = 0; i < locations.length; i++) { - let l = locations[i]; - // Use a set to deduplicate when a window has a - // location open in multiple tabs. - if (!locationToWindow.has(l)) { - locationToWindow.set(l, new Set()); - } - let window = xidToWindow.get(parseInt(xid)); - if (window != null) { - locationToWindow.get(l).add(window); - } - } - } - this._locationMap = locationToWindow; - this.emit('windows-changed'); - } -} -Signals.addSignalMethods(FileManager1Client.prototype); - -/** - * Construct a map of gtk application window object paths to MetaWindows. - */ -function getPathToWindow() { - let pathToWindow = new Map(); - - for (let i = 0; i < global.workspace_manager.n_workspaces; i++) { - let ws = global.workspace_manager.get_workspace_by_index(i); - ws.list_windows().map(function(w) { - let path = w.get_gtk_window_object_path(); - if (path != null) { - pathToWindow.set(path, w); - } - }); - } - return pathToWindow; -} - -/** - * Construct a map of XIDs to MetaWindows. - * - * This is somewhat annoying as you cannot lookup a window by - * XID in any way, and must iterate through all of them looking - * for a match. - */ -function getXidToWindow() { - let xidToWindow = new Map(); - - for (let i = 0; i < global.workspace_manager.n_workspaces; i++) { - let ws = global.workspace_manager.get_workspace_by_index(i); - ws.list_windows().map(function(w) { - let xid = guessWindowXID(w); - if (xid != null) { - xidToWindow.set(parseInt(xid), w); - } - }); - } - return xidToWindow; -} - -/** - * Guesses the X ID of a window. - * - * This is the basic implementation that is sufficient for Nautilus - * windows. The pixel-saver extension has a much more complex - * implementation if we ever need it. - */ -function guessWindowXID(win) { - try { - return win.get_description().match(/0x[0-9a-f]+/)[0]; - } catch (err) { - return null; - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js deleted file mode 100644 index 2fd700ba..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js +++ /dev/null @@ -1,321 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const GLib = imports.gi.GLib; -const Mainloop = imports.mainloop; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; - -const Main = imports.ui.main; -const Signals = imports.signals; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; -const Utils = Me.imports.utils; - -// A good compromise between reactivity and efficiency; to be tuned. -const INTELLIHIDE_CHECK_INTERVAL = 100; - -const OverlapStatus = { - UNDEFINED: -1, - FALSE: 0, - TRUE: 1 -}; - -const IntellihideMode = { - ALL_WINDOWS: 0, - FOCUS_APPLICATION_WINDOWS: 1, - MAXIMIZED_WINDOWS : 2 -}; - -// List of windows type taken into account. Order is important (keep the original -// enum order). -const handledWindowTypes = [ - Meta.WindowType.NORMAL, - Meta.WindowType.DOCK, - Meta.WindowType.DIALOG, - Meta.WindowType.MODAL_DIALOG, - Meta.WindowType.TOOLBAR, - Meta.WindowType.MENU, - Meta.WindowType.UTILITY, - Meta.WindowType.SPLASHSCREEN -]; - -/** - * A rough and ugly implementation of the intellihide behaviour. - * Intallihide object: emit 'status-changed' signal when the overlap of windows - * with the provided targetBoxClutter.ActorBox changes; - */ -var Intellihide = class DashToDock_Intellihide { - - constructor(monitorIndex) { - // Load settings - this._monitorIndex = monitorIndex; - - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._tracker = Shell.WindowTracker.get_default(); - this._focusApp = null; // The application whose window is focused. - this._topApp = null; // The application whose window is on top on the monitor with the dock. - - this._isEnabled = false; - this.status = OverlapStatus.UNDEFINED; - this._targetBox = null; - - this._checkOverlapTimeoutContinue = false; - this._checkOverlapTimeoutId = 0; - - this._trackedWindows = new Map(); - - // Connect global signals - this._signalsHandler.add([ - // Add signals on windows created from now on - global.display, - 'window-created', - this._windowCreated.bind(this) - ], [ - // triggered for instance when the window list order changes, - // included when the workspace is switched - global.display, - 'restacked', - this._checkOverlap.bind(this) - ], [ - // when windows are alwasy on top, the focus window can change - // without the windows being restacked. Thus monitor window focus change. - this._tracker, - 'notify::focus-app', - this._checkOverlap.bind(this) - ], [ - // update wne monitor changes, for instance in multimonitor when monitor are attached - Meta.MonitorManager.get(), - 'monitors-changed', - this._checkOverlap.bind(this) - ]); - } - - destroy() { - // Disconnect global signals - this._signalsHandler.destroy(); - - // Remove residual windows signals - this.disable(); - } - - enable() { - this._isEnabled = true; - this._status = OverlapStatus.UNDEFINED; - global.get_window_actors().forEach(function(wa) { - this._addWindowSignals(wa); - }, this); - this._doCheckOverlap(); - } - - disable() { - this._isEnabled = false; - - for (let wa of this._trackedWindows.keys()) { - this._removeWindowSignals(wa); - } - this._trackedWindows.clear(); - - if (this._checkOverlapTimeoutId > 0) { - Mainloop.source_remove(this._checkOverlapTimeoutId); - this._checkOverlapTimeoutId = 0; - } - } - - _windowCreated(display, metaWindow) { - this._addWindowSignals(metaWindow.get_compositor_private()); - } - - _addWindowSignals(wa) { - if (!this._handledWindow(wa)) - return; - let signalId = wa.connect('allocation-changed', this._checkOverlap.bind(this)); - this._trackedWindows.set(wa, signalId); - wa.connect('destroy', this._removeWindowSignals.bind(this)); - } - - _removeWindowSignals(wa) { - if (this._trackedWindows.get(wa)) { - wa.disconnect(this._trackedWindows.get(wa)); - this._trackedWindows.delete(wa); - } - - } - - updateTargetBox(box) { - this._targetBox = box; - this._checkOverlap(); - } - - forceUpdate() { - this._status = OverlapStatus.UNDEFINED; - this._doCheckOverlap(); - } - - getOverlapStatus() { - return (this._status == OverlapStatus.TRUE); - } - - _checkOverlap() { - if (!this._isEnabled || (this._targetBox == null)) - return; - - /* Limit the number of calls to the doCheckOverlap function */ - if (this._checkOverlapTimeoutId) { - this._checkOverlapTimeoutContinue = true; - return - } - - this._doCheckOverlap(); - - this._checkOverlapTimeoutId = Mainloop.timeout_add(INTELLIHIDE_CHECK_INTERVAL, () => { - this._doCheckOverlap(); - if (this._checkOverlapTimeoutContinue) { - this._checkOverlapTimeoutContinue = false; - return GLib.SOURCE_CONTINUE; - } else { - this._checkOverlapTimeoutId = 0; - return GLib.SOURCE_REMOVE; - } - }); - } - - _doCheckOverlap() { - - if (!this._isEnabled || (this._targetBox == null)) - return; - - let overlaps = OverlapStatus.FALSE; - let windows = global.get_window_actors(); - - if (windows.length > 0) { - /* - * Get the top window on the monitor where the dock is placed. - * The idea is that we dont want to overlap with the windows of the topmost application, - * event is it's not the focused app -- for instance because in multimonitor the user - * select a window in the secondary monitor. - */ - - let topWindow = null; - for (let i = windows.length - 1; i >= 0; i--) { - let meta_win = windows[i].get_meta_window(); - if (this._handledWindow(windows[i]) && (meta_win.get_monitor() == this._monitorIndex)) { - topWindow = meta_win; - break; - } - } - - if (topWindow !== null) { - this._topApp = this._tracker.get_window_app(topWindow); - // If there isn't a focused app, use that of the window on top - this._focusApp = this._tracker.focus_app || this._topApp - - windows = windows.filter(this._intellihideFilterInteresting, this); - - for (let i = 0; i < windows.length; i++) { - let win = windows[i].get_meta_window(); - - if (win) { - let rect = win.get_frame_rect(); - - let test = (rect.x < this._targetBox.x2) && - (rect.x + rect.width > this._targetBox.x1) && - (rect.y < this._targetBox.y2) && - (rect.y + rect.height > this._targetBox.y1); - - if (test) { - overlaps = OverlapStatus.TRUE; - break; - } - } - } - } - } - - if (this._status !== overlaps) { - this._status = overlaps; - this.emit('status-changed', this._status); - } - - } - - // Filter interesting windows to be considered for intellihide. - // Consider all windows visible on the current workspace. - // Optionally skip windows of other applications - _intellihideFilterInteresting(wa) { - let meta_win = wa.get_meta_window(); - if (!this._handledWindow(wa)) - return false; - - let currentWorkspace = global.workspace_manager.get_active_workspace_index(); - let wksp = meta_win.get_workspace(); - let wksp_index = wksp.index(); - - // Depending on the intellihide mode, exclude non-relevent windows - switch (Docking.DockManager.settings.get_enum('intellihide-mode')) { - case IntellihideMode.ALL_WINDOWS: - // Do nothing - break; - - case IntellihideMode.FOCUS_APPLICATION_WINDOWS: - // Skip windows of other apps - if (this._focusApp) { - // The DropDownTerminal extension is not an application per se - // so we match its window by wm class instead - if (meta_win.get_wm_class() == 'DropDownTerminalWindow') - return true; - - let currentApp = this._tracker.get_window_app(meta_win); - let focusWindow = global.display.get_focus_window() - - // Consider half maximized windows side by side - // and windows which are alwayson top - if((currentApp != this._focusApp) && (currentApp != this._topApp) - && !((focusWindow && focusWindow.maximized_vertically && !focusWindow.maximized_horizontally) - && (meta_win.maximized_vertically && !meta_win.maximized_horizontally) - && meta_win.get_monitor() == focusWindow.get_monitor()) - && !meta_win.is_above()) - return false; - } - break; - - case IntellihideMode.MAXIMIZED_WINDOWS: - // Skip unmaximized windows - if (!meta_win.maximized_vertically && !meta_win.maximized_horizontally) - return false; - break; - } - - if ( wksp_index == currentWorkspace && meta_win.showing_on_its_workspace() ) - return true; - else - return false; - - } - - // Filter windows by type - // inspired by Opacify@gnome-shell.localdomain.pl - _handledWindow(wa) { - let metaWindow = wa.get_meta_window(); - - if (!metaWindow) - return false; - - // The DropDownTerminal extension uses the POPUP_MENU window type hint - // so we match its window by wm class instead - if (metaWindow.get_wm_class() == 'DropDownTerminalWindow') - return true; - - let wtype = metaWindow.get_window_type(); - for (let i = 0; i < handledWindowTypes.length; i++) { - var hwtype = handledWindowTypes[i]; - if (hwtype == wtype) - return true; - else if (hwtype > wtype) - return false; - } - return false; - } -}; - -Signals.addSignalMethods(Intellihide.prototype); diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js deleted file mode 100644 index f0b61990..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js +++ /dev/null @@ -1,239 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Gio = imports.gi.Gio; -const Signals = imports.signals; - -var LauncherEntryRemoteModel = class DashToDock_LauncherEntryRemoteModel { - - constructor() { - this._entriesByDBusName = {}; - - this._launcher_entry_dbus_signal_id = - Gio.DBus.session.signal_subscribe(null, // sender - 'com.canonical.Unity.LauncherEntry', // iface - null, // member - null, // path - null, // arg0 - Gio.DBusSignalFlags.NONE, - this._onEntrySignalReceived.bind(this)); - - this._dbus_name_owner_changed_signal_id = - Gio.DBus.session.signal_subscribe('org.freedesktop.DBus', // sender - 'org.freedesktop.DBus', // interface - 'NameOwnerChanged', // member - '/org/freedesktop/DBus', // path - null, // arg0 - Gio.DBusSignalFlags.NONE, - this._onDBusNameOwnerChanged.bind(this)); - - this._acquireUnityDBus(); - } - - destroy() { - if (this._launcher_entry_dbus_signal_id) { - Gio.DBus.session.signal_unsubscribe(this._launcher_entry_dbus_signal_id); - } - - if (this._dbus_name_owner_changed_signal_id) { - Gio.DBus.session.signal_unsubscribe(this._dbus_name_owner_changed_signal_id); - } - - this._releaseUnityDBus(); - } - - size() { - return Object.keys(this._entriesByDBusName).length; - } - - lookupByDBusName(dbusName) { - return this._entriesByDBusName.hasOwnProperty(dbusName) ? this._entriesByDBusName[dbusName] : null; - } - - lookupById(appId) { - let ret = []; - for (let dbusName in this._entriesByDBusName) { - let entry = this._entriesByDBusName[dbusName]; - if (entry && entry.appId() == appId) { - ret.push(entry); - } - } - - return ret; - } - - addEntry(entry) { - let existingEntry = this.lookupByDBusName(entry.dbusName()); - if (existingEntry) { - existingEntry.update(entry); - } else { - this._entriesByDBusName[entry.dbusName()] = entry; - this.emit('entry-added', entry); - } - } - - removeEntry(entry) { - delete this._entriesByDBusName[entry.dbusName()] - this.emit('entry-removed', entry); - } - - _acquireUnityDBus() { - if (!this._unity_bus_id) { - Gio.DBus.session.own_name('com.canonical.Unity', - Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null); - } - } - - _releaseUnityDBus() { - if (this._unity_bus_id) { - Gio.DBus.session.unown_name(this._unity_bus_id); - this._unity_bus_id = 0; - } - } - - _onEntrySignalReceived(connection, sender_name, object_path, - interface_name, signal_name, parameters, user_data) { - if (!parameters || !signal_name) - return; - - if (signal_name == 'Update') { - if (!sender_name) { - return; - } - - this._handleUpdateRequest(sender_name, parameters); - } - } - - _onDBusNameOwnerChanged(connection, sender_name, object_path, - interface_name, signal_name, parameters, user_data) { - if (!parameters || !this.size()) - return; - - let [name, before, after] = parameters.deep_unpack(); - - if (!after) { - if (this._entriesByDBusName.hasOwnProperty(before)) { - this.removeEntry(this._entriesByDBusName[before]); - } - } - } - - _handleUpdateRequest(senderName, parameters) { - if (!senderName || !parameters) { - return; - } - - let [appUri, properties] = parameters.deep_unpack(); - let appId = appUri.replace(/(^\w+:|^)\/\//, ''); - let entry = this.lookupByDBusName(senderName); - - if (entry) { - entry.setDBusName(senderName); - entry.update(properties); - } else { - let entry = new LauncherEntryRemote(senderName, appId, properties); - this.addEntry(entry); - } - } -}; -Signals.addSignalMethods(LauncherEntryRemoteModel.prototype); - -var LauncherEntryRemote = class DashToDock_LauncherEntryRemote { - - constructor(dbusName, appId, properties) { - this._dbusName = dbusName; - this._appId = appId; - this._count = 0; - this._countVisible = false; - this._progress = 0.0; - this._progressVisible = false; - this.update(properties); - } - - appId() { - return this._appId; - } - - dbusName() { - return this._dbusName; - } - - count() { - return this._count; - } - - setCount(count) { - if (this._count != count) { - this._count = count; - this.emit('count-changed', this._count); - } - } - - countVisible() { - return this._countVisible; - } - - setCountVisible(countVisible) { - if (this._countVisible != countVisible) { - this._countVisible = countVisible; - this.emit('count-visible-changed', this._countVisible); - } - } - - progress() { - return this._progress; - } - - setProgress(progress) { - if (this._progress != progress) { - this._progress = progress; - this.emit('progress-changed', this._progress); - } - } - - progressVisible() { - return this._progressVisible; - } - - setProgressVisible(progressVisible) { - if (this._progressVisible != progressVisible) { - this._progressVisible = progressVisible; - this.emit('progress-visible-changed', this._progressVisible); - } - } - - setDBusName(dbusName) { - if (this._dbusName != dbusName) { - let oldName = this._dbusName; - this._dbusName = dbusName; - this.emit('dbus-name-changed', oldName); - } - } - - update(other) { - if (other instanceof LauncherEntryRemote) { - this.setDBusName(other.dbusName()) - this.setCount(other.count()); - this.setCountVisible(other.countVisible()); - this.setProgress(other.progress()); - this.setProgressVisible(other.progressVisible()) - } else { - for (let property in other) { - if (other.hasOwnProperty(property)) { - if (property == 'count') { - this.setCount(other[property].get_int64()); - } else if (property == 'count-visible') { - this.setCountVisible(other[property].get_boolean()); - } if (property == 'progress') { - this.setProgress(other[property].get_double()); - } else if (property == 'progress-visible') { - this.setProgressVisible(other[property].get_boolean()); - } else { - // Not implemented yet - } - } - } - } - } -}; -Signals.addSignalMethods(LauncherEntryRemote.prototype); diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ar/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ar/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 15b1360f7527279aeff105d1dbaf418f3cdd590b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8344 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/cs/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/cs/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index e5ac24b3e44f6dcd77a58eaa1dc85f6654ddf553..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10069 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 S364bSVt&dpj3ED&q5cPz?N*oo diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/de/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/de/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index f7b2ed5d7df55c366fd7e3e10f644829af6eb948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8726 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 GNcFJ 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/hu/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/hu/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 610c61a4a3f51574186f822f49033b44d0993a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9317 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/it/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/it/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index dc3ccb95ff7fb0ec10c53e4a53158dcec8025283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9935 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 YGq)_z(?mOMJ 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 E0u(K4R{#J2 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nl/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nl/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 9b39fb14f94479de4d16eed2255e2bcff2c10524..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5017 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ru/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ru/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 757906bd96d4b3d5ddf76424147641034c15625f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12666 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sk/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sk/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 2457462deff91076472fd39d1962195b47d615d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6331 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 JI`M1!{{qK~D}4X} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr@latin/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr@latin/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index a4a0662701dafd688f121517fd5522c98e38926d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8865 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 G@qYkZ|0~}B diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sv/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sv/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 58f5c728dc31cfb7794986003c0a75c37117c341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9532 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 Q=ve}&HaAsVIbS{hFR>~nDF6Tf diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/tr/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/tr/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 49fb0f16c071fd47bb06279ef736b40c37e4a85b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9771 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/uk_UA/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/uk_UA/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index a475c96e2e0d6cc93a45fbc49eaf6d316920e592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15770 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_CN/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_CN/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 5511cf8d5d6b6507c724233155a2a6c8a59d998f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8335 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 m5h&y { - this._onVolumeAdded(this._monitor, volume); - } - ); - - this._monitor.get_mounts().forEach( - (mount) => { - this._onMountAdded(this._monitor, mount); - } - ); - - this._signalsHandler.add([ - this._monitor, - 'mount-added', - this._onMountAdded.bind(this) - ], [ - this._monitor, - 'mount-removed', - this._onMountRemoved.bind(this) - ], [ - this._monitor, - 'volume-added', - this._onVolumeAdded.bind(this) - ], [ - this._monitor, - 'volume-removed', - this._onVolumeRemoved.bind(this) - ]); - } - - destroy() { - this._signalsHandler.destroy(); - this._monitor.run_dispose(); - } - - _getWorkingIconName(icon) { - if (icon instanceof Gio.ThemedIcon) { - let iconTheme = Gtk.IconTheme.get_default(); - let names = icon.get_names(); - for (let i = 0; i < names.length; i++) { - let iconName = names[i]; - if (iconTheme.has_icon(iconName)) { - return iconName; - } - } - return ''; - } else { - return icon.to_string(); - } - } - - _onVolumeAdded(monitor, volume) { - if (!volume.can_mount()) { - return; - } - - let activationRoot = volume.get_activation_root(); - if (!activationRoot) { - // Can't offer to mount a device if we don't know - // where to mount it. - // These devices are usually ejectable so you - // don't normally unmount them anyway. - return; - } - let uri = GLib.uri_unescape_string(activationRoot.get_uri(), null); - - let volumeKeys = new GLib.KeyFile(); - volumeKeys.set_string('Desktop Entry', 'Name', volume.get_name()); - volumeKeys.set_string('Desktop Entry', 'Icon', this._getWorkingIconName(volume.get_icon())); - volumeKeys.set_string('Desktop Entry', 'Type', 'Application'); - volumeKeys.set_string('Desktop Entry', 'Exec', 'nautilus "' + uri + '"'); - volumeKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); - volumeKeys.set_string('Desktop Entry', 'Actions', 'mount;'); - volumeKeys.set_string('Desktop Action mount', 'Name', __('Mount')); - volumeKeys.set_string('Desktop Action mount', 'Exec', 'gio mount "' + uri + '"'); - let volumeAppInfo = Gio.DesktopAppInfo.new_from_keyfile(volumeKeys); - let volumeApp = new Shell.App({appInfo: volumeAppInfo}); - this._volumeApps.push(volumeApp); - this.emit('changed'); - } - - _onVolumeRemoved(monitor, volume) { - for (let i = 0; i < this._volumeApps.length; i++) { - let app = this._volumeApps[i]; - if (app.get_name() == volume.get_name()) { - this._volumeApps.splice(i, 1); - } - } - this.emit('changed'); - } - - _onMountAdded(monitor, mount) { - // Filter out uninteresting mounts - if (!mount.can_eject() && !mount.can_unmount()) - return; - if (mount.is_shadowed()) - return; - - let volume = mount.get_volume(); - if (!volume || volume.get_identifier('class') == 'network') { - return; - } - - let escapedUri = mount.get_root().get_uri() - let uri = GLib.uri_unescape_string(escapedUri, null); - - let mountKeys = new GLib.KeyFile(); - mountKeys.set_string('Desktop Entry', 'Name', mount.get_name()); - mountKeys.set_string('Desktop Entry', 'Icon', - this._getWorkingIconName(volume.get_icon())); - mountKeys.set_string('Desktop Entry', 'Type', 'Application'); - mountKeys.set_string('Desktop Entry', 'Exec', 'gio open "' + uri + '"'); - mountKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); - mountKeys.set_string('Desktop Entry', 'XdtdUri', escapedUri); - mountKeys.set_string('Desktop Entry', 'Actions', 'unmount;'); - if (mount.can_eject()) { - mountKeys.set_string('Desktop Action unmount', 'Name', __('Eject')); - mountKeys.set_string('Desktop Action unmount', 'Exec', - 'gio mount -e "' + uri + '"'); - } else { - mountKeys.set_string('Desktop Entry', 'Actions', 'unmount;'); - mountKeys.set_string('Desktop Action unmount', 'Name', __('Unmount')); - mountKeys.set_string('Desktop Action unmount', 'Exec', - 'gio mount -u "' + uri + '"'); - } - let mountAppInfo = Gio.DesktopAppInfo.new_from_keyfile(mountKeys); - let mountApp = new Shell.App({appInfo: mountAppInfo}); - this._mountApps.push(mountApp); - this.emit('changed'); - } - - _onMountRemoved(monitor, mount) { - for (let i = 0; i < this._mountApps.length; i++) { - let app = this._mountApps[i]; - if (app.get_name() == mount.get_name()) { - this._mountApps.splice(i, 1); - } - } - this.emit('changed'); - } - - getApps() { - // When we have both a volume app and a mount app, we prefer - // the mount app. - let apps = new Map(); - this._volumeApps.map(function(app) { - apps.set(app.get_name(), app); - }); - this._mountApps.map(function(app) { - apps.set(app.get_name(), app); - }); - - let ret = []; - for (let app of apps.values()) { - ret.push(app); - } - return ret; - } -} -Signals.addSignalMethods(Removables.prototype); diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg deleted file mode 100644 index 55b71baa..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg deleted file mode 100644 index 19be5a9d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg deleted file mode 100644 index eeaa8691..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg deleted file mode 100644 index eebd0b1d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg +++ /dev/null @@ -1,528 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dash to Dock - Michele - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json deleted file mode 100644 index a58baa03..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_generated": "Generated by SweetTooth, do not edit", - "description": "A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.", - "gettext-domain": "dashtodock", - "name": "Dash to Dock", - "original-author": "micxgx@gmail.com", - "shell-version": [ - "3.34" - ], - "url": "https://micheleg.github.io/dash-to-dock/", - "uuid": "dash-to-dock@micxgx.gmail.com", - "version": 67 -} \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js deleted file mode 100644 index 55230298..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js +++ /dev/null @@ -1,869 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Gdk = imports.gi.Gdk; -const Mainloop = imports.mainloop; - -// Use __ () and N__() for the extension gettext domain, and reuse -// the shell domain with the default _() and N_() -const Gettext = imports.gettext.domain('dashtodock'); -const __ = Gettext.gettext; -const N__ = function(e) { return e }; - -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); - -const SCALE_UPDATE_TIMEOUT = 500; -const DEFAULT_ICONS_SIZES = [ 128, 96, 64, 48, 32, 24, 16 ]; - -const TransparencyMode = { - DEFAULT: 0, - FIXED: 1, - DYNAMIC: 3 -}; - -const RunningIndicatorStyle = { - DEFAULT: 0, - DOTS: 1, - SQUARES: 2, - DASHES: 3, - SEGMENTED: 4, - SOLID: 5, - CILIORA: 6, - METRO: 7 -}; - -/** - * This function was copied from the activities-config extension - * https://github.com/nls1729/acme-code/tree/master/activities-config - * by Norman L. Smith. - */ -function cssHexString(css) { - let rrggbb = '#'; - let start; - for (let loop = 0; loop < 3; loop++) { - let end = 0; - let xx = ''; - for (let loop = 0; loop < 2; loop++) { - while (true) { - let x = css.slice(end, end + 1); - if ((x == '(') || (x == ',') || (x == ')')) - break; - end++; - } - if (loop == 0) { - end++; - start = end; - } - } - xx = parseInt(css.slice(start, end)).toString(16); - if (xx.length == 1) - xx = '0' + xx; - rrggbb += xx; - css = css.slice(end); - } - return rrggbb; -} - -function setShortcut(settings) { - let shortcut_text = settings.get_string('shortcut-text'); - let [key, mods] = Gtk.accelerator_parse(shortcut_text); - - if (Gtk.accelerator_valid(key, mods)) { - let shortcut = Gtk.accelerator_name(key, mods); - settings.set_strv('shortcut', [shortcut]); - } - else { - settings.set_strv('shortcut', []); - } -} - -var Settings = class DashToDock_Settings { - - constructor() { - this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.dash-to-dock'); - - this._rtl = (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL); - - this._builder = new Gtk.Builder(); - this._builder.set_translation_domain(Me.metadata['gettext-domain']); - this._builder.add_from_file(Me.path + '/Settings.ui'); - - this.widget = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER }); - this._notebook = this._builder.get_object('settings_notebook'); - this.widget.add(this._notebook); - - // Set a reasonable initial window height - this.widget.connect('realize', () => { - let window = this.widget.get_toplevel(); - let [default_width, default_height] = window.get_default_size(); - window.resize(default_width, 650); - }); - - // Timeout to delay the update of the settings - this._dock_size_timeout = 0; - this._icon_size_timeout = 0; - this._opacity_timeout = 0; - - this._bindSettings(); - - this._builder.connect_signals_full(this._connector.bind(this)); - } - - /** - * Connect signals - */ - _connector(builder, object, signal, handler) { - /**init - * Object containing all signals defined in the glade file - */ - const SignalHandler = { - dock_display_combo_changed_cb(combo) { - this._settings.set_int('preferred-monitor', this._monitors[combo.get_active()]); - }, - - position_top_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 0); - }, - - position_right_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 1); - }, - - position_bottom_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 2); - }, - - position_left_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 3); - }, - - icon_size_combo_changed_cb(combo) { - this._settings.set_int('dash-max-icon-size', this._allIconSizes[combo.get_active()]); - }, - - dock_size_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - dock_size_scale_value_changed_cb(scale) { - // Avoid settings the size consinuosly - if (this._dock_size_timeout > 0) - Mainloop.source_remove(this._dock_size_timeout); - - this._dock_size_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('height-fraction', scale.get_value()); - this._dock_size_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - icon_size_scale_format_value_cb(scale, value) { - return value + ' px'; - }, - - icon_size_scale_value_changed_cb(scale) { - // Avoid settings the size consinuosly - if (this._icon_size_timeout > 0) - Mainloop.source_remove(this._icon_size_timeout); - - this._icon_size_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_int('dash-max-icon-size', scale.get_value()); - this._icon_size_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - custom_opacity_scale_value_changed_cb(scale) { - // Avoid settings the opacity consinuosly as it's change is animated - if (this._opacity_timeout > 0) - Mainloop.source_remove(this._opacity_timeout); - - this._opacity_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('background-opacity', scale.get_value()); - this._opacity_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - min_opacity_scale_value_changed_cb(scale) { - // Avoid settings the opacity consinuosly as it's change is animated - if (this._opacity_timeout > 0) - Mainloop.source_remove(this._opacity_timeout); - - this._opacity_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('min-alpha', scale.get_value()); - this._opacity_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - max_opacity_scale_value_changed_cb(scale) { - // Avoid settings the opacity consinuosly as it's change is animated - if (this._opacity_timeout > 0) - Mainloop.source_remove(this._opacity_timeout); - - this._opacity_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('max-alpha', scale.get_value()); - this._opacity_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - custom_opacity_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - min_opacity_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - max_opacity_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - all_windows_radio_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('intellihide-mode', 0); - }, - - focus_application_windows_radio_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('intellihide-mode', 1); - }, - - maximized_windows_radio_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('intellihide-mode', 2); - } - } - - object.connect(signal, SignalHandler[handler].bind(this)); - } - - _bindSettings() { - // Position and size panel - - // Monitor options - - this._monitors = []; - // Build options based on the number of monitors and the current settings. - let n_monitors = Gdk.Screen.get_default().get_n_monitors(); - let primary_monitor = Gdk.Screen.get_default().get_primary_monitor(); - - let monitor = this._settings.get_int('preferred-monitor'); - - // Add primary monitor with index 0, because in GNOME Shell the primary monitor is always 0 - this._builder.get_object('dock_monitor_combo').append_text(__('Primary monitor')); - this._monitors.push(0); - - // Add connected monitors - let ctr = 0; - for (let i = 0; i < n_monitors; i++) { - if (i !== primary_monitor) { - ctr++; - this._monitors.push(ctr); - this._builder.get_object('dock_monitor_combo').append_text(__('Secondary monitor ') + ctr); - } - } - - // If one of the external monitor is set as preferred, show it even if not attached - if ((monitor >= n_monitors) && (monitor !== primary_monitor)) { - this._monitors.push(monitor) - this._builder.get_object('dock_monitor_combo').append_text(__('Secondary monitor ') + ++ctr); - } - - this._builder.get_object('dock_monitor_combo').set_active(this._monitors.indexOf(monitor)); - - // Position option - let position = this._settings.get_enum('dock-position'); - - switch (position) { - case 0: - this._builder.get_object('position_top_button').set_active(true); - break; - case 1: - this._builder.get_object('position_right_button').set_active(true); - break; - case 2: - this._builder.get_object('position_bottom_button').set_active(true); - break; - case 3: - this._builder.get_object('position_left_button').set_active(true); - break; - } - - if (this._rtl) { - /* Left is Right in rtl as a setting */ - this._builder.get_object('position_left_button').set_label(__('Right')); - this._builder.get_object('position_right_button').set_label(__('Left')); - } - - // Intelligent autohide options - this._settings.bind('dock-fixed', - this._builder.get_object('intelligent_autohide_switch'), - 'active', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('dock-fixed', - this._builder.get_object('intelligent_autohide_button'), - 'sensitive', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('autohide', - this._builder.get_object('autohide_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('autohide-in-fullscreen', - this._builder.get_object('autohide_enable_in_fullscreen_checkbutton'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('require_pressure_checkbutton'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('intellihide', - this._builder.get_object('intellihide_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('animation-time', - this._builder.get_object('animation_duration_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('hide-delay', - this._builder.get_object('hide_timeout_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-delay', - this._builder.get_object('show_timeout_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('pressure-threshold', - this._builder.get_object('pressure_threshold_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - - //this._builder.get_object('animation_duration_spinbutton').set_value(this._settings.get_double('animation-time')); - - // Create dialog for intelligent autohide advanced settings - this._builder.get_object('intelligent_autohide_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Intelligent autohide customization'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - // GTK+ leaves positive values for application-defined response ids. - // Use +1 for the reset action - dialog.add_button(__('Reset to defaults'), 1); - - let box = this._builder.get_object('intelligent_autohide_advanced_settings_box'); - dialog.get_content_area().add(box); - - this._settings.bind('intellihide', - this._builder.get_object('intellihide_mode_box'), - 'sensitive', - Gio.SettingsBindFlags.GET); - - // intellihide mode - - let intellihideModeRadioButtons = [ - this._builder.get_object('all_windows_radio_button'), - this._builder.get_object('focus_application_windows_radio_button'), - this._builder.get_object('maximized_windows_radio_button') - ]; - - intellihideModeRadioButtons[this._settings.get_enum('intellihide-mode')].set_active(true); - - this._settings.bind('autohide', - this._builder.get_object('require_pressure_checkbutton'), - 'sensitive', - Gio.SettingsBindFlags.GET); - - this._settings.bind('autohide', - this._builder.get_object('autohide_enable_in_fullscreen_checkbutton'), - 'sensitive', - Gio.SettingsBindFlags.GET); - - this._settings.bind('require-pressure-to-show', - this._builder.get_object('show_timeout_spinbutton'), - 'sensitive', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('show_timeout_label'), - 'sensitive', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('pressure_threshold_spinbutton'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('pressure_threshold_label'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - - dialog.connect('response', (dialog, id) => { - if (id == 1) { - // restore default settings for the relevant keys - let keys = ['intellihide', 'autohide', 'intellihide-mode', 'autohide-in-fullscreen', 'require-pressure-to-show', - 'animation-time', 'show-delay', 'hide-delay', 'pressure-threshold']; - keys.forEach(function(val) { - this._settings.set_value(val, this._settings.get_default_value(val)); - }, this); - intellihideModeRadioButtons[this._settings.get_enum('intellihide-mode')].set_active(true); - } else { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - } - return; - }); - - dialog.show_all(); - - }); - - // size options - this._builder.get_object('dock_size_scale').set_value(this._settings.get_double('height-fraction')); - this._builder.get_object('dock_size_scale').add_mark(0.9, Gtk.PositionType.TOP, null); - let icon_size_scale = this._builder.get_object('icon_size_scale'); - icon_size_scale.set_range(8, DEFAULT_ICONS_SIZES[0]); - icon_size_scale.set_value(this._settings.get_int('dash-max-icon-size')); - DEFAULT_ICONS_SIZES.forEach(function(val) { - icon_size_scale.add_mark(val, Gtk.PositionType.TOP, val.toString()); - }); - - // Corrent for rtl languages - if (this._rtl) { - // Flip value position: this is not done automatically - this._builder.get_object('dock_size_scale').set_value_pos(Gtk.PositionType.LEFT); - icon_size_scale.set_value_pos(Gtk.PositionType.LEFT); - // I suppose due to a bug, having a more than one mark and one above a value of 100 - // makes the rendering of the marks wrong in rtl. This doesn't happen setting the scale as not flippable - // and then manually inverting it - icon_size_scale.set_flippable(false); - icon_size_scale.set_inverted(true); - } - - this._settings.bind('icon-size-fixed', this._builder.get_object('icon_size_fixed_checkbutton'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('extend-height', this._builder.get_object('dock_size_extend_checkbutton'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('extend-height', this._builder.get_object('dock_size_scale'), 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN); - - - // Apps panel - - this._settings.bind('show-running', - this._builder.get_object('show_running_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('isolate-workspaces', - this._builder.get_object('application_button_isolation_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('isolate-monitors', - this._builder.get_object('application_button_monitor_isolation_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-windows-preview', - this._builder.get_object('windows_preview_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('multi-monitor', - this._builder.get_object('multi_monitor_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-favorites', - this._builder.get_object('show_favorite_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-trash', - this._builder.get_object('show_trash_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-mounts', - this._builder.get_object('show_mounts_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-show-apps-button', - this._builder.get_object('show_applications_button_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-apps-at-top', - this._builder.get_object('application_button_first_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-show-apps-button', - this._builder.get_object('application_button_first_button'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('animate-show-apps', - this._builder.get_object('application_button_animation_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-show-apps-button', - this._builder.get_object('application_button_animation_button'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - - - // Behavior panel - - this._settings.bind('hot-keys', - this._builder.get_object('hot_keys_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('hot-keys', - this._builder.get_object('overlay_button'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - - this._builder.get_object('click_action_combo').set_active(this._settings.get_enum('click-action')); - this._builder.get_object('click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('click-action', widget.get_active()); - }); - - this._builder.get_object('scroll_action_combo').set_active(this._settings.get_enum('scroll-action')); - this._builder.get_object('scroll_action_combo').connect('changed', (widget) => { - this._settings.set_enum('scroll-action', widget.get_active()); - }); - - this._builder.get_object('shift_click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('shift-click-action', widget.get_active()); - }); - - this._builder.get_object('middle_click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('middle-click-action', widget.get_active()); - }); - this._builder.get_object('shift_middle_click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('shift-middle-click-action', widget.get_active()); - }); - - // Create dialog for number overlay options - this._builder.get_object('overlay_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Show dock and application numbers'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - // GTK+ leaves positive values for application-defined response ids. - // Use +1 for the reset action - dialog.add_button(__('Reset to defaults'), 1); - - let box = this._builder.get_object('box_overlay_shortcut'); - dialog.get_content_area().add(box); - - this._builder.get_object('overlay_switch').set_active(this._settings.get_boolean('hotkeys-overlay')); - this._builder.get_object('show_dock_switch').set_active(this._settings.get_boolean('hotkeys-show-dock')); - - // We need to update the shortcut 'strv' when the text is modified - this._settings.connect('changed::shortcut-text', () => {setShortcut(this._settings);}); - this._settings.bind('shortcut-text', - this._builder.get_object('shortcut_entry'), - 'text', - Gio.SettingsBindFlags.DEFAULT); - - this._settings.bind('hotkeys-overlay', - this._builder.get_object('overlay_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('hotkeys-show-dock', - this._builder.get_object('show_dock_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('shortcut-timeout', - this._builder.get_object('timeout_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - - dialog.connect('response', (dialog, id) => { - if (id == 1) { - // restore default settings for the relevant keys - let keys = ['shortcut-text', 'hotkeys-overlay', 'hotkeys-show-dock', 'shortcut-timeout']; - keys.forEach(function(val) { - this._settings.set_value(val, this._settings.get_default_value(val)); - }, this); - } else { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - } - return; - }); - - dialog.show_all(); - }); - - // Create dialog for middle-click options - this._builder.get_object('middle_click_options_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Customize middle-click behavior'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - // GTK+ leaves positive values for application-defined response ids. - // Use +1 for the reset action - dialog.add_button(__('Reset to defaults'), 1); - - let box = this._builder.get_object('box_middle_click_options'); - dialog.get_content_area().add(box); - - this._builder.get_object('shift_click_action_combo').set_active(this._settings.get_enum('shift-click-action')); - - this._builder.get_object('middle_click_action_combo').set_active(this._settings.get_enum('middle-click-action')); - - this._builder.get_object('shift_middle_click_action_combo').set_active(this._settings.get_enum('shift-middle-click-action')); - - this._settings.bind('shift-click-action', - this._builder.get_object('shift_click_action_combo'), - 'active-id', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('middle-click-action', - this._builder.get_object('middle_click_action_combo'), - 'active-id', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('shift-middle-click-action', - this._builder.get_object('shift_middle_click_action_combo'), - 'active-id', - Gio.SettingsBindFlags.DEFAULT); - - dialog.connect('response', (dialog, id) => { - if (id == 1) { - // restore default settings for the relevant keys - let keys = ['shift-click-action', 'middle-click-action', 'shift-middle-click-action']; - keys.forEach(function(val) { - this._settings.set_value(val, this._settings.get_default_value(val)); - }, this); - this._builder.get_object('shift_click_action_combo').set_active(this._settings.get_enum('shift-click-action')); - this._builder.get_object('middle_click_action_combo').set_active(this._settings.get_enum('middle-click-action')); - this._builder.get_object('shift_middle_click_action_combo').set_active(this._settings.get_enum('shift-middle-click-action')); - } else { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - } - return; - }); - - dialog.show_all(); - - }); - - // Appearance Panel - - this._settings.bind('apply-custom-theme', this._builder.get_object('customize_theme'), 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN | Gio.SettingsBindFlags.GET); - this._settings.bind('apply-custom-theme', this._builder.get_object('builtin_theme_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('custom-theme-shrink', this._builder.get_object('shrink_dash_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); - - // Running indicators - this._builder.get_object('running_indicators_combo').set_active( - this._settings.get_enum('running-indicator-style') - ); - this._builder.get_object('running_indicators_combo').connect( - 'changed', - (widget) => { - this._settings.set_enum('running-indicator-style', widget.get_active()); - } - ); - - if (this._settings.get_enum('running-indicator-style') == RunningIndicatorStyle.DEFAULT) - this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(false); - - this._settings.connect('changed::running-indicator-style', () => { - if (this._settings.get_enum('running-indicator-style') == RunningIndicatorStyle.DEFAULT) - this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(false); - else - this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(true); - }); - - // Create dialog for running indicators advanced settings - this._builder.get_object('running_indicators_advance_settings_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Customize running indicators'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - let box = this._builder.get_object('running_dots_advance_settings_box'); - dialog.get_content_area().add(box); - - this._settings.bind('running-indicator-dominant-color', - this._builder.get_object('dominant_color_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - - this._settings.bind('custom-theme-customize-running-dots', - this._builder.get_object('dot_style_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('custom-theme-customize-running-dots', - this._builder.get_object('dot_style_settings_box'), - 'sensitive', Gio.SettingsBindFlags.DEFAULT); - - let rgba = new Gdk.RGBA(); - rgba.parse(this._settings.get_string('custom-theme-running-dots-color')); - this._builder.get_object('dot_color_colorbutton').set_rgba(rgba); - - this._builder.get_object('dot_color_colorbutton').connect('notify::color', (button) => { - let rgba = button.get_rgba(); - let css = rgba.to_string(); - let hexString = cssHexString(css); - this._settings.set_string('custom-theme-running-dots-color', hexString); - }); - - rgba.parse(this._settings.get_string('custom-theme-running-dots-border-color')); - this._builder.get_object('dot_border_color_colorbutton').set_rgba(rgba); - - this._builder.get_object('dot_border_color_colorbutton').connect('notify::color', (button) => { - let rgba = button.get_rgba(); - let css = rgba.to_string(); - let hexString = cssHexString(css); - this._settings.set_string('custom-theme-running-dots-border-color', hexString); - }); - - this._settings.bind('custom-theme-running-dots-border-width', - this._builder.get_object('dot_border_width_spin_button'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - - - dialog.connect('response', (dialog, id) => { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - return; - }); - - dialog.show_all(); - - }); - - this._settings.bind('custom-background-color', this._builder.get_object('custom_background_color_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('custom-background-color', this._builder.get_object('custom_background_color'), 'sensitive', Gio.SettingsBindFlags.DEFAULT); - - let rgba = new Gdk.RGBA(); - rgba.parse(this._settings.get_string('background-color')); - this._builder.get_object('custom_background_color').set_rgba(rgba); - - this._builder.get_object('custom_background_color').connect('notify::color', (button) => { - let rgba = button.get_rgba(); - let css = rgba.to_string(); - let hexString = cssHexString(css); - this._settings.set_string('background-color', hexString); - }); - - // Opacity - this._builder.get_object('customize_opacity_combo').set_active_id( - this._settings.get_enum('transparency-mode').toString() - ); - this._builder.get_object('customize_opacity_combo').connect( - 'changed', - (widget) => { - this._settings.set_enum('transparency-mode', parseInt(widget.get_active_id())); - } - ); - - this._builder.get_object('custom_opacity_scale').set_value(this._settings.get_double('background-opacity')); - - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.FIXED) - this._builder.get_object('custom_opacity_scale').set_sensitive(false); - - this._settings.connect('changed::transparency-mode', () => { - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.FIXED) - this._builder.get_object('custom_opacity_scale').set_sensitive(false); - else - this._builder.get_object('custom_opacity_scale').set_sensitive(true); - }); - - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.DYNAMIC) { - this._builder.get_object('dynamic_opacity_button').set_sensitive(false); - } - - this._settings.connect('changed::transparency-mode', () => { - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.DYNAMIC) { - this._builder.get_object('dynamic_opacity_button').set_sensitive(false); - } - else { - this._builder.get_object('dynamic_opacity_button').set_sensitive(true); - } - }); - - // Create dialog for transparency advanced settings - this._builder.get_object('dynamic_opacity_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Cutomize opacity'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - let box = this._builder.get_object('advanced_transparency_dialog'); - dialog.get_content_area().add(box); - - this._settings.bind( - 'customize-alphas', - this._builder.get_object('customize_alphas_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT - ); - this._settings.bind( - 'customize-alphas', - this._builder.get_object('min_alpha_scale'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT - ); - this._settings.bind( - 'customize-alphas', - this._builder.get_object('max_alpha_scale'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT - ); - - this._builder.get_object('min_alpha_scale').set_value( - this._settings.get_double('min-alpha') - ); - this._builder.get_object('max_alpha_scale').set_value( - this._settings.get_double('max-alpha') - ); - - dialog.connect('response', (dialog, id) => { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - return; - }); - - dialog.show_all(); - }); - - - this._settings.bind('unity-backlit-items', - this._builder.get_object('unity_backlit_items_switch'), - 'active', Gio.SettingsBindFlags.DEFAULT - ); - - this._settings.bind('force-straight-corner', - this._builder.get_object('force_straight_corner_switch'), - 'active', Gio.SettingsBindFlags.DEFAULT); - - // About Panel - - this._builder.get_object('extension_version').set_label(Me.metadata.version.toString()); - } -}; - -function init() { - ExtensionUtils.initTranslations(); -} - -function buildPrefsWidget() { - let settings = new Settings(); - let widget = settings.widget; - widget.show_all(); - return widget; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/gschemas.compiled b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/gschemas.compiled deleted file mode 100644 index 4dcbc356d191bd4d3358682c98f76b345cf1bb24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7109 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 diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml deleted file mode 100644 index 65a0c10f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'LEFT' - Dock position - Dock is shown on the Left, Right, Top or Bottom side of the screen. - - - 0.2 - Animation time - Sets the time duration of the autohide effect. - - - 0.25 - Show delay - Sets the delay after the mouse reaches the screen border before showing the dock. - - - 0.20 - Show delay - Sets the delay after the mouse left the dock before hiding it. - - - false - Set a custom dash background background color - Sets the color for the dash background. - - - "#ffffff" - Dash background color. - Customize the background color of the dash. - - - 'DEFAULT' - Transparency mode for the dock - FIXED: constant transparency. DYNAMIC: dock takes the opaque style only when windows are close to it. - - - 'DEFAULT' - ... - DEFAULT: .... DOTS: .... - - - false - Use application icon dominant color for the indicator color - - - - false - Manually set the min and max opacity - For the dynamic mode, the min/max opacity values will be given by 'min-alpha' and 'max-alpha'. - - - 0.2 - Opacity of the dash background when free-floating - Sets the opacity of the dash background when no windows are close. - - - 0.8 - Opacity of the dash background when windows are close. - Sets the opacity of the dash background when windows are close. - - - 0.8 - Opacity of the dash background - Sets the opacity of the dash background when in autohide mode. - - - true - Dock dodges windows - Enable or disable intellihide mode - - - 'FOCUS_APPLICATION_WINDOWS' - Define which windows are considered for intellihide. - - - - true - Dock shown on mouse over - Enable or disable autohide mode - - - true - Require pressure to show dash - Enable or disable requiring pressure to show the dash - - - 100 - Pressure threshold - Sets how much pressure is needed to show the dash. - - - false - Enable autohide in fullscreen mode. - Enable autohide in fullscreen mode. - - - false - Dock always visible - Dock is always visible - - - true - Switch workspace by scrolling over the dock - Add the possibility to switch workspace by mouse scrolling over the dock. - - - 48 - Maximum dash icon size - Set the allowed maximum dash icon size. Allowed range: 16..64. - - - false - Fixed icon size - Keep the icon size fived by scrolling the dock. - - - false - Apply custom theme - Apply customization to the dash appearance - - - false - TODO - TODO - - - false - Customize the style of the running application indicators. - Customize the style of the running application indicators. - - - "#ffffff" - Running application indicators color - Customize the color of the running application indicators. - - - "#ffffff" - Running application indicators border color. - Customize the border color of the running application indicators. - - - 0 - Running application indicators border width. - Customize the border width of the running application indicators. - - - true - Show running apps - Show or hide running appplications icons in the dash - - - false - Provide workspace isolation - Dash shows only windows from the currentworkspace - - - false - Provide monitor isolation - Dash shows only windows from the monitor - - - true - Show preview of the open windows - Replace open windows list with windows previews - - - true - Show favorites apps - Show or hide favorite appplications icons in the dash - - - true - Show trash can - Show or hide the trash can icon in the dash - - - true - Show mounted volumes and devices - Show or hide mounted volume and device icons in the dash - - - true - Show applications button - Show appplications button in the dash - - - false - Show application button at top - Show appplication button at top of the dash - - - true - Animate Show Applications from the desktop - Animate Show Applications from the desktop - - - true - Basic compatibility with bolt extensions - Make the extension work properly when bolt extensions is enabled - - - 0.90 - Dock max height (fraction of available space) - - - false - Extend the dock container to all the available height - - - -1 - Monitor on which putting the dock - Set on which monitor to put the dock, use -1 for the primary one - - - false - Enable multi-monitor docks - Show a dock on every monitor - - - true - Minimize on shift+click - - - true - Activate only one window - - - 'cycle-windows' - Action when clicking on a running app - Set the action that is executed when clicking on the icon of a running application - - - 'do-nothing' - Action when scrolling app - Set the action that is executed when scrolling on the application icon - - - 'minimize' - Action when shift+clicking on a running app - Set the action that is executed when shift+clicking on the icon of a running application - - - 'launch' - Action when clicking on a running app - Set the action that is executed when middle-clicking on the icon of a running application - - - 'launch' - Action when clicking on a running app - Set the action that is executed when shift+middle-clicking on the icon of a running application - - - true - Super Hot-Keys - Launch and switch between dash items using Super+(0-9) - - - true - Show the dock when using the hotkeys - The dock will be quickly shown so that the number-overlay is visible and app activation is easier - - - "<Super>q" - Keybinding to show the dock and the number overlay. - Behavior depends on hotkeys-show-dock and hotkeys-overlay. - - - q']]]> - Keybinding to show the dock and the number overlay. - Behavior depends on hotkeys-show-dock and hotkeys-overlay. - - - 2 - Timeout to hide the dock - Sets the time duration before the dock is hidden again. - - - true - Show the dock when using the hotkeys - The dock will be quickly shown so that the number-overlay is visible and app activation is easier - - - 1']]]> - Keybinding to launch 1st dash app - - Keybinding to launch 1st app. - - - - 2']]]> - Keybinding to launch 2nd dash app - - Keybinding to launch 2nd app. - - - - 3']]]> - Keybinding to launch 3rd dash app - - Keybinding to launch 3rd app. - - - - 4']]]> - Keybinding to launch 4th dash app - - Keybinding to launch 4th app. - - - - 5']]]> - Keybinding to launch 5th dash app - - Keybinding to launch 5th app. - - - - 6']]]> - Keybinding to launch 6th dash app - - Keybinding to launch 6th app. - - - - 7']]]> - Keybinding to launch 7th dash app - - Keybinding to launch 7th app. - - - - 8']]]> - Keybinding to launch 8th dash app - - Keybinding to launch 8th app. - - - - 9']]]> - Keybinding to launch 9th dash app - - Keybinding to launch 9th app. - - - - 0']]]> - Keybinding to launch 10th dash app - - Keybinding to launch 10th app. - - - - 1']]]> - Keybinding to trigger 1st dash app with shift behavior - - Keybinding to trigger 1st app with shift behavior. - - - - 2']]]> - Keybinding to trigger 2nd dash app with shift behavior - - Keybinding to trigger 2nd app with shift behavior. - - - - 3']]]> - Keybinding to trigger 3rd dash app with shift behavior - - Keybinding to trigger 3rd app with shift behavior. - - - - 4']]]> - Keybinding to trigger 4th dash app with shift behavior - - Keybinding to trigger 4th app with shift behavior. - - - - 5']]]> - Keybinding to trigger 5th dash app with shift behavior - - Keybinding to trigger 5th app with shift behavior. - - - - 6']]]> - Keybinding to trigger 6th dash app with shift behavior - - Keybinding to trigger 6th app with shift behavior. - - - - 7']]]> - Keybinding to trigger 7th dash app with shift behavior - - Keybinding to trigger 7th app with shift behavior. - - - - 8']]]> - Keybinding to trigger 8th dash app with shift behavior - - Keybinding to trigger 8th app with shift behavior. - - - - 9']]]> - Keybinding to trigger 9th dash app with shift behavior - - Keybinding to trigger 9th app with shift behavior. - - - - 0']]]> - Keybinding to trigger 10th dash app with shift behavior - - Keybinding to trigger 10th app with shift behavior. - - - - 1']]]> - Keybinding to trigger 1st dash app - - Keybinding to either show or launch the 1st application in the dash. - - - - 2']]]> - Keybinding to trigger 2nd dash app - - Keybinding to either show or launch the 2nd application in the dash. - - - - 3']]]> - Keybinding to trigger 3rd dash app - - Keybinding to either show or launch the 3rd application in the dash. - - - - 4']]]> - Keybinding to trigger 4th dash app - - Keybinding to either show or launch the 4th application in the dash. - - - - 5']]]> - Keybinding to trigger 5th dash app - - Keybinding to either show or launch the 5th application in the dash. - - - - 6']]]> - Keybinding to trigger 6th dash app - - Keybinding to either show or launch the 6th application in the dash. - - - - 7']]]> - Keybinding to trigger 7th dash app - - Keybinding to either show or launch the 7th application in the dash. - - - - 8']]]> - Keybinding to trigger 8th dash app - - Keybinding to either show or launch the 8th application in the dash. - - - - 9']]]> - Keybinding to trigger 9th dash app - - Keybinding to either show or launch the 9th application in the dash. - - - - 0']]]> - Keybinding to trigger 10th dash app - - Keybinding to either show or launch the 10th application in the dash. - - - - false - Force straight corners in dash - Make the borders in the dash non rounded - - - false - Enable unity7 like glossy backlit items - Emulate the unity7 backlit glossy items behaviour - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css deleted file mode 100644 index 90c448cf..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css +++ /dev/null @@ -1,178 +0,0 @@ -/* Shrink the dash by reducing padding and border radius */ -#dashtodockContainer.shrink #dash, -#dashtodockContainer.dashtodock #dash { - border:1px; - padding:0px; -} - -#dashtodockContainer.shrink.left #dash, -#dashtodockContainer.dashtodock.left #dash { - border-left: 0px; -} - - -#dashtodockContainer.shrink.right #dash, -#dashtodockContainer.dashtodock.right #dash { - border-right: 0px; -} - - -#dashtodockContainer.shrink.top #dash, -#dashtodockContainer.dashtodock.top #dash { - border-top: 0px; -} - -#dashtodockContainer.shrink.bottom #dash, -#dashtodockContainer.dashtodock.bottom #dash { - border-bottom: 0px; -} - -#dashtodockContainer.straight-corner #dash, -#dashtodockContainer.shrink.straight-corner #dash { - border-radius: 0px; -} - -/* Scrollview style */ -.bottom #dashtodockDashScrollview, -.top #dashtodockDashScrollview { - -st-hfade-offset: 24px; -} - -.left #dashtodockDashScrollview, -.right #dashtodockDashScrollview { - -st-vfade-offset: 24px; -} - -#dashtodockContainer.running-dots .dash-item-container > StButton, -#dashtodockContainer.dashtodock .dash-item-container > StButton { - transition-duration: 250; - background-size: contain; -} - -#dashtodockContainer.shrink .dash-item-container > StButton, -#dashtodockContainer.dashtodock .dash-item-container > StButton { - padding: 1px 2px; -} - -/* Dash height extended to the whole available vertical space */ -#dashtodockContainer.extended.top #dash, -#dashtodockContainer.extended.right #dash, -#dashtodockContainer.extended.bottom #dash, -#dashtodockContainer.extended.left #dash { - border-radius: 0; -} - -#dashtodockContainer.extended.top #dash, -#dashtodockContainer.extended.bottom #dash { - border-left:0px; - border-right:0px; -} - -#dashtodockContainer.extended.right #dash, -#dashtodockContainer.extended.left #dash { - border-top:0px; - border-bottom:0px; -} - -/* Running and focused application style */ - -#dashtodockContainer.running-dots .app-well-app.running > .overview-icon, -#dashtodockContainer.dashtodock .app-well-app.running > .overview-icon { - background-image:none; -} - - -#dashtodockContainer.running-dots .app-well-app.focused .overview-icon, -#dashtodockContainer.dashtodock .app-well-app.focused .overview-icon { - background-color: rgba(238, 238, 236, 0.2); -} - -#dashtodockContainer.dashtodock #dash { - background: #2e3436; -} - -#dashtodockContainer.dashtodock .progress-bar { - /* Customization of the progress bar style, e.g.: - -progress-bar-background: rgba(0.8, 0.8, 0.8, 1); - -progress-bar-border: rgba(0.9, 0.9, 0.9, 1); - */ -} - -/* - * This is applied to a dummy actor. Only the alpha value for the background and border color - * and the transition-duration are used - */ -#dashtodockContainer.dummy-opaque { - background-color: rgba(0, 0, 0, 0.8); - border-color: rgba(0, 0, 0, 0.4); - transition-duration: 300ms; -} - -/* - * This is applied to a dummy actor. Only the alpha value for the background and border color - * and the transition-duration are used - */ -#dashtodockContainer.dummy-transparent { - background-color: rgba(0, 0, 0, 0.2); - border-color: rgba(0, 0, 0, 0.1); - transition-duration: 500ms; -} - -#dashtodockContainer.opaque { -} - -#dashtodockContainer.transparent { -} - -#dashtodockContainer .number-overlay { - color: rgba(255,255,255,1); - background-color: rgba(0,0,0,0.8); - text-align: center; -} - -#dashtodockContainer .notification-badge { - color: rgba(255,255,255,1); - background-color: rgba(255,0,0,1.0); - padding: 0.2em 0.5em; - border-radius: 1em; - font-weight: bold; - text-align: center; - margin: 2px; -} - -#dashtodockPreviewSeparator.popup-separator-menu-item-horizontal { - width: 1px; - height: auto; - border-right-width: 1px; - margin: 32px 0px; -} - -.dashtodock-app-well-preview-menu-item { - padding: 1em 1em 0.5em 1em; -} - -#dashtodockContainer .metro .overview-icon{ - border-radius: 0px; -} - -#dashtodockContainer.bottom .metro.running2.focused, -#dashtodockContainer.bottom .metro.running3.focused, -#dashtodockContainer.bottom .metro.running4.focused, -#dashtodockContainer.top .metro.running2.focused, -#dashtodockContainer.top .metro.running3.focused, -#dashtodockContainer.top .metro.running4.focused { - background-image: url('./media/highlight_stacked_bg.svg'); - background-position: 0px 0px; - background-size: contain; -} - -#dashtodockContainer.left .metro.running2.focused, -#dashtodockContainer.left .metro.running3.focused, -#dashtodockContainer.left .metro.running4.focused, -#dashtodockContainer.right .metro.running2.focused, -#dashtodockContainer.right .metro.running3.focused, -#dashtodockContainer.right .metro.running4.focused { - background-image: url('./media/highlight_stacked_bg_h.svg'); - background-position: 0px 0px; - background-size: contain; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js deleted file mode 100644 index 5ed4cd71..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js +++ /dev/null @@ -1,572 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -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 Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; - -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 Docking = Me.imports.docking; -const Utils = Me.imports.utils; - -/* - * DEFAULT: transparency given by theme - * FIXED: constant transparency chosen by user - * DYNAMIC: apply 'transparent' style when no windows are close to the dock - * */ -const TransparencyMode = { - DEFAULT: 0, - FIXED: 1, - DYNAMIC: 3 -}; - -/** - * Manage theme customization and custom theme support - */ -var ThemeManager = class DashToDock_ThemeManager { - - constructor(dock) { - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._bindSettingsChanges(); - this._actor = dock; - this._dash = dock.dash; - - // initialize colors with generic values - this._customizedBackground = {red: 0, green: 0, blue: 0, alpha: 0}; - this._customizedBorder = {red: 0, green: 0, blue: 0, alpha: 0}; - this._transparency = new Transparency(dock); - - this._signalsHandler.add([ - // When theme changes re-obtain default background color - St.ThemeContext.get_for_stage (global.stage), - 'changed', - this.updateCustomTheme.bind(this) - ], [ - // update :overview pseudoclass - Main.overview, - 'showing', - this._onOverviewShowing.bind(this) - ], [ - Main.overview, - 'hiding', - this._onOverviewHiding.bind(this) - ]); - - this._updateCustomStyleClasses(); - - // destroy themeManager when the managed actor is destroyed (e.g. extension unload) - // in order to disconnect signals - this._actor.connect('destroy', this.destroy.bind(this)); - - } - - destroy() { - this._signalsHandler.destroy(); - this._transparency.destroy(); - } - - _onOverviewShowing() { - this._actor.add_style_pseudo_class('overview'); - } - - _onOverviewHiding() { - this._actor.remove_style_pseudo_class('overview'); - } - - _updateDashOpacity() { - let newAlpha = Docking.DockManager.settings.get_double('background-opacity'); - - let [backgroundColor, borderColor] = this._getDefaultColors(); - - if (backgroundColor==null) - return; - - // Get the background and border alphas. We check the background alpha - // for a minimum of .001 to prevent division by 0 errors - let backgroundAlpha = Math.max(Math.round(backgroundColor.alpha/2.55)/100, .001); - let borderAlpha = Math.round(borderColor.alpha/2.55)/100; - - // The border and background alphas should remain in sync - // We also limit the borderAlpha to a maximum of 1 (full opacity) - borderAlpha = Math.min((borderAlpha/backgroundAlpha)*newAlpha, 1); - - this._customizedBackground = 'rgba(' + - backgroundColor.red + ',' + - backgroundColor.green + ',' + - backgroundColor.blue + ',' + - newAlpha + ')'; - - this._customizedBorder = 'rgba(' + - borderColor.red + ',' + - borderColor.green + ',' + - borderColor.blue + ',' + - borderAlpha + ')'; - - } - - _getDefaultColors() { - // Prevent shell crash if the actor is not on the stage. - // It happens enabling/disabling repeatedly the extension - if (!this._dash._container.get_stage()) - return [null, null]; - - // Remove custom style - let oldStyle = this._dash._container.get_style(); - this._dash._container.set_style(null); - - let themeNode = this._dash._container.get_theme_node(); - this._dash._container.set_style(oldStyle); - - let backgroundColor = themeNode.get_background_color(); - - // Just in case the theme has different border colors .. - // We want to find the inside border-color of the dock because it is - // the side most visible to the user. We do this by finding the side - // opposite the position - let position = Utils.getPosition(); - let side = position + 2; - if (side > 3) - side = Math.abs(side - 4); - - let borderColor = themeNode.get_border_color(side); - - return [backgroundColor, borderColor]; - } - - _updateDashColor() { - // Retrieve the color. If needed we will adjust it before passing it to - // this._transparency. - let [backgroundColor, borderColor] = this._getDefaultColors(); - - if (backgroundColor==null) - return; - - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('custom-background-color')) { - // When applying a custom color, we need to check the alpha value, - // if not the opacity will always be overridden by the color below. - // Note that if using 'dynamic' transparency modes, - // the opacity will be set by the opaque/transparent styles anyway. - let newAlpha = Math.round(backgroundColor.alpha/2.55)/100; - if (settings.get_enum('transparency-mode') == TransparencyMode.FIXED) - newAlpha = settings.get_double('background-opacity'); - - backgroundColor = Clutter.color_from_string(settings.get_string('background-color'))[1]; - this._customizedBackground = 'rgba(' + - backgroundColor.red + ',' + - backgroundColor.green + ',' + - backgroundColor.blue + ',' + - newAlpha + ')'; - - this._customizedBorder = this._customizedBackground; - } - this._transparency.setColor(backgroundColor); - } - - _updateCustomStyleClasses() { - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('apply-custom-theme')) - this._actor.add_style_class_name('dashtodock'); - else - this._actor.remove_style_class_name('dashtodock'); - - if (settings.get_boolean('custom-theme-shrink')) - this._actor.add_style_class_name('shrink'); - else - this._actor.remove_style_class_name('shrink'); - - if (settings.get_enum('running-indicator-style') !== 0) - this._actor.add_style_class_name('running-dots'); - else - this._actor.remove_style_class_name('running-dots'); - - // If not the built-in theme option is not selected - if (!settings.get_boolean('apply-custom-theme')) { - if (settings.get_boolean('force-straight-corner')) - this._actor.add_style_class_name('straight-corner'); - else - this._actor.remove_style_class_name('straight-corner'); - } else { - this._actor.remove_style_class_name('straight-corner'); - } - } - - updateCustomTheme() { - this._updateCustomStyleClasses(); - this._updateDashOpacity(); - this._updateDashColor(); - this._adjustTheme(); - this._dash._redisplay(); - } - - /** - * Reimported back and adapted from atomdock - */ - _adjustTheme() { - // Prevent shell crash if the actor is not on the stage. - // It happens enabling/disabling repeatedly the extension - if (!this._dash._container.get_stage()) - return; - - let settings = Docking.DockManager.settings; - - // Remove prior style edits - this._dash._container.set_style(null); - this._transparency.disable(); - - // If built-in theme is enabled do nothing else - if (settings.get_boolean('apply-custom-theme')) - return; - - let newStyle = ''; - let position = Utils.getPosition(settings); - - // obtain theme border settings - let themeNode = this._dash._container.get_theme_node(); - let borderColor = themeNode.get_border_color(St.Side.TOP); - let borderWidth = themeNode.get_border_width(St.Side.TOP); - let borderRadius = themeNode.get_border_radius(St.Corner.TOPRIGHT); - - // We're copying border and corner styles to left border and top-left - // corner, also removing bottom border and bottom-right corner styles - let borderInner = ''; - let borderRadiusValue = ''; - let borderMissingStyle = ''; - - if (this._rtl && (position != St.Side.RIGHT)) - borderMissingStyle = 'border-right: ' + borderWidth + 'px solid ' + - borderColor.to_string() + ';'; - else if (!this._rtl && (position != St.Side.LEFT)) - borderMissingStyle = 'border-left: ' + borderWidth + 'px solid ' + - borderColor.to_string() + ';'; - - switch (position) { - case St.Side.LEFT: - borderInner = 'border-left'; - borderRadiusValue = '0 ' + borderRadius + 'px ' + borderRadius + 'px 0;'; - break; - case St.Side.RIGHT: - borderInner = 'border-right'; - borderRadiusValue = borderRadius + 'px 0 0 ' + borderRadius + 'px;'; - break; - case St.Side.TOP: - borderInner = 'border-top'; - borderRadiusValue = '0 0 ' + borderRadius + 'px ' + borderRadius + 'px;'; - break; - case St.Side.BOTTOM: - borderInner = 'border-bottom'; - borderRadiusValue = borderRadius + 'px ' + borderRadius + 'px 0 0;'; - break; - } - - newStyle = borderInner + ': none;' + - 'border-radius: ' + borderRadiusValue + - borderMissingStyle; - - // I do call set_style possibly twice so that only the background gets the transition. - // The transition-property css rules seems to be unsupported - this._dash._container.set_style(newStyle); - - // Customize background - let fixedTransparency = settings.get_enum('transparency-mode') == TransparencyMode.FIXED; - let defaultTransparency = settings.get_enum('transparency-mode') == TransparencyMode.DEFAULT; - if (!defaultTransparency && !fixedTransparency) { - this._transparency.enable(); - } - else if (!defaultTransparency || settings.get_boolean('custom-background-color')) { - newStyle = newStyle + 'background-color:'+ this._customizedBackground + '; ' + - 'border-color:'+ this._customizedBorder + '; ' + - 'transition-delay: 0s; transition-duration: 0.250s;'; - this._dash._container.set_style(newStyle); - } - } - - _bindSettingsChanges() { - let keys = ['transparency-mode', - 'customize-alphas', - 'min-alpha', - 'max-alpha', - 'background-opacity', - 'custom-background-color', - 'background-color', - 'apply-custom-theme', - 'custom-theme-shrink', - 'custom-theme-running-dots', - 'extend-height', - 'force-straight-corner']; - - keys.forEach(function(key) { - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::' + key, - this.updateCustomTheme.bind(this) - ]); - }, this); - } -}; - -/** - * The following class is based on the following upstream commit: - * https://git.gnome.org/browse/gnome-shell/commit/?id=447bf55e45b00426ed908b1b1035f472c2466956 - * Transparency when free-floating - */ -var Transparency = class DashToDock_Transparency { - - constructor(dock) { - this._dash = dock.dash; - this._actor = this._dash._container; - this._dockActor = dock; - this._dock = dock; - this._panel = Main.panel; - this._position = Utils.getPosition(); - - // All these properties are replaced with the ones in the .dummy-opaque and .dummy-transparent css classes - this._backgroundColor = '0,0,0'; - this._transparentAlpha = '0.2'; - this._opaqueAlpha = '1'; - this._transparentAlphaBorder = '0.1'; - this._opaqueAlphaBorder = '0.5'; - this._transparentTransition = '0ms'; - this._opaqueTransition = '0ms'; - this._base_actor_style = ""; - - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._injectionsHandler = new Utils.InjectionsHandler(); - this._trackedWindows = new Map(); - } - - enable() { - // ensure I never double-register/inject - // although it should never happen - this.disable(); - - this._base_actor_style = this._actor.get_style(); - if (this._base_actor_style == null) { - this._base_actor_style = ""; - } - - this._signalsHandler.addWithLabel('transparency', [ - global.window_group, - 'actor-added', - this._onWindowActorAdded.bind(this) - ], [ - global.window_group, - 'actor-removed', - this._onWindowActorRemoved.bind(this) - ], [ - global.window_manager, - 'switch-workspace', - this._updateSolidStyle.bind(this) - ], [ - Main.overview, - 'hiding', - this._updateSolidStyle.bind(this) - ], [ - Main.overview, - 'showing', - this._updateSolidStyle.bind(this) - ]); - - // Window signals - global.window_group.get_children().filter(function(child) { - // An irrelevant window actor ('Gnome-shell') produces an error when the signals are - // disconnected, therefore do not add signals to it. - return child instanceof Meta.WindowActor && - child.get_meta_window().get_wm_class() !== 'Gnome-shell'; - }).forEach(function(win) { - this._onWindowActorAdded(null, win); - }, this); - - if (this._actor.get_stage()) - this._updateSolidStyle(); - - this._updateStyles(); - this._updateSolidStyle(); - - this.emit('transparency-enabled'); - } - - disable() { - // ensure I never double-register/inject - // although it should never happen - this._signalsHandler.removeWithLabel('transparency'); - - for (let key of this._trackedWindows.keys()) - this._trackedWindows.get(key).forEach(id => { - key.disconnect(id); - }); - this._trackedWindows.clear(); - - this.emit('transparency-disabled'); - } - - destroy() { - this.disable(); - this._signalsHandler.destroy(); - this._injectionsHandler.destroy(); - } - - _onWindowActorAdded(container, metaWindowActor) { - let signalIds = []; - ['allocation-changed', 'notify::visible'].forEach(s => { - signalIds.push(metaWindowActor.connect(s, this._updateSolidStyle.bind(this))); - }); - this._trackedWindows.set(metaWindowActor, signalIds); - } - - _onWindowActorRemoved(container, metaWindowActor) { - if (!this._trackedWindows.get(metaWindowActor)) - return; - - this._trackedWindows.get(metaWindowActor).forEach(id => { - metaWindowActor.disconnect(id); - }); - this._trackedWindows.delete(metaWindowActor); - this._updateSolidStyle(); - } - - _updateSolidStyle() { - let isNear = this._dockIsNear(); - if (isNear) { - this._actor.set_style(this._opaque_style); - this._dockActor.remove_style_class_name('transparent'); - this._dockActor.add_style_class_name('opaque'); - } - else { - this._actor.set_style(this._transparent_style); - this._dockActor.remove_style_class_name('opaque'); - this._dockActor.add_style_class_name('transparent'); - } - - this.emit('solid-style-updated', isNear); - } - - _dockIsNear() { - if (this._dockActor.has_style_pseudo_class('overview')) - return false; - /* Get all the windows in the active workspace that are in the primary monitor and visible */ - let activeWorkspace = global.workspace_manager.get_active_workspace(); - let dash = this._dash; - let windows = activeWorkspace.list_windows().filter(function(metaWindow) { - return metaWindow.get_monitor() === dash._monitorIndex && - metaWindow.showing_on_its_workspace() && - metaWindow.get_window_type() != Meta.WindowType.DESKTOP; - }); - - /* Check if at least one window is near enough to the panel. - * If the dock is hidden, we need to account for the space it would take - * up when it slides out. This is avoid an ugly transition. - * */ - let factor = 0; - if (!Docking.DockManager.settings.get_boolean('dock-fixed') && - this._dock.getDockState() == Docking.State.HIDDEN) - factor = 1; - let [leftCoord, topCoord] = this._actor.get_transformed_position(); - let threshold; - if (this._position === St.Side.LEFT) - threshold = leftCoord + this._actor.get_width() * (factor + 1); - else if (this._position === St.Side.RIGHT) - threshold = leftCoord - this._actor.get_width() * factor; - else if (this._position === St.Side.TOP) - threshold = topCoord + this._actor.get_height() * (factor + 1); - else - threshold = topCoord - this._actor.get_height() * factor; - - let scale = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let isNearEnough = windows.some((metaWindow) => { - let coord; - if (this._position === St.Side.LEFT) { - coord = metaWindow.get_frame_rect().x; - return coord < threshold + 5 * scale; - } - else if (this._position === St.Side.RIGHT) { - coord = metaWindow.get_frame_rect().x + metaWindow.get_frame_rect().width; - return coord > threshold - 5 * scale; - } - else if (this._position === St.Side.TOP) { - coord = metaWindow.get_frame_rect().y; - return coord < threshold + 5 * scale; - } - else { - coord = metaWindow.get_frame_rect().y + metaWindow.get_frame_rect().height; - return coord > threshold - 5 * scale; - } - }); - - return isNearEnough; - } - - _updateStyles() { - this._getAlphas(); - - this._transparent_style = this._base_actor_style + - 'background-color: rgba(' + - this._backgroundColor + ', ' + this._transparentAlpha + ');' + - 'border-color: rgba(' + - this._backgroundColor + ', ' + this._transparentAlphaBorder + ');' + - 'transition-duration: ' + this._transparentTransition + 'ms;'; - - this._opaque_style = this._base_actor_style + - 'background-color: rgba(' + - this._backgroundColor + ', ' + this._opaqueAlpha + ');' + - 'border-color: rgba(' + - this._backgroundColor + ',' + this._opaqueAlphaBorder + ');' + - 'transition-duration: ' + this._opaqueTransition + 'ms;'; - - this.emit('styles-updated'); - } - - setColor(color) { - this._backgroundColor = color.red + ',' + color.green + ',' + color.blue; - this._updateStyles(); - } - - _getAlphas() { - // Create dummy object and add to the uiGroup to get it to the stage - let dummyObject = new St.Bin({ - name: 'dashtodockContainer', - }); - Main.uiGroup.add_child(dummyObject); - - dummyObject.add_style_class_name('dummy-opaque'); - let themeNode = dummyObject.get_theme_node(); - this._opaqueAlpha = themeNode.get_background_color().alpha / 255; - this._opaqueAlphaBorder = themeNode.get_border_color(0).alpha / 255; - this._opaqueTransition = themeNode.get_transition_duration(); - - dummyObject.add_style_class_name('dummy-transparent'); - themeNode = dummyObject.get_theme_node(); - this._transparentAlpha = themeNode.get_background_color().alpha / 255; - this._transparentAlphaBorder = themeNode.get_border_color(0).alpha / 255; - this._transparentTransition = themeNode.get_transition_duration(); - - Main.uiGroup.remove_child(dummyObject); - - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('customize-alphas')) { - this._opaqueAlpha = settings.get_double('max-alpha'); - this._opaqueAlphaBorder = this._opaqueAlpha / 2; - this._transparentAlpha = settings.get_double('min-alpha'); - this._transparentAlphaBorder = this._transparentAlpha / 2; - } - } -}; -Signals.addSignalMethods(Transparency.prototype); diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js deleted file mode 100644 index e0281347..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js +++ /dev/null @@ -1,284 +0,0 @@ -const Clutter = imports.gi.Clutter; -const Meta = imports.gi.Meta; -const St = imports.gi.St; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; - -var SignalsHandlerFlags = { - NONE: 0, - CONNECT_AFTER: 1 -}; - -/** - * Simplify global signals and function injections handling - * abstract class - */ -const BasicHandler = class DashToDock_BasicHandler { - - constructor() { - this._storage = new Object(); - } - - add(/* unlimited 3-long array arguments */) { - // 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); - } - - destroy() { - for( let label in this._storage ) - this.removeWithLabel(label); - } - - addWithLabel(label /* plus unlimited 3-long array arguments*/) { - if (this._storage[label] == undefined) - this._storage[label] = new Array(); - - // Skip first element of the arguments - for (let i = 1; i < arguments.length; i++) { - let item = this._storage[label]; - try { - item.push(this._create(arguments[i])); - } catch (e) { - logError(e); - } - } - } - - removeWithLabel(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(item) { - throw new GObject.NotImplementedError(`_create in ${this.constructor.name}`); - } - - /** - * Correctly delete single element - */ - _remove(item) { - throw new GObject.NotImplementedError(`_remove in ${this.constructor.name}`); - } -}; - -/** - * Manage global signals - */ -var GlobalSignalsHandler = class DashToDock_GlobalSignalHandler extends BasicHandler { - - _create(item) { - let object = item[0]; - let event = item[1]; - let callback = item[2] - let flags = item.length > 3 ? item[3] : SignalsHandlerFlags.NONE; - - if (!object) - throw new Error('Impossible to connect to an invalid object'); - - let after = flags == SignalsHandlerFlags.CONNECT_AFTER; - let connector = after ? object.connect_after : object.connect; - - if (!connector) { - throw new Error(`Requested to connect to signal '${event}', ` + - `but no implementation for 'connect${after ? '_after' : ''}' `+ - `found in ${object.constructor.name}`); - } - - let id = connector.call(object, event, callback); - - return [object, id]; - } - - _remove(item) { - item[0].disconnect(item[1]); - } -}; - -/** - * Color manipulation utilities - */ -var ColorUtils = class DashToDock_ColorUtils { - - // Darken or brigthen color by a fraction dlum - // Each rgb value is modified by the same fraction. - // Return "#rrggbb" string - static ColorLuminance(r, g, b, dlum) { - let rgbString = '#'; - - rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(r*(1+dlum), 0), 255)), 2); - rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(g*(1+dlum), 0), 255)), 2); - rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(b*(1+dlum), 0), 255)), 2); - - return rgbString; - } - - // Convert decimal to an hexadecimal string adding the desired padding - static _decimalToHex(d, padding) { - let hex = d.toString(16); - while (hex.length < padding) - hex = '0'+ hex; - return hex; - } - - // Convert hsv ([0-1, 0-1, 0-1]) to rgb ([0-255, 0-255, 0-255]). - // Following algorithm in https://en.wikipedia.org/wiki/HSL_and_HSV - // here with h = [0,1] instead of [0, 360] - // Accept either (h,s,v) independently or {h:h, s:s, v:v} object. - // Return {r:r, g:g, b:b} object. - static HSVtoRGB(h, s, v) { - if (arguments.length === 1) { - s = h.s; - v = h.v; - h = h.h; - } - - let r,g,b; - let c = v*s; - let h1 = h*6; - let x = c*(1 - Math.abs(h1 % 2 - 1)); - let m = v - c; - - if (h1 <=1) - r = c + m, g = x + m, b = m; - else if (h1 <=2) - r = x + m, g = c + m, b = m; - else if (h1 <=3) - r = m, g = c + m, b = x + m; - else if (h1 <=4) - r = m, g = x + m, b = c + m; - else if (h1 <=5) - r = x + m, g = m, b = c + m; - else - r = c + m, g = m, b = x + m; - - return { - r: Math.round(r * 255), - g: Math.round(g * 255), - b: Math.round(b * 255) - }; - } - - // Convert rgb ([0-255, 0-255, 0-255]) to hsv ([0-1, 0-1, 0-1]). - // Following algorithm in https://en.wikipedia.org/wiki/HSL_and_HSV - // here with h = [0,1] instead of [0, 360] - // Accept either (r,g,b) independently or {r:r, g:g, b:b} object. - // Return {h:h, s:s, v:v} object. - static RGBtoHSV(r, g, b) { - if (arguments.length === 1) { - r = r.r; - g = r.g; - b = r.b; - } - - let h,s,v; - - let M = Math.max(r, g, b); - let m = Math.min(r, g, b); - let c = M - m; - - if (c == 0) - h = 0; - else if (M == r) - h = ((g-b)/c) % 6; - else if (M == g) - h = (b-r)/c + 2; - else - h = (r-g)/c + 4; - - h = h/6; - v = M/255; - if (M !== 0) - s = c/M; - else - s = 0; - - return { - h: h, - s: s, - v: v - }; - } -}; - -/** - * Manage function injection: both instances and prototype can be overridden - * and restored - */ -var InjectionsHandler = class DashToDock_InjectionsHandler extends BasicHandler { - - _create(item) { - let object = item[0]; - let name = item[1]; - let injectedFunction = item[2]; - let original = object[name]; - - object[name] = injectedFunction; - return [object, name, injectedFunction, original]; - } - - _remove(item) { - let object = item[0]; - let name = item[1]; - let original = item[3]; - object[name] = original; - } -}; - -/** - * Return the actual position reverseing left and right in rtl - */ -function getPosition() { - let position = Docking.DockManager.settings.get_enum('dock-position'); - if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) { - if (position == St.Side.LEFT) - position = St.Side.RIGHT; - else if (position == St.Side.RIGHT) - position = St.Side.LEFT; - } - return position; -} - -function drawRoundedLine(cr, x, y, width, height, isRoundLeft, isRoundRight, stroke, fill) { - if (height > width) { - y += Math.floor((height - width) / 2.0); - height = width; - } - - height = 2.0 * Math.floor(height / 2.0); - - var leftRadius = isRoundLeft ? height / 2.0 : 0.0; - var rightRadius = isRoundRight ? height / 2.0 : 0.0; - - cr.moveTo(x + width - rightRadius, y); - cr.lineTo(x + leftRadius, y); - if (isRoundLeft) - cr.arcNegative(x + leftRadius, y + leftRadius, leftRadius, -Math.PI/2, Math.PI/2); - else - cr.lineTo(x, y + height); - cr.lineTo(x + width - rightRadius, y + height); - if (isRoundRight) - cr.arcNegative(x + width - rightRadius, y + rightRadius, rightRadius, Math.PI/2, -Math.PI/2); - else - cr.lineTo(x + width, y); - cr.closePath(); - - if (fill != null) { - cr.setSource(fill); - cr.fillPreserve(); - } - if (stroke != null) - cr.setSource(stroke); - cr.stroke(); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js deleted file mode 100644 index a34cb080..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js +++ /dev/null @@ -1,586 +0,0 @@ -/* - * Credits: - * This file is based on code from the Dash to Panel extension by Jason DeRose - * and code from the Taskbar extension by Zorin OS - * Some code was also adapted from the upstream Gnome Shell source code. - */ -const Clutter = imports.gi.Clutter; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const St = imports.gi.St; -const Mainloop = imports.mainloop; -const Main = imports.ui.main; -const Gtk = imports.gi.Gtk; - -const Params = imports.misc.params; -const PopupMenu = imports.ui.popupMenu; -const Workspace = imports.ui.workspace; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Utils = Me.imports.utils; - -const PREVIEW_MAX_WIDTH = 250; -const PREVIEW_MAX_HEIGHT = 150; - -const PREVIEW_ANIMATION_DURATION = 250; - -var WindowPreviewMenu = class DashToDock_WindowPreviewMenu extends PopupMenu.PopupMenu { - - constructor(source) { - let side = Utils.getPosition(); - super(source.actor, 0.5, side); - - // We want to keep the item hovered while the menu is up - this.blockSourceEvents = true; - - this._source = source; - this._app = this._source.app; - let monitorIndex = this._source.monitorIndex; - - this.actor.add_style_class_name('app-well-menu'); - this.actor.set_style('max-width: ' + (Main.layoutManager.monitors[monitorIndex].width - 22) + 'px; ' + - 'max-height: ' + (Main.layoutManager.monitors[monitorIndex].height - 22) + 'px;'); - this.actor.hide(); - - // Chain our visibility and lifecycle to that of the source - this._mappedId = this._source.actor.connect('notify::mapped', () => { - if (!this._source.actor.mapped) - this.close(); - }); - this._destroyId = this._source.actor.connect('destroy', this.destroy.bind(this)); - - Main.uiGroup.add_actor(this.actor); - - // Change the initialized side where required. - this._arrowSide = side; - this._boxPointer._arrowSide = side; - this._boxPointer._userArrowSide = side; - - this.connect('destroy', this._onDestroy.bind(this)); - } - - _redisplay() { - if (this._previewBox) - this._previewBox.destroy(); - this._previewBox = new WindowPreviewList(this._source); - this.addMenuItem(this._previewBox); - this._previewBox._redisplay(); - } - - popup() { - let windows = this._source.getInterestingWindows(); - if (windows.length > 0) { - this._redisplay(); - this.open(); - this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); - this._source.emit('sync-tooltip'); - } - } - - _onDestroy() { - if (this._mappedId) - this._source.actor.disconnect(this._mappedId); - - if (this._destroyId) - this._source.actor.disconnect(this._destroyId); - } -}; - -var WindowPreviewList = class DashToDock_WindowPreviewList extends PopupMenu.PopupMenuSection { - - constructor(source) { - super(); - this.actor = new St.ScrollView({ name: 'dashtodockWindowScrollview', - hscrollbar_policy: Gtk.PolicyType.NEVER, - vscrollbar_policy: Gtk.PolicyType.NEVER, - enable_mouse_scrolling: true }); - - this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); - - let position = Utils.getPosition(); - this.isHorizontal = position == St.Side.BOTTOM || position == St.Side.TOP; - this.box.set_vertical(!this.isHorizontal); - this.box.set_name('dashtodockWindowList'); - this.actor.add_actor(this.box); - this.actor._delegate = this; - - this._shownInitially = false; - - this._source = source; - this.app = source.app; - - this._redisplayId = Main.initializeDeferredWork(this.actor, this._redisplay.bind(this)); - - this.actor.connect('destroy', this._onDestroy.bind(this)); - this._stateChangedId = this.app.connect('windows-changed', - this._queueRedisplay.bind(this)); - } - - _queueRedisplay () { - Main.queueDeferredWork(this._redisplayId); - } - - _onScrollEvent(actor, event) { - // Event coordinates are relative to the stage but can be transformed - // as the actor will only receive events within his bounds. - let stage_x, stage_y, ok, event_x, event_y, actor_w, actor_h; - [stage_x, stage_y] = event.get_coords(); - [ok, event_x, event_y] = actor.transform_stage_point(stage_x, stage_y); - [actor_w, actor_h] = actor.get_size(); - - // If the scroll event is within a 1px margin from - // the relevant edge of the actor, let the event propagate. - if (event_y >= actor_h - 2) - return Clutter.EVENT_PROPAGATE; - - // Skip to avoid double events mouse - if (event.is_pointer_emulated()) - return Clutter.EVENT_STOP; - - let adjustment, delta; - - if (this.isHorizontal) - adjustment = this.actor.get_hscroll_bar().get_adjustment(); - else - adjustment = this.actor.get_vscroll_bar().get_adjustment(); - - let increment = adjustment.step_increment; - - switch ( event.get_scroll_direction() ) { - case Clutter.ScrollDirection.UP: - delta = -increment; - break; - case Clutter.ScrollDirection.DOWN: - delta = +increment; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - delta = dy*increment; - delta += dx*increment; - break; - - } - - adjustment.set_value(adjustment.get_value() + delta); - - return Clutter.EVENT_STOP; - } - - _onDestroy() { - this.app.disconnect(this._stateChangedId); - this._stateChangedId = 0; - } - - _createPreviewItem(window) { - let preview = new WindowPreviewMenuItem(window); - return preview; - } - - _redisplay () { - let children = this._getMenuItems().filter(function(actor) { - return actor._window; - }); - - // Windows currently on the menu - let oldWin = children.map(function(actor) { - return actor._window; - }); - - // All app windows with a static order - let newWin = this._source.getInterestingWindows().sort(function(a, b) { - return a.get_stable_sequence() > b.get_stable_sequence(); - }); - - let addedItems = []; - let removedActors = []; - - let newIndex = 0; - let oldIndex = 0; - - while (newIndex < newWin.length || oldIndex < oldWin.length) { - // No change at oldIndex/newIndex - if (oldWin[oldIndex] && - oldWin[oldIndex] == newWin[newIndex]) { - oldIndex++; - newIndex++; - continue; - } - - // Window removed at oldIndex - if (oldWin[oldIndex] && - newWin.indexOf(oldWin[oldIndex]) == -1) { - removedActors.push(children[oldIndex]); - oldIndex++; - continue; - } - - // Window added at newIndex - if (newWin[newIndex] && - oldWin.indexOf(newWin[newIndex]) == -1) { - addedItems.push({ item: this._createPreviewItem(newWin[newIndex]), - pos: newIndex }); - newIndex++; - continue; - } - - // Window moved - let insertHere = newWin[newIndex + 1] && - newWin[newIndex + 1] == oldWin[oldIndex]; - let alreadyRemoved = removedActors.reduce(function(result, actor) { - let removedWin = actor._window; - return result || removedWin == newWin[newIndex]; - }, false); - - if (insertHere || alreadyRemoved) { - addedItems.push({ item: this._createPreviewItem(newWin[newIndex]), - pos: newIndex + removedActors.length }); - newIndex++; - } else { - removedActors.push(children[oldIndex]); - oldIndex++; - } - } - - for (let i = 0; i < addedItems.length; i++) - this.addMenuItem(addedItems[i].item, - addedItems[i].pos); - - for (let i = 0; i < removedActors.length; i++) { - let item = removedActors[i]; - if (this._shownInitially) - item._animateOutAndDestroy(); - else - item.actor.destroy(); - } - - // Skip animations on first run when adding the initial set - // of items, to avoid all items zooming in at once - let animate = this._shownInitially; - - if (!this._shownInitially) - this._shownInitially = true; - - for (let i = 0; i < addedItems.length; i++) - addedItems[i].item.show(animate); - - // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=692744 - // Without it, StBoxLayout may use a stale size cache - this.box.queue_relayout(); - - if (newWin.length < 1) - this._getTopMenu().close(~0); - - // As for upstream: - // St.ScrollView always requests space horizontally for a possible vertical - // scrollbar if in AUTOMATIC mode. Doing better would require implementation - // of width-for-height in St.BoxLayout and St.ScrollView. This looks bad - // when we *don't* need it, so turn off the scrollbar when that's true. - // Dynamic changes in whether we need it aren't handled properly. - let needsScrollbar = this._needsScrollbar(); - let scrollbar_policy = needsScrollbar ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER; - if (this.isHorizontal) - this.actor.hscrollbar_policy = scrollbar_policy; - else - this.actor.vscrollbar_policy = scrollbar_policy; - - if (needsScrollbar) - this.actor.add_style_pseudo_class('scrolled'); - else - this.actor.remove_style_pseudo_class('scrolled'); - } - - _needsScrollbar() { - let topMenu = this._getTopMenu(); - let topThemeNode = topMenu.actor.get_theme_node(); - if (this.isHorizontal) { - let [topMinWidth, topNaturalWidth] = topMenu.actor.get_preferred_width(-1); - let topMaxWidth = topThemeNode.get_max_width(); - return topMaxWidth >= 0 && topNaturalWidth >= topMaxWidth; - } else { - let [topMinHeight, topNaturalHeight] = topMenu.actor.get_preferred_height(-1); - let topMaxHeight = topThemeNode.get_max_height(); - return topMaxHeight >= 0 && topNaturalHeight >= topMaxHeight; - } - - } - - isAnimatingOut() { - return this.actor.get_children().reduce(function(result, actor) { - return result || actor.animatingOut; - }, false); - } -}; - -var WindowPreviewMenuItem = GObject.registerClass( -class DashToDock_WindowPreviewMenuItem extends PopupMenu.PopupBaseMenuItem { - _init(window, params) { - super._init(params); - - this._window = window; - this._destroyId = 0; - this._windowAddedId = 0; - - // We don't want this: it adds spacing on the left of the item. - this.remove_child(this._ornamentLabel); - this.add_style_class_name('dashtodock-app-well-preview-menu-item'); - - this._cloneBin = new St.Bin(); - this._cloneBin.set_size(PREVIEW_MAX_WIDTH, PREVIEW_MAX_HEIGHT); - - // TODO: improve the way the closebutton is layout. Just use some padding - // for the moment. - this._cloneBin.set_style('padding-bottom: 0.5em'); - - this.closeButton = new St.Button({ style_class: 'window-close', - x_expand: true, - y_expand: true}); - this.closeButton.add_actor(new St.Icon({ icon_name: 'window-close-symbolic' })); - this.closeButton.set_x_align(Clutter.ActorAlign.END); - this.closeButton.set_y_align(Clutter.ActorAlign.START); - - - this.closeButton.opacity = 0; - this.closeButton.connect('clicked', this._closeWindow.bind(this)); - - let overlayGroup = new Clutter.Actor({layout_manager: new Clutter.BinLayout() }); - - overlayGroup.add_actor(this._cloneBin); - overlayGroup.add_actor(this.closeButton); - - let label = new St.Label({ text: window.get_title()}); - label.set_style('max-width: '+PREVIEW_MAX_WIDTH +'px'); - let labelBin = new St.Bin({ child: label, - x_align: St.Align.MIDDLE}); - - this._windowTitleId = this._window.connect('notify::title', () => { - label.set_text(this._window.get_title()); - }); - - let box = new St.BoxLayout({ vertical: true, - reactive:true, - x_expand:true }); - box.add(overlayGroup); - box.add(labelBin); - this.add_actor(box); - - this.connect('enter-event', this._onEnter.bind(this)); - this.connect('leave-event', this._onLeave.bind(this)); - this.connect('key-focus-in', this._onEnter.bind(this)); - this.connect('key-focus-out', this._onLeave.bind(this)); - - this._cloneTexture(window); - - } - - _cloneTexture(metaWin){ - - let mutterWindow = metaWin.get_compositor_private(); - - // Newly-created windows are added to a workspace before - // the compositor finds out about them... - // Moreover sometimes they return an empty texture, thus as a workarounf also check for it size - if (!mutterWindow || !mutterWindow.get_texture() || !mutterWindow.get_size()[0]) { - this._cloneTextureId = Mainloop.idle_add(() => { - // Check if there's still a point in getting the texture, - // otherwise this could go on indefinitely - if (metaWin.get_workspace()) - this._cloneTexture(metaWin); - this._cloneTextureId = 0; - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(this._cloneTextureId, '[dash-to-dock] this._cloneTexture'); - return; - } - - let [width, height] = mutterWindow.get_size(); - let scale = Math.min(1.0, PREVIEW_MAX_WIDTH/width, PREVIEW_MAX_HEIGHT/height); - let clone = new Clutter.Clone ({ source: mutterWindow, - reactive: true, - width: width * scale, - height: height * scale }); - - // when the source actor is destroyed, i.e. the window closed, first destroy the clone - // and then destroy the menu item (do this animating out) - this._destroyId = mutterWindow.connect('destroy', () => { - clone.destroy(); - this._destroyId = 0; // avoid to try to disconnect this signal from mutterWindow in _onDestroy(), - // as the object was just destroyed - this._animateOutAndDestroy(); - }); - - this._clone = clone; - this._mutterWindow = mutterWindow; - this._cloneBin.set_child(this._clone); - - this._clone.connect('destroy', () => { - if (this._destroyId) { - mutterWindow.disconnect(this._destroyId); - this._destroyId = 0; - } - this._clone = null; - }) - } - - _windowCanClose() { - return this._window.can_close() && - !this._hasAttachedDialogs(); - } - - _closeWindow(actor) { - this._workspace = this._window.get_workspace(); - - // This mechanism is copied from the workspace.js upstream code - // It forces window activation if the windows don't get closed, - // for instance because asking user confirmation, by monitoring the opening of - // such additional confirmation window - this._windowAddedId = this._workspace.connect('window-added', - this._onWindowAdded.bind(this)); - - this.deleteAllWindows(); - } - - deleteAllWindows() { - // Delete all windows, starting from the bottom-most (most-modal) one - //let windows = this._window.get_compositor_private().get_children(); - let windows = this._clone.get_children(); - for (let i = windows.length - 1; i >= 1; i--) { - let realWindow = windows[i].source; - let metaWindow = realWindow.meta_window; - - metaWindow.delete(global.get_current_time()); - } - - this._window.delete(global.get_current_time()); - } - - _onWindowAdded(workspace, win) { - let metaWindow = this._window; - - if (win.get_transient_for() == metaWindow) { - workspace.disconnect(this._windowAddedId); - this._windowAddedId = 0; - - // use an idle handler to avoid mapping problems - - // see comment in Workspace._windowAdded - let activationEvent = Clutter.get_current_event(); - let id = Mainloop.idle_add(() => { - this.emit('activate', activationEvent); - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(id, '[dash-to-dock] this.emit'); - } - } - - _hasAttachedDialogs() { - // count trasient windows - let n=0; - this._window.foreach_transient(function(){n++;}); - return n>0; - } - - _onEnter() { - this._showCloseButton(); - return Clutter.EVENT_PROPAGATE; - } - - _onLeave() { - if (!this._cloneBin.has_pointer && - !this.closeButton.has_pointer) - this._hideCloseButton(); - - return Clutter.EVENT_PROPAGATE; - } - - _idleToggleCloseButton() { - this._idleToggleCloseId = 0; - - if (!this._cloneBin.has_pointer && - !this.closeButton.has_pointer) - this._hideCloseButton(); - - return GLib.SOURCE_REMOVE; - } - - _showCloseButton() { - - if (this._windowCanClose()) { - this.closeButton.show(); - this.closeButton.remove_all_transitions(); - this.closeButton.ease({ - opacity: 255, - duration: Workspace.WINDOW_OVERLAY_FADE_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD - }); - } - } - - _hideCloseButton() { - this.closeButton.remove_all_transitions(); - this.closeButton.ease({ - opacity: 0, - duration: Workspace.WINDOW_OVERLAY_FADE_TIME, - mode: Clutter.AnimationMode.EASE_IN_QUAD - }); - } - - show(animate) { - let fullWidth = this.get_width(); - - this.opacity = 0; - this.set_width(0); - - let time = animate ? PREVIEW_ANIMATION_DURATION : 0; - this.remove_all_transitions(); - this.ease({ - opacity: 255, - width: fullWidth, - duration: time, - mode: Clutter.AnimationMode.EASE_IN_OUT_QUAD, - }); - } - - _animateOutAndDestroy() { - this.remove_all_transitions(); - this.ease({ - opacity: 0, - duration: PREVIEW_ANIMATION_DURATION, - }); - - this.ease({ - width: 0, - height: 0, - duration: PREVIEW_ANIMATION_DURATION, - delay: PREVIEW_ANIMATION_DURATION, - onComplete: () => this.destroy() - }); - } - - activate() { - this._getTopMenu().close(); - Main.activateWindow(this._window); - } - - _onDestroy() { - super._onDestroy(); - - if (this._cloneTextureId) { - GLib.source_remove(this._cloneTextureId); - this._cloneTextureId = 0; - } - - if (this._windowAddedId > 0) { - this._workspace.disconnect(this._windowAddedId); - this._windowAddedId = 0; - } - - if (this._destroyId > 0) { - this._mutterWindow.disconnect(this._destroyId); - this._destroyId = 0; - } - - if (this._windowTitleId > 0) { - this._window.disconnect(this._windowTitleId); - this._windowTitleId = 0; - } - } -}); diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js deleted file mode 100644 index 9e701c83..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js +++ /dev/null @@ -1,124 +0,0 @@ -const Gettext = imports.gettext -const GObject = imports.gi.GObject -const Gio = imports.gi.Gio -const Config = imports.misc.config -const Unite = imports.misc.extensionUtils.getCurrentExtension() - -var SettingsManager = GObject.registerClass( - class UniteSettings extends Gio.Settings { - get DEFAULT_BINDING() { - return Gio.SettingsBindFlags.DEFAULT - } - - get _types() { - return { - 'autofocus-windows': 'boolean', - 'hide-activities-button': 'enum', - 'show-window-title': 'enum', - 'show-desktop-name': 'boolean', - 'desktop-name-text': 'string', - 'extend-left-box': 'boolean', - 'notifications-position': 'enum', - 'use-system-fonts': 'boolean', - 'show-legacy-tray': 'boolean', - 'greyscale-tray-icons': 'boolean', - 'show-window-buttons': 'enum', - 'window-buttons-theme': 'enum', - 'hide-window-titlebars': 'enum', - 'window-buttons-placement': 'select', - 'hide-dropdown-arrows': 'boolean', - 'hide-aggregate-menu-arrow': 'boolean', - 'hide-app-menu-arrow': 'boolean', - 'hide-app-menu-icon': 'boolean', - 'reduce-panel-spacing': 'boolean', - 'restrict-to-primary-screen': 'boolean' - } - } - - exists(key) { - return Object.keys(this._types).includes(key) - } - - getSettingType(key) { - return this._types[key] || 'invalid' - } - - getTypeSettings(type) { - return Object.keys(this._types).filter(key => this._types[key] == type) - } - - getSetting(key) { - if (!this.exists(key)) return - - let boolean = this.getSettingType(key) == 'boolean' - return boolean ? this.get_boolean(key) : this.get_string(key) - } - } -) - -var PreferencesManager = GObject.registerClass( - class UnitePreferences extends Gio.Settings { - get window_buttons_position() { - let setting = this.get_string('button-layout') - return /(close|minimize|maximize).*:/.test(setting) ? 'left' : 'right' - } - - get window_buttons_layout() { - let setting = this.get_string('button-layout') - return setting.match(/(close|minimize|maximize)/g) - } - - exists(key) { - let fun = key.replace(/-/g, '_') - return (fun in this) || this.list_keys().includes(key) - } - - getSetting(key) { - let fun = key.replace(/-/g, '_') - - if (this.exists(fun)) return this[fun] - if (this.exists(key)) return this.get_string(key) - } - } -) - -function initTranslations(domain) { - let textDomain = domain || Unite.metadata['gettext-domain'] - let localeDir = Unite.dir.get_child('locale') - - if (localeDir.query_exists(null)) - localeDir = localeDir.get_path() - else - localeDir = Config.LOCALEDIR - - Gettext.bindtextdomain(textDomain, localeDir) -} - -function getSettings(schema) { - schema = schema || Unite.metadata['settings-schema'] - - let gioSSS = Gio.SettingsSchemaSource - let schemaDir = Unite.dir.get_child('schemas') - let schemaSource = gioSSS.get_default() - - if (schemaDir.query_exists(null)) { - schemaDir = schemaDir.get_path() - schemaSource = gioSSS.new_from_directory(schemaDir, schemaSource, false) - } - - let schemaObj = schemaSource.lookup(schema, true) - - if (!schemaObj) { - let metaId = Unite.metadata.uuid - let message = `Schema ${schema} could not be found for extension ${metaId}.` - - throw new Error(`${message} Please check your installation.`) - } - - return new SettingsManager({ settings_schema: schemaObj }) -} - -function getPreferences() { - let schemaId = 'org.gnome.desktop.wm.preferences' - return new PreferencesManager({ schema_id: schemaId }) -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js deleted file mode 100644 index 1d5a8849..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js +++ /dev/null @@ -1,55 +0,0 @@ -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const ActivateWindow = Unite.imports.modules.activateWindow.ActivateWindow -const ExtendLeftBox = Unite.imports.modules.extendLeftBox.ExtendLeftBox -const DesktopName = Unite.imports.modules.desktopName.DesktopName -const MessageTray = Unite.imports.modules.messageTray.MessageTray -const ActivitiesButton = Unite.imports.modules.activitiesButton.ActivitiesButton -const ApplicationMenu = Unite.imports.modules.applicationMenu.ApplicationMenu -const WindowButtons = Unite.imports.modules.windowButtons.WindowButtons -const WindowDecoration = Unite.imports.modules.windowDecoration.WindowDecoration -const TopIcons = Unite.imports.modules.topIcons.TopIcons -const ThemeMods = Unite.imports.modules.themeMods.ThemeMods - -class UniteExtension { - constructor() { - this._activateWindow = new ActivateWindow() - this._extendLeftBox = new ExtendLeftBox() - this._desktopName = new DesktopName() - this._messageTray = new MessageTray() - this._activitiesButton = new ActivitiesButton() - this._applicationMenu = new ApplicationMenu() - this._windowButtons = new WindowButtons() - this._windowDecoration = new WindowDecoration() - this._topIcons = new TopIcons() - this._themeMods = new ThemeMods() - - Main.panel._addStyleClassName('unite-shell') - } - - destroy() { - this._activateWindow.destroy() - this._extendLeftBox.destroy() - this._desktopName.destroy() - this._messageTray.destroy() - this._activitiesButton.destroy() - this._applicationMenu.destroy() - this._windowButtons.destroy() - this._windowDecoration.destroy() - this._topIcons.destroy() - this._themeMods.destroy() - - Main.panel._removeStyleClassName('unite-shell') - } -} - -let uniteExtension - -function enable() { - uniteExtension = new UniteExtension() -} - -function disable() { - uniteExtension.destroy() - uniteExtension = null -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js deleted file mode 100644 index 840f2308..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js +++ /dev/null @@ -1,100 +0,0 @@ -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Convenience = Unite.imports.convenience - -var SignalsHandler = class SignalsHandler { - constructor(context) { - this._init(context) - } - - _init(context) { - this._signals = {} - this._context = context - } - - _getCallbackFunction(callback) { - if (typeof callback == 'string') - callback = this._context[callback] || this._context[`_${callback}`] - - return callback - } - - _connectHandler(object, name, callbackObj) { - let callback = this._getCallbackFunction(callbackObj) - let signalId = object.connect(name, callback.bind(this._context)) - - return { object: object, signalId: signalId } - } - - _addHandler(object, name, callback) { - let signalKey = `${object}[${name}#${callback}]` - - if (!this._signals[signalKey]) - this._signals[signalKey] = this._connectHandler(object, name, callback) - - return signalKey - } - - connect(object, name, callback) { - return this._addHandler(object, name, callback) - } - - disconnect(signalKey) { - let signalData = this._signals[signalKey] - if (!signalData) return - - signalData.object.disconnect(signalData.signalId) - delete this._signals[signalKey] - } - - disconnectMany(signalKeys) { - signalKeys.forEach(signalKey => { this.disconnect(signalKey) }) - } - - disconnectAll() { - this.disconnectMany(Object.keys(this._signals)) - } -} - -var SettingsHandler = class SettingsHandler extends SignalsHandler { - _init(context) { - this._enabler = null - this._signals = {} - this._context = context - this._settings = Convenience.getSettings() - this._wmPrefs = Convenience.getPreferences() - } - - _getSettingObject(settingKey) { - if (this._settings.exists(settingKey)) - return this._settings - - if (this._wmPrefs.exists(settingKey)) - return this._wmPrefs - } - - connect(name, callback) { - let object = this._getSettingObject(name) - return this._addHandler(object, `changed::${name}`, callback) - } - - enable(name, callback) { - if (this._enabler) return - - let signalObj = this._settings - this._enabler = this._connectHandler(signalObj, `changed::${name}`, callback) - } - - disable() { - if (!this._enabler) return - - this._settings.disconnect(this._enabler.signalId) - this._enabler = null - } - - get(settingKey) { - if (settingKey == null) return - - let object = this._getSettingObject(settingKey) - if (object) return object.getSetting(settingKey) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js deleted file mode 100644 index a338a714..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js +++ /dev/null @@ -1,101 +0,0 @@ -const Gio = imports.gi.Gio -const GLib = imports.gi.GLib -const St = imports.gi.St -const Meta = imports.gi.Meta -const Config = imports.misc.config -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Settings = Unite.imports.convenience.getSettings() - -const USER_CONFIG = GLib.get_user_config_dir() -const USER_STYLES = `${USER_CONFIG}/gtk-3.0/gtk.css` - -var minorVersion = parseInt(Config.PACKAGE_VERSION.split('.')[1]) - -function fileExists(path) { - return GLib.file_test(path, GLib.FileTest.EXISTS) -} - -function getUserStyles() { - if (!fileExists(USER_STYLES)) return '' - - let file = GLib.file_get_contents(USER_STYLES) - let style = String.fromCharCode.apply(null, file[1]) - - return style.replace(/@import.*unite@hardpixel\.eu.*css['"]\);\n/g, '') -} - -function loadUserStyles(styles) { - let existing = getUserStyles() - GLib.file_set_contents(USER_STYLES, styles + existing) -} - -function getThemeContext() { - return St.ThemeContext.get_for_stage(global.stage) -} - -function getTheme() { - let context = getThemeContext() - return context.get_theme() -} - -function getGioFile(filePath) { - let absPath = GLib.build_filenamev([Unite.path, filePath]) - - if (fileExists(absPath)) - return Gio.file_new_for_path(absPath) -} - -function loadStyles(filePath) { - let gioFile = getGioFile(filePath) - if (!gioFile) return - - let theme = getTheme() - theme.load_stylesheet(gioFile) - - return gioFile -} - -function unloadStyles(gioFile) { - let theme = getTheme() - theme.unload_stylesheet(gioFile) - - return null -} - -function scaleSize(initialSize) { - let context = getThemeContext() - return initialSize * context.scale_factor -} - -function getWindowXID(win) { - let desc = win.get_description() || '' - let match = desc.match(/0x[0-9a-f]+/) || [null] - - return match[0] -} - -function isWindow(win) { - if (!win) return - - let meta = Meta.WindowType - let types = [meta.NORMAL, meta.DIALOG, meta.MODAL_DIALOG, meta.UTILITY] - - return types.includes(win.window_type) -} - -function isMaximized(win, matchState) { - if (!win) return - - let flags = Meta.MaximizeFlags - let maximized = win.get_maximized() - let primaryScreen = win.is_on_primary_monitor() || !(Settings.getSetting('restrict-to-primary-screen')) - let tileMaximized = maximized == flags.HORIZONTAL || maximized == flags.VERTICAL - let fullMaximized = maximized == flags.BOTH - let bothMaximized = fullMaximized || tileMaximized - - switch (matchState) { - case 'both': return primaryScreen && bothMaximized - case 'maximized': return primaryScreen && fullMaximized - case 'tiled': return primaryScreen && tileMaximized - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json deleted file mode 100644 index debdbd60..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "_generated": "Generated by SweetTooth, do not edit", - "description": "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell.\n\n- Adds window buttons to the top panel for maximized windows.\n- Shows current window title in the app menu for maximized windows.\n- Removes titlebars on maximized windows.\n- Hides window controls on maximized windows with headerbars.\n- Moves the date to the right, reduces panel spacing and removes dropdown arrows.\n- Moves legacy tray icons to the top panel.\n- Moves notifications to the right.\n- Hides activities button.\n- Adds desktop name to the top panel.\n\nThis extension depends on some Xorg utilities. To install them:\n- Debian/Ubuntu: apt install x11-utils\n- Fedora/RHEL: dnf install xorg-x11-utils\n- Arch: pacman -S xorg-xprop\n\n*Settings are provided to enable/disable or customize the available tweaks.\n* Since version 2 applications on wayland with client side decorations are supported using CSS.", - "gettext-domain": "unite", - "name": "Unite", - "settings-schema": "org.gnome.shell.extensions.unite", - "shell-version": [ - "3.34", - "3.32" - ], - "url": "https://github.com/hardpixel/unite-shell", - "uuid": "unite@hardpixel.eu", - "version": 34 -} \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js deleted file mode 100644 index 4c4316df..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js +++ /dev/null @@ -1,82 +0,0 @@ -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Signals = Unite.imports.handlers.SignalsHandler -const Settings = Unite.imports.handlers.SettingsHandler - -var BaseModule = class UniteBaseModule { - constructor() { - this._setup() - this._init() - } - - _setup() { - this._enableKey = null - this._enableValue = null - this._disableValue = null - - this._runCallback('_onSetup') - } - - _init() { - this._signals = new Signals(this) - this._settings = new Settings(this) - this._setting = this._settings.get(this._enableKey) - - this._runCallback('_onInitialize') - this._activate() - - this._settings.enable(this._enableKey, 'reload') - } - - get _enabled() { - if (this._enableKey == null) - return true - - if (this._enableValue != null) - return this._setting == this._enableValue - - if (this._disableValue != null) - return this._setting != this._disableValue - } - - _hasCallback(name) { - return typeof(this[name]) === 'function' - } - - _runCallback(name) { - if (this._hasCallback(name)) - this[name]() - } - - _activate() { - if (this._enabled) - this._runCallback('_onActivate') - } - - _deactivate() { - this._runCallback('_onDeactivate') - - this._settings.disconnectAll() - this._signals.disconnectAll() - } - - _reload() { - let prevState = this._enabled - this._setting = this._settings.get(this._enableKey) - - if (prevState == this._enabled) { - this._runCallback('_onReset') - } else { - this._deactivate() - this._activate() - - this._runCallback('_onReload') - } - } - - destroy() { - this._deactivate() - this._runCallback('_onDestroy') - - this._settings.disable() - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js deleted file mode 100644 index bb63e854..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js +++ /dev/null @@ -1,18 +0,0 @@ -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule - -var ActivateWindow = class ActivateWindow extends Base { - _onSetup() { - this._enableKey = 'autofocus-windows' - this._enableValue = true - } - - _onActivate() { - this._signals.connect(global.display, 'window-demands-attention', 'focusWindow') - } - - _focusWindow(actor, win) { - Main.activateWindow(win, global.get_current_time()) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js deleted file mode 100644 index 6d322934..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js +++ /dev/null @@ -1,46 +0,0 @@ -const Shell = imports.gi.Shell -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule - -var ActivitiesButton = class ActivitiesButton extends Base { - _onSetup() { - this._enableKey = 'hide-activities-button' - this._disableValue = 'never' - } - - _onInitialize() { - this._container = Main.panel.statusArea.activities.container - this.appSystem = Shell.AppSystem.get_default() - this.winTracker = Shell.WindowTracker.get_default() - } - - _onActivate() { - this._signals.connect(this.appSystem, 'app-state-changed', 'toggleButton') - this._signals.connect(this.winTracker, 'notify::focus-app', 'toggleButton') - - this._signals.connect(Main.overview, 'showing', 'toggleButton') - this._signals.connect(Main.overview, 'hiding', 'toggleButton') - - this._toggleButton() - } - - _onReset() { - this._toggleButton() - } - - _onDeactivate() { - this._container.show() - } - - _toggleButton() { - let appMenu = Main.panel.statusArea.appMenu._targetApp != null - let overview = Main.overview.visibleTarget - let hidden = this._setting == 'always' || (appMenu && !overview) - - if (!hidden && this._settings.get('show-desktop-name')) - hidden = !appMenu && !overview - - this._container.visible = !hidden - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js deleted file mode 100644 index 4916db53..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js +++ /dev/null @@ -1,73 +0,0 @@ -const Shell = imports.gi.Shell -const Meta = imports.gi.Meta -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const isWindow = Unite.imports.helpers.isWindow -const isMaximized = Unite.imports.helpers.isMaximized - -var ApplicationMenu = class ApplicationMenu extends Base { - _onSetup() { - this._enableKey = 'show-window-title' - this._disableValue = 'never' - } - - _onInitialize() { - this.appMenu = Main.panel.statusArea.appMenu - this.winTracker = Shell.WindowTracker.get_default() - this.monitorManager = Meta.MonitorManager.get() - this._isUpdating = false - } - - _onActivate() { - this._signals.connect(global.display, 'notify::focus-window', 'updateTitle') - this._signals.connect(this.monitorManager, 'monitors-changed', 'updateTitle') - - this._signals.connect(global.window_manager, 'size-change', 'updateTitleText') - this._signals.connect(this.appMenu._label, 'notify::text', 'updateTitleText') - - this._updateTitle() - } - - _onReset() { - this._updateTitle() - } - - _handleWindowTitle(win) { - if (!isWindow(win) || win._updateTitleID) return - - win._updateTitleID = win.connect( - 'notify::title', () => { this._updateTitleText() } - ) - } - - _updateTitle() { - let focusWindow = global.display.focus_window - - this._handleWindowTitle(focusWindow) - this._updateTitleText() - } - - _updateTitleText() { - if (this._isUpdating) return - - let focusApp = this.winTracker.focus_app - let focusWindow = global.display.focus_window - let current = this.appMenu._label.get_text() - let maximized = isMaximized(focusWindow, this._setting) - let always = this._setting == 'always' && focusWindow - let title = null - - if (always || maximized) - title = focusWindow.title - - if (!title && focusApp) - title = focusApp.get_name() - - if (title && title != current) { - this._isUpdating = true - this.appMenu._label.set_text(title) - this._isUpdating = false - } - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js deleted file mode 100644 index 7af25ff2..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js +++ /dev/null @@ -1,73 +0,0 @@ -const Shell = imports.gi.Shell -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const DesktopLabel = Unite.imports.panel.DesktopLabel - -var DesktopName = class DesktopName extends Base { - _onSetup() { - this._enableKey = 'show-desktop-name' - this._enableValue = true - } - - _onInitialize() { - this.appSystem = Shell.AppSystem.get_default() - this.winTracker = Shell.WindowTracker.get_default() - } - - _onActivate() { - this._signals.connect(this.appSystem, 'app-state-changed', 'toggleLabel') - this._signals.connect(this.winTracker, 'notify::focus-app', 'toggleLabel') - - this._signals.connect(Main.overview, 'showing', 'toggleLabel') - this._signals.connect(Main.overview, 'hiding', 'toggleLabel') - - this._settings.connect('desktop-name-text', 'setLabelText') - - this._createLabel() - } - - _onDeactivate() { - if (!this._label) return - - this._label.destroy() - this._label = null - } - - _visibleWindows() { - let windows = global.get_window_actors().find(win => { - let visible = win.metaWindow.showing_on_its_workspace() - let skipped = win.metaWindow.skip_taskbar - - return visible && !skipped - }) - - return windows - } - - _setLabelText() { - let text = this._settings.get('desktop-name-text') - this._label.setText(text) - } - - _toggleLabel() { - let appMenu = Main.panel.statusArea.appMenu._targetApp != null - let overview = Main.overview.visibleTarget - let visible = !appMenu && !overview - - if (visible) - visible = visible && !this._visibleWindows() - - this._label.setVisible(visible) - } - - _createLabel() { - if (this._label) return - - this._label = new DesktopLabel() - Main.panel.addToStatusArea('uniteDesktopLabel', this._label, 1, 'left') - - this._setLabelText() - this._toggleLabel() - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js deleted file mode 100644 index e9faa5b1..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js +++ /dev/null @@ -1,87 +0,0 @@ -const Gi = imports._gi -const Clutter = imports.gi.Clutter -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule - -var ExtendLeftBox = class ExtendLeftBox extends Base { - _onSetup() { - this._enableKey = 'extend-left-box' - this._enableValue = true - } - - _onActivate() { - this._oldAllocate = Main.panel.__proto__.vfunc_allocate - - Main.panel.__proto__[Gi.hook_up_vfunc_symbol]('allocate', (box, flags) => { - Main.panel.vfunc_allocate.call(Main.panel, box, flags) - this._extendBox(Main.panel, box, flags) - }) - } - - _onDeactivate() { - if (this._oldAllocate) { - Main.panel.__proto__[Gi.hook_up_vfunc_symbol]('allocate', this._oldAllocate) - this._oldAllocate = null - } - } - - _onReload() { - Main.panel.queue_relayout() - } - - _extendBox(actor, box, flags) { - let leftBox = Main.panel._leftBox - let centerBox = Main.panel._centerBox - let rightBox = Main.panel._rightBox - - let allocWidth = box.x2 - box.x1 - let allocHeight = box.y2 - box.y1 - - let [leftMinWidth, leftNaturalWidth] = leftBox.get_preferred_width(-1) - let [centerMinWidth, centerNaturalWidth] = centerBox.get_preferred_width(-1) - let [rightMinWidth, rightNaturalWidth] = rightBox.get_preferred_width(-1) - - let sideWidth = allocWidth - rightNaturalWidth - centerNaturalWidth - let childBox = new Clutter.ActorBox() - - childBox.y1 = 0 - childBox.y2 = allocHeight - - if (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 = Math.min(Math.floor(sideWidth), leftNaturalWidth) - } - - leftBox.allocate(childBox, flags) - - childBox.y1 = 0 - childBox.y2 = allocHeight - - if (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 - } - - centerBox.allocate(childBox, flags) - - childBox.y1 = 0 - childBox.y2 = allocHeight - - if (actor.get_text_direction() == Clutter.TextDirection.RTL) { - childBox.x1 = 0 - childBox.x2 = rightNaturalWidth - } else { - childBox.x1 = allocWidth - rightNaturalWidth - childBox.x2 = allocWidth - } - - rightBox.allocate(childBox, flags) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js deleted file mode 100644 index d2b17504..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js +++ /dev/null @@ -1,29 +0,0 @@ -const Clutter = imports.gi.Clutter -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const scaleSize = Unite.imports.helpers.scaleSize - -var MessageTray = class MessageTray extends Base { - _onSetup() { - this._enableKey = 'notifications-position' - this._disableValue = 'center' - } - - _onInitialize() { - this._banner = Main.messageTray._bannerBin - } - - _onActivate() { - let mappings = { center: 'CENTER', left: 'START', right: 'END' } - let position = mappings[this._setting] || 'CENTER' - - this._banner.set_x_align(Clutter.ActorAlign[position]) - this._banner.set_width(scaleSize(390)) - } - - _onDeactivate() { - this._banner.set_x_align(Clutter.ActorAlign.CENTER) - this._banner.set_width(-1) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js deleted file mode 100644 index b3360a98..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js +++ /dev/null @@ -1,230 +0,0 @@ -const Gtk = imports.gi.Gtk -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const minorVersion = Unite.imports.helpers.minorVersion - -var ThemeMods = class ThemeMods extends Base { - _onInitialize() { - this.gtkSettings = Gtk.Settings.get_default() - this._extraSpace = minorVersion < 34 - this._appMenu = Main.panel.statusArea.appMenu - this._aggMenu = Main.panel.statusArea.aggregateMenu - this._leftBox = Main.panel._leftBox - this._centerBox = Main.panel._centerBox - this._rightBox = Main.panel._rightBox - this._uiStyles = {} - } - - _onActivate() { - this._signals.connect(this.gtkSettings, 'notify::gtk-font-name', 'setPanelStyle') - this._signals.connect(this._leftBox, 'actor_added', 'removePanelArrows') - this._signals.connect(this._centerBox, 'actor_added', 'removePanelArrows') - this._signals.connect(this._rightBox, 'actor_added', 'removePanelArrows') - - this._settings.connect('use-system-fonts', 'setPanelStyle') - this._settings.connect('reduce-panel-spacing', 'setPanelStyle') - this._settings.connect('hide-app-menu-icon', 'toggleAppMenuIcon') - this._settings.connect('hide-dropdown-arrows', 'togglePanelArrows') - this._settings.connect('hide-aggregate-menu-arrow', 'toggleAggMenuArrow') - this._settings.connect('hide-app-menu-arrow', 'toggleAppMenuArrow') - - this._setExtraSpace() - - this._toggleAppMenuIcon() - this._togglePanelArrows() - this._toggleAggMenuArrow() - this._toggleAppMenuArrow() - - this._setPanelStyle() - } - - _onDeactivate() { - this._unsetExtraSpace() - - this._resetAppMenuIcon() - this._resetPanelArrows() - this._resetAggMenuArrow() - this._resetAppMenuArrow() - - this._unsetPanelStyle() - } - - _setExtraSpace() { - if (this._extraSpace) { - this._addClass('extra-spacing') - } - } - - _unsetExtraSpace() { - if (this._extraSpace) { - this._removeClass('extra-spacing') - } - } - - _setPanelStyle() { - this._unsetPanelStyle() - - const fonts = this._settings.get('use-system-fonts') - const space = this._settings.get('reduce-panel-spacing') - - if (!fonts && !space) return - - if (fonts) { - const gtkFont = this.gtkSettings.gtk_font_name - const cssFont = gtkFont.replace(/\s\d+$/, '') - - this._addStyle('uiGroup', `font-family: ${cssFont};`) - this._addClass('system-fonts') - } - - if (space) { - this._addClass('small-spacing') - } - - this._addStyle('panel', 'font-size: 11.25pt;') - } - - _unsetPanelStyle() { - this._removeClass('small-spacing') - this._removeClass('system-fonts') - - this._removeStyle('uiGroup') - this._removeStyle('panel') - } - - _toggleAppMenuIcon() { - const enabled = this._settings.get('hide-app-menu-icon') - - if (enabled) { - this._appMenu._iconBox.hide() - } else { - this._resetAppMenuIcon() - } - } - - _resetAppMenuIcon() { - this._appMenu._iconBox.show() - } - - _getWidgetArrow(widget) { - let arrow = widget._arrow - - if (!arrow) { - const last = widget.get_n_children() - 1 - const actor = widget.get_children()[last] - - if (!actor) return - - if (actor.has_style_class_name && actor.has_style_class_name('popup-menu-arrow')) - arrow = actor - else - arrow = this._getWidgetArrow(actor) - } - - if (arrow && !widget.hasOwnProperty('_arrow')) - widget._arrow = arrow - - return arrow - } - - _toggleWidgetArrow(widget, hide) { - if (!widget) return - - const arrow = this._getWidgetArrow(widget) - if (!arrow) return - - if (hide && !widget._arrowHandled) { - arrow.visible = false - widget._arrowHandled = true - } - - if (!hide && widget._arrowHandled) { - arrow.visible = true - delete widget._arrowHandled - } - } - - _removePanelArrows() { - for (const [name, widget] of Object.entries(Main.panel.statusArea)) { - if (name != 'aggregateMenu' && name != 'appMenu') { - this._toggleWidgetArrow(widget, true) - } - } - } - - _resetPanelArrows() { - for (const [name, widget] of Object.entries(Main.panel.statusArea)) { - if (name != 'aggregateMenu' && name != 'appMenu') { - this._toggleWidgetArrow(widget, false) - } - } - } - - _togglePanelArrows() { - const enabled = this._settings.get('hide-dropdown-arrows') - - if (enabled) { - this._removePanelArrows() - } else { - this._resetPanelArrows() - } - } - - _toggleAggMenuArrow() { - const enabled = this._settings.get('hide-aggregate-menu-arrow') - - if (enabled) { - this._toggleWidgetArrow(this._aggMenu, true) - } else { - this._resetAggMenuArrow() - } - } - - _resetAggMenuArrow() { - this._toggleWidgetArrow(this._aggMenu, false) - } - - _toggleAppMenuArrow() { - const enabled = this._settings.get('hide-app-menu-arrow') - - if (enabled) { - this._toggleWidgetArrow(this._appMenu, true) - } else { - this._resetAppMenuArrow() - } - } - - _resetAppMenuArrow() { - this._toggleWidgetArrow(this._appMenu, false) - } - - _addClass(name) { - Main.panel._addStyleClassName(name) - } - - _removeClass(name) { - Main.panel._removeStyleClassName(name) - } - - _addStyle(name, style) { - this._uiStyles[name] = style - - let widget = Main[name] - let styles = widget.get_style() || '' - - widget.set_style(style + styles) - } - - _removeStyle(name) { - let style = this._uiStyles[name] - if (!style) return - - let widget = Main[name] - let styles = widget.get_style() || '' - - widget.set_style(styles.replace(style, '')) - - delete this._uiStyles[name] - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js deleted file mode 100644 index bf6b099f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js +++ /dev/null @@ -1,83 +0,0 @@ -const System = imports.system -const Clutter = imports.gi.Clutter -const Shell = imports.gi.Shell -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const TrayIndicator = Unite.imports.panel.TrayIndicator -const scaleSize = Unite.imports.helpers.scaleSize - -var TopIcons = class TopIcons extends Base { - _onSetup() { - this._enableKey = 'show-legacy-tray' - this._enableValue = true - } - - _onActivate() { - this._settings.connect('greyscale-tray-icons', 'desaturateIcons') - - this._createContainer() - this._createTray() - } - - _onDeactivate() { - this._destroyContainer() - this._destroyTray() - } - - _createTray() { - this._tray = new Shell.TrayManager() - - this._tray.connect('tray-icon-added', (trayManager, icon) => { - this._indicators.addIcon(icon) - this._desaturateIcon(icon) - }) - - this._tray.connect('tray-icon-removed', (trayManager, icon) => { - this._indicators.removeIcon(icon) - }) - - this._tray.manage_screen(Main.panel) - } - - _destroyTray() { - this._tray = null - System.gc() - } - - _createContainer() { - if (this._indicators) return - - this._indicators = new TrayIndicator({ size: scaleSize(20) }) - Main.panel.addToStatusArea('uniteTrayIndicator', this._indicators) - } - - _destroyContainer() { - if (!this._indicators) return - - this._indicators.destroy() - this._indicators = null - } - - _desaturateIcon(icon) { - let greyscale = this._settings.get('greyscale-tray-icons') - icon.clear_effects() - - if (!greyscale) return - - let desEffect = new Clutter.DesaturateEffect({ factor : 1.0 }) - let briEffect = new Clutter.BrightnessContrastEffect({}) - - briEffect.set_brightness(0.2) - briEffect.set_contrast(0.3) - - icon.add_effect_with_name('desaturate', desEffect) - icon.add_effect_with_name('brightness-contrast', briEffect) - } - - _desaturateIcons() { - if (!this._indicators) return - - this._indicators.forEach(icon => { this._desaturateIcon(icon) }) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js deleted file mode 100644 index 626d979b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js +++ /dev/null @@ -1,181 +0,0 @@ -const St = imports.gi.St -const Shell = imports.gi.Shell -const Meta = imports.gi.Meta -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const WindowControls = Unite.imports.panel.WindowControls -const isWindow = Unite.imports.helpers.isWindow -const isMaximized = Unite.imports.helpers.isMaximized -const loadStyles = Unite.imports.helpers.loadStyles -const unloadStyles = Unite.imports.helpers.unloadStyles - -var WindowButtons = class WindowButtons extends Base { - _onSetup() { - this._enableKey = 'show-window-buttons' - this._disableValue = 'never' - } - - _onInitialize() { - this.monitorManager = Meta.MonitorManager.get() - } - - _onActivate() { - this._signals.connect(global.display, 'notify::focus-window', 'toggleButtons') - this._signals.connect(global.window_manager, 'size-change', 'toggleButtons') - this._signals.connect(global.window_manager, 'destroy', 'toggleButtons') - this._signals.connect(this.monitorManager, 'monitors-changed', 'toggleButtons') - - this._signals.connect(Main.overview, 'showing', 'toggleButtons') - this._signals.connect(Main.overview, 'hiding', 'toggleButtons') - - this._settings.connect('window-buttons-theme', 'updateTheme') - this._settings.connect('button-layout', 'updateButtons') - this._settings.connect('window-buttons-placement', 'updateButtons') - this._settings.connect('restrict-to-primary-screen', 'updateButtons') - - this._createButtons() - this._toggleButtons() - this._loadTheme() - } - - _onReset() { - this._toggleButtons() - } - - _onDeactivate() { - this._unloadTheme() - this._destroyButtons() - } - - _createButtons() { - let buttons = this._settings.get('window-buttons-layout') - let side = this._settings.get('window-buttons-position') - let place = this._settings.get('window-buttons-placement') - let index = side == 'left' ? 1 : -1 - - if (!buttons || this._controls) return - - if ((place == 'right' || place == 'last') && side == 'left') { - buttons = buttons.reverse() - } - - if (place == 'left' || place == 'first') { - side = 'left' - index = 0 - } - - if (place == 'right' || place == 'last') { - side = 'right' - index = -1 - } - - this._controls = new WindowControls() - - this._controls.addButtons(buttons, (actor, event) => { - this._onButtonClick(actor, event) - }) - - Main.panel.addToStatusArea('uniteWindowControls', this._controls, index, side) - - const widget = this._controls.get_parent() - const appMenu = Main.panel.statusArea.appMenu.get_parent() - const aggMenu = Main.panel.statusArea.aggregateMenu.get_parent() - - if (side == 'left' && place != 'first') { - Main.panel._leftBox.set_child_below_sibling(widget, appMenu) - } - - if (side == 'right' && place != 'last') { - Main.panel._rightBox.set_child_below_sibling(widget, aggMenu) - } - } - - _destroyButtons() { - if (!this._controls) return - - this._controls.destroy() - this._controls = null - } - - _updateButtons() { - this._destroyButtons() - this._createButtons() - } - - _updateTheme() { - this._unloadTheme() - this._loadTheme() - } - - _loadTheme() { - if (this._themeFile || !this._controls) return - - this._themeName = this._settings.get('window-buttons-theme') - this._themeFile = loadStyles(`themes/${this._themeName}/stylesheet.css`) - - this._controls.add_style_class_name(`${this._themeName}-buttons`) - } - - _unloadTheme() { - if (!this._themeFile || !this._controls) return - - this._controls.remove_style_class_name(`${this._themeName}-buttons`) - - this._themeName = this._settings.get('window-buttons-theme') - this._themeFile = unloadStyles(this._themeFile) - } - - _onButtonClick(actor, event) { - let focusWindow = global.display.focus_window - if (!focusWindow) return - - switch (actor._windowAction) { - case 'minimize': return this._minimizeWindow(focusWindow) - case 'maximize': return this._maximizeWindow(focusWindow) - case 'close': return this._closeWindow(focusWindow) - } - } - - _minimizeWindow(win) { - if (!win.minimized) win.minimize() - } - - _maximizeWindow(win) { - let bothMaximized = Meta.MaximizeFlags.BOTH - let maximizeState = win.get_maximized() - - if (maximizeState === bothMaximized) - win.unmaximize(bothMaximized) - else - win.maximize(bothMaximized) - } - - _closeWindow(win) { - win.delete(global.get_current_time()) - } - - _toggleButtons() { - if (!this._controls) return - - let focusWindow = global.display.focus_window - let overview = Main.overview.visibleTarget - let valid = isWindow(focusWindow) - let visible = false - - if (!overview && valid) { - let maxed = isMaximized(focusWindow, this._setting) - let always = this._setting == 'always' && focusWindow - - visible = always || maxed - } else { - let target = Main.panel.statusArea.appMenu._targetApp - let state = target != null && target.get_state() - let running = state == Shell.AppState.RUNNING - - visible = running && !overview - } - - this._controls.setVisible(visible) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js deleted file mode 100644 index 1731df8b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js +++ /dev/null @@ -1,196 +0,0 @@ -const ByteArray = imports.byteArray -const GLib = imports.gi.GLib -const Meta = imports.gi.Meta -const Util = imports.misc.util -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const getWindowXID = Unite.imports.helpers.getWindowXID -const isWindow = Unite.imports.helpers.isWindow -const isMaximized = Unite.imports.helpers.isMaximized -const loadUserStyles = Unite.imports.helpers.loadUserStyles - -var WindowDecoration = class WindowDecoration extends Base { - _onSetup() { - this._enableKey = 'hide-window-titlebars' - this._disableValue = 'never' - } - - _onInitialize() { - this.monitorManager = Meta.MonitorManager.get() - } - - _onActivate() { - this._signals.connect(global.display, 'notify::focus-window', 'updateTitlebar') - this._signals.connect(global.window_manager, 'size-change', 'updateTitlebar') - this._signals.connect(this.monitorManager, 'monitors-changed', 'undecorateWindows') - - this._settings.connect('hide-window-titlebars', 'updateUserStyles') - this._settings.connect('button-layout', 'updateUserStyles') - this._settings.connect('restrict-to-primary-screen', 'undecorateWindows') - - this._updateUserStyles() - this._undecorateWindows() - } - - _onDeactivate() { - this._removeUserStyles() - this._decorateWindows() - } - - _onReset() { - this._removeUserStyles() - this._updateUserStyles() - - this._undecorateWindows() - } - - _getWindowXID(win) { - win._windowXID = win._windowXID || getWindowXID(win) - return win._windowXID - } - - _getHintValue(win, hint) { - let winId = this._getWindowXID(win) - if (!winId) return - - let result = GLib.spawn_command_line_sync(`xprop -id ${winId} ${hint}`) - let string = ByteArray.toString(result[1]) - if (!string.match(/=/)) return - - string = string.split('=')[1].trim().split(',').map(part => { - part = part.trim() - return part.match(/\dx/) ? part : `0x${part}` - }) - - return string - } - - _setHintValue(win, hint, value) { - let winId = this._getWindowXID(win) - if (!winId) return - - Util.spawn(['xprop', '-id', winId, '-f', hint, '32c', '-set', hint, value]) - } - - _getMotifHints(win) { - if (!win._uniteOriginalState) { - let state = this._getHintValue(win, '_UNITE_ORIGINAL_STATE') - - if (!state) { - state = this._getHintValue(win, '_MOTIF_WM_HINTS') - state = state || ['0x2', '0x0', '0x1', '0x0', '0x0'] - - this._setHintValue(win, '_UNITE_ORIGINAL_STATE', state.join(', ')) - } - - win._uniteOriginalState = state - } - - return win._uniteOriginalState - } - - _getAllWindows() { - let windows = global.get_window_actors().map(win => win.meta_window) - return windows.filter(win => this._handleWindow(win)) - } - - _handleWindow(win) { - let handleWin = false - if (!isWindow(win)) return - - let state = this._getMotifHints(win) - handleWin = !win.is_client_decorated() - handleWin = handleWin && (state[2] != '0x2' && state[2] != '0x0') - - return handleWin - } - - _toggleDecorations(win, hide) { - let winId = this._getWindowXID(win) - if (!winId) return - - let prop = '_MOTIF_WM_HINTS' - let flag = '0x2, 0x0, %s, 0x0, 0x0' - let value = hide ? flag.format('0x2') : flag.format('0x1') - - Util.spawn(['xprop', '-id', winId, '-f', prop, '32c', '-set', prop, value]) - } - - _resetDecorations(win) { - if (!this._handleWindow(win)) - return - - this._toggleDecorations(win, false) - - delete win._decorationOFF - delete win._windowXID - } - - _updateTitlebar() { - let focusWindow = global.display.focus_window - if (!focusWindow) return - - this._toggleTitlebar(focusWindow) - } - - _showTitlebar(win) { - if (!win._decorationOFF) return - - win._decorationOFF = false - this._toggleDecorations(win, false) - } - - _hideTitlebar(win) { - if (win._decorationOFF) return - - win._decorationOFF = true - this._toggleDecorations(win, true) - } - - _toggleTitlebar(win) { - if (!this._handleWindow(win)) - return - - let maxed = isMaximized(win, this._setting) - let always = this._setting == 'always' - - if (always || maxed) - this._hideTitlebar(win) - else - this._showTitlebar(win) - } - - _getCssImports() { - let position = this._settings.get('window-buttons-position') - let filePath = `${Unite.path}/styles/buttons-${position}` - let maximized = `@import url('${filePath}.css');\n` - let tiled = `@import url('${filePath}-tiled.css');\n` - let always = `@import url('${filePath}-always.css');\n` - - switch (this._setting) { - case 'both': return maximized + tiled - case 'maximized': return maximized - case 'tiled': return tiled - case 'always': return always - } - } - - _updateUserStyles() { - let styles = this._getCssImports() - loadUserStyles(styles || '') - } - - _removeUserStyles() { - loadUserStyles('') - } - - _undecorateWindows() { - let windows = this._getAllWindows() - windows.forEach(win => { this._toggleTitlebar(win) }) - } - - _decorateWindows() { - let windows = this._getAllWindows() - windows.forEach(win => { this._resetDecorations(win) }) - } -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js deleted file mode 100644 index ab44ddb7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js +++ /dev/null @@ -1,121 +0,0 @@ -const GObject = imports.gi.GObject -const St = imports.gi.St -const Clutter = imports.gi.Clutter -const Main = imports.ui.main -const PanelMenu = imports.ui.panelMenu - -var DesktopLabel = GObject.registerClass( - class UniteDesktopLabel extends PanelMenu.Button { - _init(params = { text: 'Desktop' }) { - this.params = params - this.appMenu = Main.panel.statusArea.appMenu - - super._init(0.0, null, true) - - this._label = new St.Label({ y_align: Clutter.ActorAlign.CENTER }) - this.add_actor(this._label) - - this.reactive = false - this.label_actor = this._label - - this.setText(params.text) - } - - setText(text) { - this._label.set_text(text) - } - - setVisible(visible) { - this.container.visible = visible - this.appMenu.container.visible = !visible - } - } -) - -var TrayIndicator = GObject.registerClass( - class UniteTrayIndicator extends PanelMenu.Button { - _init(params = { size: 20 }) { - this._icons = [] - this.params = params - - super._init(0.0, null, true) - - this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' }) - this.add_child(this._indicators) - - this._sync() - } - - _sync() { - this.visible = this._icons.length - } - - addIcon(icon) { - this._icons.push(icon) - - const mask = St.ButtonMask.ONE | St.ButtonMask.TWO | St.ButtonMask.THREE - const ibtn = new St.Button({ child: icon, button_mask: mask }) - - this._indicators.add_child(ibtn) - - icon.connect('destroy', () => { ibtn.destroy() }) - ibtn.connect('button-release-event', (actor, event) => { icon.click(event) }) - - icon.set_reactive(true) - icon.set_size(this.params.size, this.params.size) - - this._sync() - } - - removeIcon(icon) { - const actor = icon.get_parent() || icon - actor.destroy() - - const index = this._icons.indexOf(icon) - this._icons.splice(index, 1) - - this._sync() - } - - forEach(callback) { - this._icons.forEach(icon => { callback.call(null, icon) }) - } - } -) - -var WindowControls = GObject.registerClass( - class UniteWindowControls extends PanelMenu.Button { - _init() { - super._init(0.0, null, true) - - this._controls = new St.BoxLayout({ style_class: 'window-controls-box' }) - this.add_child(this._controls) - - this.add_style_class_name('window-controls') - } - - _addButton(action, callback) { - const bin = new St.Bin({ style_class: 'icon' }) - const btn = new St.Button({ track_hover: true }) - - btn._windowAction = action - - btn.add_style_class_name(`window-button ${action}`) - btn.add_actor(bin) - - btn.connect('clicked', (actor, event) => { - callback.call(null, actor, event) - }) - - this._controls.add_child(btn) - } - - addButtons(buttons, callback) { - buttons.forEach(action => { this._addButton(action, callback) }) - } - - setVisible(visible) { - this.container.visible = visible - } - } -) diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js deleted file mode 100644 index 6b8ebb11..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js +++ /dev/null @@ -1,74 +0,0 @@ -const GObject = imports.gi.GObject -const Gtk = imports.gi.Gtk -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Convenience = Unite.imports.convenience - -var PrefsWidget = GObject.registerClass( - class UnitePrefsWidget extends Gtk.Box { - _init(params) { - this._settings = Convenience.getSettings() - super._init(params) - - this._buildable = new Gtk.Builder() - this._buildable.add_from_file(`${Unite.path}/settings.ui`) - - this._container = this._getWidget('prefs_widget') - this.add(this._container) - - this._bindStrings() - this._bindSelects() - this._bindBooleans() - this._bindEnumerations() - } - - _getWidget(name) { - let widgetName = name.replace(/-/g, '_') - return this._buildable.get_object(widgetName) - } - - _bindInput(setting, prop) { - let widget = this._getWidget(setting) - this._settings.bind(setting, widget, prop, this._settings.DEFAULT_BINDING) - } - - _bindEnum(setting) { - let widget = this._getWidget(setting) - widget.set_active(this._settings.get_enum(setting)) - - widget.connect('changed', (combobox) => { - this._settings.set_enum(setting, combobox.get_active()) - }) - } - - _bindStrings() { - let settings = this._settings.getTypeSettings('string') - settings.forEach(setting => { this._bindInput(setting, 'text') }) - } - - _bindSelects() { - let settings = this._settings.getTypeSettings('select') - settings.forEach(setting => { this._bindInput(setting, 'active-id') }) - } - - _bindBooleans() { - let settings = this._settings.getTypeSettings('boolean') - settings.forEach(setting => { this._bindInput(setting, 'active') }) - } - - _bindEnumerations() { - let settings = this._settings.getTypeSettings('enum') - settings.forEach(setting => { this._bindEnum(setting) }) - } - } -) - -function init() { - Convenience.initTranslations() -} - -function buildPrefsWidget() { - let widget = new PrefsWidget() - widget.show_all() - - return widget -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/gschemas.compiled b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/gschemas.compiled deleted file mode 100644 index ac57a70f3e34036050feebd37822f00519d6e3e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2164 zcmcIlO^6&t6s~9{uDjV}lidxg9$W-r=Fl_b5D-N@B)SUz9V7^XSkqlIQ*2LFQ(e6~ z6HG21^pdNXAmU*~5%eY=Jh&cm6TRi?UepMJ7Z0L@_WP=Peirs<3ch)7zN&sz{oePg zw=PSkrSYO38?bLwe)GPXI|jS(Tim4O+@^Rzj9~9zL1SHr62mNj5HE=g)&th{+kIn) zs+|v1nzq%*E0b$$@^)dgS6JLU$4BbHy@>m39EWWH4Ex{_I0S!2SFbIx{`4E*#REb-4&40nhefWZ z&-G8hegNFwSieY~KKajKzXU#e?0Con{Z;V$u(yDd@$;cB^m)z$*k6FJUw`I+ap;G- zz}^M6-Z{TVo<8HOKtR-HKCrt{qVjETv&hJy!WxcaqSUFNCWQO+xNvnbh5WrqAz zFI%#&!vFgDQ~bZ9hk7JR_FFlYu7FvgFP*cduMONY{O?t&&9(!Dw_c~1ta3VAT;;TD{Qz55`Am1^ID{-0r`r~} zit=&p)iCN=<1roT9!?`;uXnW9Dz62=;|N)JOMB#5s>!;(v;7*={hZ3Z)3J}djWVZ) z(v71$c1oGKeX}eYDpN!{wx&8yxFnM(RXrbdZ79lYed25el^Rsf+1>DlINwqF%~Bad z!QoP`j@rzt%*%e?sXmla?HnTUEjiE!_+{-_XX=c4U{0wU-mTOlwMJc28>;{{%fUMr zp91t^b%#@b>?^+)n`x)zXPsh^pyAWkIM;VX{4i{QzF8?v!2V%ge z^uQ#+4?R{bE>BGJKi}vPG|Dp>Ytv_@Fv5H|e~QA# X<4}e}{Nc-Q)>?D9|KIvB97+5KnP40N diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml deleted file mode 100644 index b3fb7c1d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - Apply system fonts to shell interface. - - - - true - Extend top bar left box. - - - - true - Legacy tray icons in top bar. - - - - false - Convert legacy tray icons to greyscale. - - - - true - Autofocus windows that demand attention. - - - - true - Show desktop name in top bar. - - - - "GNOME Desktop" - Set the top bar desktop name text. - - - - true - Restrict functionalities to the primary screen. - - - - true - Hide top bar dropdown arrows. - - - - false - Hide aggregate menu dropdown arrow. - - - - true - Hide app menu dropdown arrow. - - - - true - Hide app menu application icon. - - - - true - Reduce top bar items spacing. - - - - "auto" - Top bar window buttons position. - - - - "maximized" - Use window title to replace the app-menu label. - - - - "maximized" - Active window bottons in top bar. - - - - "default-dark" - Top bar window buttons theme. - - - - "maximized" - Select windows state to hide titlebars. - - - - "right" - Select notification messages position. - - - - "auto" - Hide top bar activities button. - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui deleted file mode 100644 index 605d7844..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui +++ /dev/null @@ -1,906 +0,0 @@ - - - - - - True - True - True - False - True - - - True - False - start - 20 - 20 - 20 - 20 - vertical - 15 - True - - - True - False - 50 - - - True - False - center - Extend top bar left box - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 1 - - - - - True - False - 50 - - - True - False - center - Auto focus new windows - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 2 - - - - - True - False - 50 - - - True - False - center - Show system tray in top bar - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 3 - - - - - True - False - 50 - - - True - False - center - Show desktop name in top bar - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 5 - - - - - True - False - 50 - - - True - False - center - Restrict functionalities to the primary screen - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 6 - - - - - True - False - 50 - - - True - False - center - Hide activities button - - - False - True - 0 - - - - - 170 - True - False - 1 - - Never - Auto - Always - - - - False - True - end - 1 - - - - - False - True - 8 - - - - - True - False - 50 - - - True - False - center - Hide window titlebars - - - False - True - 0 - - - - - 170 - True - False - 2 - - Never - Tiled - Maximized - Both - Always - - - - False - True - end - 1 - - - - - False - True - 9 - - - - - True - False - 50 - - - True - False - center - Show window title in app menu - - - False - True - 0 - - - - - 170 - True - False - 2 - - Never - Tiled - Maximized - Both - Always - - - - False - True - end - 1 - - - - - False - True - 10 - - - - - True - False - 50 - - - True - False - center - Show window buttons in top bar - - - False - True - 0 - - - - - 170 - True - False - 2 - - Never - Tiled - Maximized - Both - Always - - - - False - True - end - 1 - - - - - False - True - 11 - - - - - True - False - 50 - - - True - False - center - Notification messages position - - - False - True - 0 - - - - - 170 - True - False - 2 - - Center - Left - Right - - - - False - True - end - 1 - - - - - False - True - 13 - - - - - True - - - - - True - False - General - - - False - - - - - True - False - start - 20 - 20 - 20 - 20 - vertical - 15 - True - - - True - False - 50 - - - True - False - center - Apply system fonts to shell theme - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 0 - - - - - True - False - 50 - - - True - False - center - Convert tray icons to greyscale - - - False - True - 0 - - - - - True - True - center - - - False - True - end - 1 - - - - - False - True - 1 - - - - - True - False - 50 - - - True - False - center - Hide top bar dropdown arrows - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 2 - - - - - True - False - 50 - - - True - False - center - Hide aggregate menu dropdown arrow - - - False - True - 0 - - - - - True - True - center - - - False - True - end - 1 - - - - - False - True - 3 - - - - - True - False - 50 - - - True - False - center - Hide app menu dropdown arrow - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 4 - - - - - True - False - 50 - - - True - False - center - Hide app menu application icon - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 5 - - - - - True - False - 50 - - - True - False - center - Reduce top bar items spacing - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 6 - - - - - True - False - 50 - - - True - False - center - Top bar desktop name text - - - False - True - 0 - - - - - 170 - True - True - GNOME Desktop - - - False - True - end - 1 - - - - - False - True - 7 - - - - - True - False - True - 50 - - - True - False - center - Top bar window buttons position - - - False - True - 0 - - - - - 170 - True - False - auto - - Auto - Left - Right - First - Last - - - - False - True - end - 1 - - - - - False - True - 8 - - - - - True - False - True - 50 - - - True - False - center - Top bar window buttons theme - - - False - True - 0 - - - - - 170 - True - False - 0 - - Default Dark - Default Light - Ambiance - Radiance - Arc Dark - Arc Light - United Dark - United Light - Materia Dark - Materia Light - OSX Arc - Vertex - Pop Dark - Pop Light - Vimix - Yaru - Arrongin - Telinkrin - - - - False - True - end - 1 - - - - - False - True - 9 - - - - - 1 - True - - - - - True - False - Appearance - - - 1 - False - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css deleted file mode 100644 index c6a1ef5a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css +++ /dev/null @@ -1,22 +0,0 @@ -window headerbar, -window .titlebar { - padding-left: 0; -} - -window headerbar ~ headerbar, -window headerbar ~ .titlebar, -window .titlebar ~ .titlebar, -window .titlebar ~ headerbar { - padding-left: 6px; -} - -window headerbar > box.left, -window .titlebar > box.left { - margin: 0 0 0 -200px; - opacity: 0; -} - -window .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css deleted file mode 100644 index 703cca12..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css +++ /dev/null @@ -1,22 +0,0 @@ -.tiled headerbar, -.tiled .titlebar { - padding-left: 0; -} - -.tiled headerbar ~ headerbar, -.tiled headerbar ~ .titlebar, -.tiled .titlebar ~ .titlebar, -.tiled .titlebar ~ headerbar { - padding-left: 6px; -} - -.tiled headerbar > box.left, -.tiled .titlebar > box.left { - margin: 0 0 0 -200px; - opacity: 0; -} - -.tiled .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css deleted file mode 100644 index a57eb17b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css +++ /dev/null @@ -1,22 +0,0 @@ -.maximized headerbar, -.maximized .titlebar { - padding-left: 0; -} - -.maximized headerbar ~ headerbar, -.maximized headerbar ~ .titlebar, -.maximized .titlebar ~ .titlebar, -.maximized .titlebar ~ headerbar { - padding-left: 6px; -} - -.maximized headerbar > box.left, -.maximized .titlebar > box.left { - margin: 0 0 0 -200px; - opacity: 0; -} - -.maximized .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css deleted file mode 100644 index 801de7b4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css +++ /dev/null @@ -1,20 +0,0 @@ -window > headerbar, -window > .titlebar, -window > headerbar > headerbar, -window > .titlebar > .titlebar, -window > .titlebar > stack > headerbar, -window headerbar:last-child, -window .titlebar:last-child { - padding-right: 0; -} - -window headerbar > box.right, -window .titlebar > box.right { - margin: 0 -200px 0 0; - opacity: 0; -} - -window .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css deleted file mode 100644 index fff4fecb..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css +++ /dev/null @@ -1,20 +0,0 @@ -.tiled > headerbar, -.tiled > .titlebar, -.tiled > headerbar > headerbar, -.tiled > .titlebar > .titlebar, -.tiled > .titlebar > stack > headerbar, -.tiled headerbar:last-child, -.tiled .titlebar:last-child { - padding-right: 0; -} - -.tiled headerbar > box.right, -.tiled .titlebar > box.right { - margin: 0 -200px 0 0; - opacity: 0; -} - -.tiled .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css deleted file mode 100644 index 20b20a29..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css +++ /dev/null @@ -1,20 +0,0 @@ -.maximized > headerbar, -.maximized > .titlebar, -.maximized > headerbar > headerbar, -.maximized > .titlebar > .titlebar, -.maximized > .titlebar > stack > headerbar, -.maximized headerbar:last-child, -.maximized .titlebar:last-child { - padding-right: 0; -} - -.maximized headerbar > box.right, -.maximized .titlebar > box.right { - margin: 0 -200px 0 0; - opacity: 0; -} - -.maximized .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css deleted file mode 100644 index c78b855c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css +++ /dev/null @@ -1,48 +0,0 @@ -#panel.small-spacing .panel-button { - -natural-hpadding: 8px; - -minimum-hpadding: 6px; -} - -#panel.small-spacing .panel-button .system-status-icon { - padding: 0; -} - -#panel.small-spacing .panel-button .panel-status-indicators-box { - spacing: 12px; -} - -#panel.small-spacing.extra-spacing .panel-button .panel-status-indicators-box { - spacing: 10px; -} - -#panel.small-spacing.extra-spacing #appMenu { - margin: 0 8px; -} - -#panel .panel-button.window-controls { - -natural-hpadding: 0px; - -minimum-hpadding: 0px; -} - -#panel .window-controls-box { - spacing: 2px; -} - -#panel .window-controls-box .window-button { - width: 22px; -} - -#panelLeft .window-controls-box:first-child .window-button:first-child { - padding-left: 3px; -} - -#panelRight .window-controls-box:last-child .window-button:last-child { - padding-right: 3px; -} - -#panel .window-controls-box .icon { - background-color: transparent; - border-radius: 0; - box-shadow: none; - border: 0; -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg deleted file mode 100644 index 6670047c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg deleted file mode 100644 index 91ab1631..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg deleted file mode 100644 index 5a6c3a75..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg deleted file mode 100644 index 32b0a4fb..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg deleted file mode 100644 index 3c15c364..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg deleted file mode 100644 index 668ee389..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg deleted file mode 100644 index cee4dcb8..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg deleted file mode 100644 index 6932125b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg deleted file mode 100644 index 06bb6a3c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css deleted file mode 100644 index 91029162..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 19px; - height: 19px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg deleted file mode 100644 index 2c33f879..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg deleted file mode 100644 index 1f3a7af6..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg deleted file mode 100644 index 3d8ab614..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg deleted file mode 100644 index 2c2ac30e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg deleted file mode 100644 index 0ca87567..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg deleted file mode 100644 index c629fa13..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg deleted file mode 100644 index 30308a83..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg deleted file mode 100644 index c0ca7f43..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg deleted file mode 100644 index d7bb715f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg deleted file mode 100644 index 65f0d56e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg deleted file mode 100644 index 62fb143b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg deleted file mode 100644 index fb56677f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg deleted file mode 100644 index 2c2ac30e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg deleted file mode 100644 index 1e4b5742..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg deleted file mode 100644 index 0a40905c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg deleted file mode 100644 index 30308a83..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg deleted file mode 100644 index c3f1cb6e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg deleted file mode 100644 index 3a347b9d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg deleted file mode 100644 index 326b7d62..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg deleted file mode 100644 index dca791d5..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg deleted file mode 100644 index 8eaf4b1e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg deleted file mode 100644 index e2dff2e8..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg deleted file mode 100644 index 77272234..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg deleted file mode 100644 index 10f45d52..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg deleted file mode 100644 index 0a73dcd1..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg deleted file mode 100644 index 380e42d7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg deleted file mode 100644 index 24ddca09..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css deleted file mode 100644 index 0f044fc0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 14px; - height: 14px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg deleted file mode 100644 index 66bf354b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg deleted file mode 100644 index dba468e4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg deleted file mode 100644 index 592ee7ac..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg deleted file mode 100644 index dfac382c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg deleted file mode 100644 index b8e8704d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg deleted file mode 100644 index 95351854..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg deleted file mode 100644 index 8dde54f4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg deleted file mode 100644 index 5a30c9ab..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg deleted file mode 100644 index 7c8f96e7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css deleted file mode 100644 index 5fd65cb9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 16px; - height: 16px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg deleted file mode 100644 index 66bf354b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg deleted file mode 100644 index dba468e4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg deleted file mode 100644 index 592ee7ac..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg deleted file mode 100644 index 3e6accab..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg deleted file mode 100644 index fd61fd7c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg deleted file mode 100644 index 68c0a29d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg deleted file mode 100644 index 681e3ebb..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg deleted file mode 100644 index 6766f8fa..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg deleted file mode 100644 index 176b6a7a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css deleted file mode 100644 index 5fd65cb9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 16px; - height: 16px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg deleted file mode 100644 index 58d8cd0e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg deleted file mode 100644 index 3b011079..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg deleted file mode 100644 index 798cedd9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg deleted file mode 100644 index 2fe78a41..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg deleted file mode 100644 index 45eafca3..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg deleted file mode 100644 index 66f1da4a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg deleted file mode 100644 index fda56049..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg deleted file mode 100644 index 2e469471..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg deleted file mode 100644 index d61619ad..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg deleted file mode 100644 index fed664d4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg deleted file mode 100644 index 92b1e466..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg deleted file mode 100644 index 16670425..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg deleted file mode 100644 index 606428f7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg deleted file mode 100644 index 4242e449..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg deleted file mode 100644 index fe75189c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg deleted file mode 100644 index 5a22979b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg deleted file mode 100644 index da834aed..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg deleted file mode 100644 index 73f7204f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg deleted file mode 100755 index 633cc5b9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg deleted file mode 100755 index 633cc5b9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg deleted file mode 100755 index be494f39..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg deleted file mode 100755 index e577176e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg deleted file mode 100755 index e577176e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg deleted file mode 100755 index 65f1a51a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg deleted file mode 100755 index 003be10a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg deleted file mode 100755 index 003be10a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg deleted file mode 100755 index 689321d7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg deleted file mode 100644 index f19c9724..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg deleted file mode 100644 index cf63936b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg deleted file mode 100644 index a123cfda..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg deleted file mode 100644 index 018dfbe7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg deleted file mode 100644 index 305b1d64..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg deleted file mode 100644 index 96cbd94b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg deleted file mode 100644 index 5189da72..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg deleted file mode 100644 index fb871054..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg deleted file mode 100644 index 7553792d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg deleted file mode 100644 index b20fd451..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg deleted file mode 100644 index 6924f6c7..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg deleted file mode 100644 index fc848ab4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg deleted file mode 100644 index 69d1231f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg deleted file mode 100644 index 4222a3b9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg deleted file mode 100644 index 6ad68e6a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg deleted file mode 100644 index 795bbd1d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg deleted file mode 100644 index 4bb5ecbf..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg deleted file mode 100644 index 21664706..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg deleted file mode 100644 index 1d979834..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg deleted file mode 100644 index 91fbc708..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg deleted file mode 100644 index 14a9bba9..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg deleted file mode 100644 index 0d162cdd..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg deleted file mode 100644 index 74d804ad..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg deleted file mode 100644 index d8ac07a4..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg deleted file mode 100644 index 3f827fd0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg deleted file mode 100644 index fd24aa74..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg deleted file mode 100644 index 6cb1ba4f..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css deleted file mode 100644 index 91029162..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 19px; - height: 19px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg deleted file mode 100644 index 0dba5dda..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg deleted file mode 100644 index d16d52f3..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg deleted file mode 100644 index de8bdd12..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg deleted file mode 100644 index de8bdd12..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg deleted file mode 100644 index bc7d02db..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg deleted file mode 100644 index b037440e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg deleted file mode 100644 index b037440e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg deleted file mode 100644 index 105f51a3..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg deleted file mode 100644 index d32aa7da..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css deleted file mode 100644 index 0f044fc0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 14px; - height: 14px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg deleted file mode 100644 index 53435178..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg deleted file mode 100644 index cd439133..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg deleted file mode 100644 index 81fe1496..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg deleted file mode 100644 index 8eb88633..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg deleted file mode 100644 index 475bf31e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg deleted file mode 100644 index ee76d257..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg deleted file mode 100644 index fb543b3e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg deleted file mode 100644 index f4f26c14..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg deleted file mode 100644 index 1f76de1c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css deleted file mode 100644 index 44ac511b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 18px; - height: 18px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg deleted file mode 100644 index 53435178..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg deleted file mode 100644 index cd439133..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg deleted file mode 100644 index 5b29d328..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg deleted file mode 100644 index 8eb88633..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg deleted file mode 100644 index 475bf31e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg deleted file mode 100644 index db27b667..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg deleted file mode 100644 index fb543b3e..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg deleted file mode 100644 index f4f26c14..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg deleted file mode 100644 index 3b68e665..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css deleted file mode 100644 index 44ac511b..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 18px; - height: 18px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg deleted file mode 100644 index 4aa69050..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg deleted file mode 100644 index 3463e8a6..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg deleted file mode 100644 index a759cbc0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg deleted file mode 100644 index cf1c85df..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg deleted file mode 100644 index a5aacef3..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg deleted file mode 100644 index a759cbc0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg deleted file mode 100644 index aecacc46..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg deleted file mode 100644 index dd298c5a..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg deleted file mode 100644 index a759cbc0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg deleted file mode 100644 index dbd8e769..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg deleted file mode 100644 index 236281fd..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg deleted file mode 100644 index d3489c9d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg deleted file mode 100644 index c204f983..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg deleted file mode 100644 index e4b86e52..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg deleted file mode 100644 index 7967be11..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg deleted file mode 100644 index 2b6d0aa5..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg deleted file mode 100644 index d9537558..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg deleted file mode 100644 index a9d10d1c..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg deleted file mode 100644 index 8262e591..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg deleted file mode 100644 index 37c7dff5..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg deleted file mode 100644 index b6d42fc0..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg deleted file mode 100644 index c0fc0483..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg deleted file mode 100644 index 26f22e09..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg deleted file mode 100644 index 4f120c44..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg deleted file mode 100644 index ab881907..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg deleted file mode 100644 index ef5e8450..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg deleted file mode 100644 index bb20c27d..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css b/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/desktop-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING deleted file mode 100644 index 8d61b15e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/COPYING +++ /dev/null @@ -1,341 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md deleted file mode 100644 index e2a1b8c3..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# Dash to Dock -![screenshot](https://github.com/micheleg/dash-to-dock/raw/master/media/screenshot.jpg) - -## A dock for the GNOME Shell -This extension enhances the dash moving it out of the overview and transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops without having to leave the desktop view. - -[](https://extensions.gnome.org/extension/307/dash-to-dock) - -For additional installation instructions and more information visit [https://micheleg.github.io/dash-to-dock/](https://micheleg.github.io/dash-to-dock/). - -## Installation from source - -The extension can be installed directly from source, either for the convenience of using git or to test the latest development version. Clone the desired branch with git - -
git clone https://github.com/micheleg/dash-to-dock.git
-or download the branch from github. A simple Makefile is included. Then run -
make
-make install
-
-to install the extension in your home directory. A Shell reload is required Alt+F2 r Enter and the extension has to be enabled with *gnome-tweak-tool* or with *dconf*. - -## Bug Reporting - -Bugs should be reported to the Github bug tracker [https://github.com/micheleg/dash-to-dock/issues](https://github.com/micheleg/dash-to-dock/issues). - -## License -Dash to Dock Gnome Shell extension is distributed under the terms of the GNU General Public License, -version 2 or later. See the COPYING file for details. diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui deleted file mode 100644 index 240c2f44..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/Settings.ui +++ /dev/null @@ -1,3419 +0,0 @@ - - - - - - 1 - 0.050000000000000003 - 0.25 - - - 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 - True - When set to minimize, double clicking minimizes all the windows of the application. - True - 40 - 0 - - - - 0 - 1 - - - - - True - False - True - Shift+Click action - 0 - - - 0 - 0 - - - - - True - False - center - - Raise window - Minimize window - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - Quit - - - - 1 - 0 - 2 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Behavior for Middle-Click. - True - 40 - 0 - - - - 0 - 1 - - - - - True - False - True - Middle-Click action - 0 - - - 0 - 0 - - - - - True - False - center - - Raise window - Minimize window - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - Quit - - - - 1 - 0 - 2 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Behavior for Shift+Middle-Click. - True - 40 - 0 - - - - 0 - 1 - - - - - True - False - True - Shift+Middle-Click action - 0 - - - 0 - 0 - - - - - True - False - center - - Raise window - Minimize window - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - Quit - - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - 0.01 - 0.10000000000000001 - - - 0.33000000000000002 - 1 - 0.01 - 0.10000000000000001 - - - 10 - 1 - 5 - - - True - False - 12 - 12 - 12 - 12 - vertical - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - vertical - 12 - - - True - False - 32 - - - True - False - center - Enable Unity7 like glossy backlit items - 0 - - - True - True - 0 - - - - - True - True - center - - - False - True - 1 - - - - - False - True - 0 - - - - - True - False - - - True - False - start - Use dominant color - - - True - True - 0 - - - - - True - True - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - 32 - - - True - True - - - 1 - 0 - - - - - True - False - True - Customize indicator style - fill - 0 - - - 0 - 0 - - - - - False - True - 2 - - - - - True - False - 1 - vertical - 12 - - - True - False - 32 - - - True - False - Color - 0 - - - True - True - 0 - - - - - True - True - True - - - False - True - 1 - - - - - False - True - 0 - - - - - True - False - 32 - - - True - False - Border color - 0 - - - True - True - 0 - - - - - True - True - True - - - False - True - 1 - - - - - False - True - 1 - - - - - True - False - 32 - - - True - False - Border width - 0 - - - True - True - 0 - - - - - True - True - dot_border_width_adjustment - - - False - True - 1 - - - - - False - True - 2 - - - - - False - True - 3 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - 0.050000000000000003 - 0.25 - - - 16 - 128 - 1 - 10 - - - True - True - 6 - 6 - 6 - 6 - - - True - False - 24 - 24 - 24 - 24 - vertical - 24 - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Show the dock on - 0 - - - 0 - 0 - - - - - True - False - center - - - - 1 - 0 - - - - - Show on all monitors. - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - - - - - - - - - - - 100 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Position on screen - 0 - - - False - True - 0 - - - - - True - False - 32 - - - Left - True - True - False - end - center - 0 - True - - - - False - True - 0 - - - - - Bottom - True - True - False - center - 0 - True - position_left_button - - - - False - True - 1 - - - - - Top - True - True - False - center - 0 - bottom - True - position_left_button - - - - False - True - 2 - - - - - Right - True - True - False - center - 0 - True - position_left_button - - - - False - True - 3 - - - - - False - True - 1 - - - - - - - - - - - - - - False - True - 0 - - - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Hide the dock when it obstructs a window of the current application. More refined settings are available. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Intelligent autohide - 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 - 1 - - - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Dock size limit - 0 - - - 0 - 0 - - - - - True - True - baseline - True - dock_size_adjustment - 0 - 2 - right - - - - - 1 - 0 - - - - - Panel mode: extend to the screen edge - True - True - False - 12 - 0 - True - - - 0 - 1 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Icon size limit - 0 - - - 0 - 0 - - - - - True - True - baseline - True - icon_size_adjustment - 1 - 0 - right - - - - - 1 - 0 - - - - - Fixed icon size: scroll to reveal other icons - True - True - False - 12 - 0 - True - - - 0 - 1 - 2 - - - - - - - - - - - - - - False - True - 2 - - - - - - - True - False - Position and size - - - False - - - - - True - False - 24 - 24 - 24 - 24 - vertical - 24 - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show favorite applications - 0 - - - 0 - 0 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show running applications - 0 - - - 0 - 0 - - - - - Isolate workspaces. - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - Isolate monitors. - True - True - False - 12 - 0 - True - - - 0 - 3 - 2 - - - - - True - True - False - 3 - 0 - True - - - True - False - Show open windows previews. - True - - - - - 0 - 1 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - If disabled, these settings are accessible from gnome-tweak-tool or the extension website. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Show <i>Applications</i> icon - True - 0 - - - 0 - 0 - - - - - Move the applications button at the beginning of the dock. - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - True - True - False - 3 - 0 - 0.43000000715255737 - True - - - True - False - Animate <i>Show Applications</i>. - True - - - - - 0 - 3 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show trash can - 0 - - - 0 - 0 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - - - - - True - False - True - Show mounted volumes and devices - 0 - - - 0 - 0 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - - - - - True - False - Launchers - - - 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 - 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 keyboard shortcuts 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 - 1 - - - - - True - 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 - - Raise window - Minimize - Launch new instance - Cycle through windows - Minimize or overview - Show window previews - Minimize or show previews - Focus or show previews - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 2 - - - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Behaviour when scrolling on the icon of an application. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Scroll action - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - False - center - - Do nothing - Cycle through windows - Switch workspace - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 3 - - - - - 2 - - - - - True - False - Behavior - - - 2 - False - - - - - True - False - 24 - 24 - 24 - 24 - vertical - 24 - - - True - False - 0 - in - - - True - True - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Few customizations meant to integrate the dock with the default GNOME theme. Alternatively, specific options can be enabled below. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Use built-in theme - 0 - - - 0 - 0 - - - - - True - True - end - center - - - 1 - 0 - 2 - - - - - - - - - - - - - - False - True - 0 - - - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - Save space reducing padding and border radius. - 0 - - - - 0 - 1 - - - - - True - False - True - Shrink the dash - 0 - - - 0 - 0 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Customize windows counter indicators - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - True - True - center - center - 0.46000000834465027 - - - True - False - emblem-system-symbolic - - - - - - False - True - 0 - - - - - True - False - - Default - Dots - Squares - Dashes - Segmented - Solid - Ciliora - Metro - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Set the background color for the dash. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Customize the dash color - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - True - True - center - center - 0.46000000834465027 - - - False - True - 1 - - - - - True - True - end - center - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - - - - - True - True - - - True - False - vertical - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Tune the dash background opacity. - 0 - - - - 0 - 1 - - - - - True - False - True - Customize opacity - 0 - - - 0 - 0 - - - - - True - False - 6 - - - True - True - True - center - center - - - True - False - emblem-system-symbolic - - - - - - False - True - 0 - - - - - True - False - center - - Default - Fixed - Dynamic - - - - False - True - 1 - - - - - 1 - 0 - 2 - - - - - False - True - 0 - - - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Opacity - - - False - True - 0 - - - - - True - True - custom_opacity_adjustement - on - False - 0 - 0 - 2 - right - - - - - True - True - 1 - - - - - False - True - 1 - - - - - - - - - 100 - 80 - True - True - - - True - False - 32 - - - True - False - center - 12 - Force straight corner - - 0 - - - True - True - 0 - - - - - True - True - center - 3 - - - False - True - 12 - 1 - - - - - - - - - - - - - - False - True - 1 - - - - - 3 - - - - - True - False - Appearance - - - 3 - False - - - - - False - 24 - 24 - True - True - vertical - 5 - - - - False - True - 10 - 0 - - - - - True - False - <b>Dash to Dock</b> - True - - - False - True - 1 - - - - - True - False - center - - - True - False - end - version: - - - False - True - 0 - - - - - True - False - start - ... - - - False - True - 1 - - - - - False - True - 2 - - - - - True - False - Moves the dash out of the overview transforming it in a dock - center - True - - - False - True - 3 - - - - - True - False - center - 5 - - - True - False - Created by - - - False - True - 0 - - - - - True - True - Michele (<a href="mailto:micxgx@gmail.com">micxgx@gmail.com</a>) - True - - - False - True - 1 - - - - - False - True - 4 - - - - - Webpage - True - True - True - - center - none - https://micheleg.github.io/dash-to-dock/ - - - False - True - 5 - - - - - True - True - end - <span size="small">This program comes with ABSOLUTELY NO WARRANTY. -See the <a href="https://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU General Public License, version 2 or later</a> for details.</span> - True - center - True - - - True - True - 6 - - - - - 4 - - - - - True - False - About - - - 4 - False - - - - - 1 - 0.01 - 0.10000000000000001 - - - 1 - 0.01 - 0.10000000000000001 - - - True - False - 12 - 12 - 12 - 12 - vertical - - - True - False - 0 - in - - - True - False - none - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - vertical - 12 - - - True - False - 32 - - - True - True - - - 1 - 0 - - - - - True - False - True - Customize minimum and maximum opacity values - fill - 0 - - - 0 - 0 - - - - - False - True - 0 - - - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Minimum opacity - - - False - True - 0 - - - - - True - True - min_opacity_adjustement - on - False - 0 - 0 - 2 - right - - - - - True - True - 1 - - - - - False - True - 1 - - - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - Maximum opacity - - - False - True - 0 - - - - - True - True - max_opacity_adjustement - on - False - 0 - 0 - 2 - right - - - - - True - True - 1 - - - - - False - True - 1 - - - - - - - - - - - - - - False - True - 0 - - - - - 1000 - 50 - 250 - - - 10 - 0.25 - 1 - - - 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 - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - Number overlay - 0 - - - 0 - 0 - - - - - True - False - Temporarily show the application numbers over the icons, corresponding to the shortcut. - True - 40 - 0 - - - - 0 - 1 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - True - Show the dock if it is hidden - 0 - - - 0 - 0 - - - - - True - False - If using autohide, the dock will appear for a short time when triggering the shortcut. - True - 40 - 0 - - - - 0 - 1 - - - - - - - - - 100 - 80 - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - center - 12 - - - 1 - 0 - - - - - True - False - True - Shortcut for the options above - 0 - - - 0 - 0 - - - - - True - False - Syntax: <Shift>, <Ctrl>, <Alt>, <Super> - True - 40 - 0 - - - - 0 - 1 - - - - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - True - 6 - 32 - - - True - True - end - shortcut_time_adjustment - 3 - - - 1 - 0 - - - - - True - False - True - Hide timeout (s) - 0 - - - 0 - 0 - - - - - - - - - - - - - - False - True - 0 - - - - - 1 - 0.050000000000000003 - 0.25 - - - True - False - 12 - 12 - 12 - 12 - vertical - - - True - False - 0 - in - - - True - False - none - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Show the dock by mouse hover on the screen edge. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Autohide - 0 - - - 0 - 0 - - - - - True - True - end - center - - - 1 - 0 - 2 - - - - - Push to show: require pressure to show the dock - True - True - False - 0 - True - - - 0 - 3 - 2 - - - - - Enable in fullscreen mode - True - True - False - 12 - 0 - True - - - 0 - 2 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - 32 - - - True - False - True - Show the dock when it doesn't obstruct application windows. - True - 0 - - - - 0 - 1 - - - - - True - False - True - Dodge windows - 0 - - - 0 - 0 - - - - - True - True - end - center - - - 1 - 0 - 2 - - - - - True - False - vertical - - - All windows - True - True - False - 12 - 0 - True - True - - - - False - True - 0 - - - - - Only focused application's windows - True - True - False - 0 - True - True - all_windows_radio_button - - - - False - True - 1 - - - - - Only maximized windows - True - True - False - 0 - True - True - all_windows_radio_button - - - - False - True - 2 - - - - - 0 - 2 - 2 - - - - - - - - - True - True - - - True - False - 12 - 12 - 12 - 12 - True - 6 - 32 - - - True - True - end - animation_time_adjustment - 3 - - - 1 - 0 - - - - - True - False - True - Animation duration (s) - 0 - - - 0 - 0 - - - - - True - True - end - hide_timeout_adjustment - 3 - - - 1 - 1 - - - - - True - True - end - show_timeout_adjustment - 3 - - - 1 - 2 - - - - - True - True - 0.000 - pressure_threshold_adjustment - - - 1 - 3 - - - - - True - False - True - Hide timeout (s) - 0 - - - 0 - 1 - - - - - True - False - True - Show timeout (s) - 0 - - - 0 - 2 - - - - - True - False - True - Pressure threshold - 0 - - - 0 - 3 - - - - - - - - - - - - - - False - True - 0 - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js deleted file mode 100644 index ff9d9813..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIconIndicators.js +++ /dev/null @@ -1,1130 +0,0 @@ -const Cogl = imports.gi.Cogl; -const Cairo = imports.cairo; -const Clutter = imports.gi.Clutter; -const GdkPixbuf = imports.gi.GdkPixbuf -const Gio = imports.gi.Gio; -const Gtk = imports.gi.Gtk; -const Pango = imports.gi.Pango; -const Shell = imports.gi.Shell; -const St = imports.gi.St; - -const Util = imports.misc.util; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; -const Utils = Me.imports.utils; - -let tracker = Shell.WindowTracker.get_default(); - -const RunningIndicatorStyle = { - DEFAULT: 0, - DOTS: 1, - SQUARES: 2, - DASHES: 3, - SEGMENTED: 4, - SOLID: 5, - CILIORA: 6, - METRO: 7 -}; - -const MAX_WINDOWS_CLASSES = 4; - - -/* - * This is the main indicator class to be used. The desired bahviour is - * obtained by composing the desired classes below based on the settings. - * - */ -var AppIconIndicator = class DashToDock_AppIconIndicator { - - constructor(source) { - this._indicators = []; - - // Unity indicators always enabled for now - let unityIndicator = new UnityIndicator(source); - this._indicators.push(unityIndicator); - - // Choose the style for the running indicators - let runningIndicator = null; - let runningIndicatorStyle; - - let settings = Docking.DockManager.settings; - if (settings.get_boolean('apply-custom-theme' )) { - runningIndicatorStyle = RunningIndicatorStyle.DOTS; - } else { - runningIndicatorStyle = settings.get_enum('running-indicator-style'); - } - - switch (runningIndicatorStyle) { - case RunningIndicatorStyle.DEFAULT: - runningIndicator = new RunningIndicatorDefault(source); - break; - - case RunningIndicatorStyle.DOTS: - runningIndicator = new RunningIndicatorDots(source); - break; - - case RunningIndicatorStyle.SQUARES: - runningIndicator = new RunningIndicatorSquares(source); - break; - - case RunningIndicatorStyle.DASHES: - runningIndicator = new RunningIndicatorDashes(source); - break; - - case RunningIndicatorStyle.SEGMENTED: - runningIndicator = new RunningIndicatorSegmented(source); - break; - - case RunningIndicatorStyle.SOLID: - runningIndicator = new RunningIndicatorSolid(source); - break; - - case RunningIndicatorStyle.CILIORA: - runningIndicator = new RunningIndicatorCiliora(source); - break; - - case RunningIndicatorStyle.METRO: - runningIndicator = new RunningIndicatorMetro(source); - break; - - default: - runningIndicator = new RunningIndicatorBase(source); - } - - this._indicators.push(runningIndicator); - } - - update() { - for (let i=0; i { - this._signalsHandler.destroy(); - }); - } - - update() { - } - - destroy() { - this._source.actor.disconnect(this._sourceDestroyId); - this._signalsHandler.destroy(); - } -}; - -/* - * A base indicator class for running style, from which all other EunningIndicators should derive, - * providing some basic methods, variables definitions and their update, css style classes handling. - * - */ -var RunningIndicatorBase = class DashToDock_RunningIndicatorBase extends IndicatorBase { - - constructor(source) { - super(source) - - this._side = Utils.getPosition(); - this._nWindows = 0; - - this._dominantColorExtractor = new DominantColorExtractor(this._source.app); - - // These statuses take into account the workspace/monitor isolation - this._isFocused = false; - this._isRunning = false; - } - - update() { - // Limit to 1 to MAX_WINDOWS_CLASSES windows classes - this._nWindows = Math.min(this._source.getInterestingWindows().length, MAX_WINDOWS_CLASSES); - - // We need to check the number of windows, as the focus might be - // happening on another monitor if using isolation - if (tracker.focus_app == this._source.app && this._nWindows > 0) - this._isFocused = true; - else - this._isFocused = false; - - // In the case of workspace isolation, we need to hide the dots of apps with - // no windows in the current workspace - if ((this._source.app.state != Shell.AppState.STOPPED || this._source.isLocation()) && this._nWindows > 0) - this._isRunning = true; - else - this._isRunning = false; - - this._updateCounterClass(); - this._updateFocusClass(); - this._updateDefaultDot(); - } - - _updateCounterClass() { - for (let i = 1; i <= MAX_WINDOWS_CLASSES; i++) { - let className = 'running' + i; - if (i != this._nWindows) - this._source.actor.remove_style_class_name(className); - else - this._source.actor.add_style_class_name(className); - } - } - - _updateFocusClass() { - if (this._isFocused) - this._source.actor.add_style_class_name('focused'); - else - this._source.actor.remove_style_class_name('focused'); - } - - _updateDefaultDot() { - if (this._isRunning) - this._source._dot.show(); - else - this._source._dot.hide(); - } - - _hideDefaultDot() { - // I use opacity to hide the default dot because the show/hide function - // are used by the parent class. - this._source._dot.opacity = 0; - } - - _restoreDefaultDot() { - this._source._dot.opacity = 255; - } - - _enableBacklight() { - - let colorPalette = this._dominantColorExtractor._getColorPalette(); - - // Fallback - if (colorPalette === null) { - this._source._iconContainer.set_style( - 'border-radius: 5px;' + - 'background-gradient-direction: vertical;' + - 'background-gradient-start: #e0e0e0;' + - 'background-gradient-end: darkgray;' - ); - - return; - } - - this._source._iconContainer.set_style( - 'border-radius: 5px;' + - 'background-gradient-direction: vertical;' + - 'background-gradient-start: ' + colorPalette.original + ';' + - 'background-gradient-end: ' + colorPalette.darker + ';' - ); - - } - - _disableBacklight() { - this._source._iconContainer.set_style(null); - } - - destroy() { - this._disableBacklight(); - // Remove glossy background if the children still exists - if (this._source._iconContainer.get_children().length > 1) - this._source._iconContainer.get_children()[1].set_style(null); - this._restoreDefaultDot(); - - super.destroy(); - } -}; - -// We add a css class so third parties themes can limit their indicaor customization -// to the case we do nothing -var RunningIndicatorDefault = class DashToDock_RunningIndicatorDefault extends RunningIndicatorBase { - - constructor(source) { - super(source); - this._source.actor.add_style_class_name('default'); - } - - destory() { - this._source.actor.remove_style_class_name('default'); - super.destroy(); - } -}; - -var RunningIndicatorDots = class DashToDock_RunningIndicatorDots extends RunningIndicatorBase { - - constructor(source) { - super(source) - - this._hideDefaultDot(); - - this._area = new St.DrawingArea({x_expand: true, y_expand: true}); - - // We draw for the bottom case and rotate the canvas for other placements - //set center of rotatoins to the center - this._area.set_pivot_point(0.5, 0.5); - // prepare transformation matrix - let m = new Cogl.Matrix(); - m.init_identity(); - - switch (this._side) { - case St.Side.TOP: - m.xx = -1; - m.rotate(180, 0, 0, 1); - break - - case St.Side.BOTTOM: - // nothing - break; - - case St.Side.LEFT: - m.yy = -1; - m.rotate(90, 0, 0, 1); - break; - - case St.Side.RIGHT: - m.rotate(-90, 0, 0, 1); - break - } - - this._area.set_transform(m); - - this._area.connect('repaint', this._updateIndicator.bind(this)); - this._source._iconContainer.add_child(this._area); - - let keys = ['custom-theme-running-dots-color', - 'custom-theme-running-dots-border-color', - 'custom-theme-running-dots-border-width', - 'custom-theme-customize-running-dots', - 'unity-backlit-items', - 'running-indicator-dominant-color']; - - keys.forEach(function(key) { - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::' + key, - this.update.bind(this) - ]); - }, this); - - // Apply glossy background - // TODO: move to enable/disableBacklit to apply itonly to the running apps? - // TODO: move to css class for theming support - this._glossyBackgroundStyle = 'background-image: url(\'' + Me.path + '/media/glossy.svg\');' + - 'background-size: contain;'; - } - - update() { - super.update(); - - // Enable / Disable the backlight of running apps - if (!Docking.DockManager.settings.get_boolean('apply-custom-theme') && - Docking.DockManager.settings.get_boolean('unity-backlit-items')) { - this._source._iconContainer.get_children()[1].set_style(this._glossyBackgroundStyle); - if (this._isRunning) - this._enableBacklight(); - else - this._disableBacklight(); - } else { - this._disableBacklight(); - this._source._iconContainer.get_children()[1].set_style(null); - } - - if (this._area) - this._area.queue_repaint(); - } - - _computeStyle() { - - let [width, height] = this._area.get_surface_size(); - this._width = height; - this._height = width; - - // By defaut re-use the style - background color, and border width and color - - // of the default dot - let themeNode = this._source._dot.get_theme_node(); - this._borderColor = themeNode.get_border_color(this._side); - this._borderWidth = themeNode.get_border_width(this._side); - this._bodyColor = themeNode.get_background_color(); - - let settings = Docking.DockManager.settings; - if (!settings.get_boolean('apply-custom-theme')) { - // Adjust for the backlit case - if (settings.get_boolean('unity-backlit-items')) { - // Use dominant color for dots too if the backlit is enables - let colorPalette = this._dominantColorExtractor._getColorPalette(); - - // Slightly adjust the styling - this._borderWidth = 2; - - if (colorPalette !== null) { - this._borderColor = Clutter.color_from_string(colorPalette.lighter)[1] ; - this._bodyColor = Clutter.color_from_string(colorPalette.darker)[1]; - } else { - // Fallback - this._borderColor = Clutter.color_from_string('white')[1]; - this._bodyColor = Clutter.color_from_string('gray')[1]; - } - } - - // Apply dominant color if requested - if (settings.get_boolean('running-indicator-dominant-color')) { - let colorPalette = this._dominantColorExtractor._getColorPalette(); - if (colorPalette !== null) { - this._bodyColor = Clutter.color_from_string(colorPalette.original)[1]; - } - } - - // Finally, use customize style if requested - if (settings.get_boolean('custom-theme-customize-running-dots')) { - this._borderColor = Clutter.color_from_string(settings.get_string('custom-theme-running-dots-border-color'))[1]; - this._borderWidth = settings.get_int('custom-theme-running-dots-border-width'); - this._bodyColor = Clutter.color_from_string(settings.get_string('custom-theme-running-dots-color'))[1]; - } - } - - // Define the radius as an arbitrary size, but keep large enough to account - // for the drawing of the border. - this._radius = Math.max(this._width/22, this._borderWidth/2); - this._padding = 0; // distance from the margin - this._spacing = this._radius + this._borderWidth; // separation between the dots - } - - _updateIndicator() { - - let area = this._area; - let cr = this._area.get_context(); - - this._computeStyle(); - this._drawIndicator(cr); - cr.$dispose(); - } - - _drawIndicator(cr) { - // Draw the required numbers of dots - let n = this._nWindows; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - // draw for the bottom case: - cr.translate((this._width - (2*n)*this._radius - (n-1)*this._spacing)/2, this._height - this._padding); - for (let i = 0; i < n; i++) { - cr.newSubPath(); - cr.arc((2*i+1)*this._radius + i*this._spacing, -this._radius - this._borderWidth/2, this._radius, 0, 2*Math.PI); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - - destroy() { - this._area.destroy(); - super.destroy(); - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorCiliora = class DashToDock_RunningIndicatorCiliora extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - - let size = Math.max(this._width/20, this._borderWidth); - let spacing = size; // separation between the dots - let lineLength = this._width - (size*(this._nWindows-1)) - (spacing*(this._nWindows-1)); - let padding = this._borderWidth; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(0, yOffset); - cr.newSubPath(); - cr.rectangle(0, 0, lineLength, size); - for (let i = 1; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(lineLength + (i*spacing) + ((i-1)*size), 0, size, size); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorSegmented = class DashToDock_RunningIndicatorSegmented extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/20, this._borderWidth); - let spacing = Math.ceil(this._width/18); // separation between the dots - let dashLength = Math.ceil((this._width - ((this._nWindows-1)*spacing))/this._nWindows); - let lineLength = this._width - (size*(this._nWindows-1)) - (spacing*(this._nWindows-1)); - let padding = this._borderWidth; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(0, yOffset); - for (let i = 0; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(i*dashLength + i*spacing, 0, dashLength, size); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill() - } - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorSolid = class DashToDock_RunningIndicatorSolid extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - - let size = Math.max(this._width/20, this._borderWidth); - let padding = this._borderWidth; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(0, yOffset); - cr.newSubPath(); - cr.rectangle(0, 0, this._width, size); - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - - } - } -}; - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorSquares = class DashToDock_RunningIndicatorSquares extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/11, this._borderWidth); - let padding = this._borderWidth; - let spacing = Math.ceil(this._width/18); // separation between the dots - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(Math.floor((this._width - this._nWindows*size - (this._nWindows-1)*spacing)/2), yOffset); - for (let i = 0; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(i*size + i*spacing, 0, size, size); - } - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - } -} - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorDashes = class DashToDock_RunningIndicatorDashes extends RunningIndicatorDots { - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/20, this._borderWidth); - let padding = this._borderWidth; - let spacing = Math.ceil(this._width/18); // separation between the dots - let dashLength = Math.floor(this._width/4) - spacing; - let yOffset = this._height - padding - size; - - cr.setLineWidth(this._borderWidth); - Clutter.cairo_set_source_color(cr, this._borderColor); - - cr.translate(Math.floor((this._width - this._nWindows*dashLength - (this._nWindows-1)*spacing)/2), yOffset); - for (let i = 0; i < this._nWindows; i++) { - cr.newSubPath(); - cr.rectangle(i*dashLength + i*spacing, 0, dashLength, size); - } - - cr.strokePreserve(); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.fill(); - } - } -} - -// Adapted from dash-to-panel by Jason DeRose -// https://github.com/jderose9/dash-to-panel -var RunningIndicatorMetro = class DashToDock_RunningIndicatorMetro extends RunningIndicatorDots { - - constructor(source) { - super(source); - this._source.actor.add_style_class_name('metro'); - } - - destroy() { - this._source.actor.remove_style_class_name('metro'); - super.destroy(); - } - - _drawIndicator(cr) { - if (this._isRunning) { - let size = Math.max(this._width/20, this._borderWidth); - let padding = 0; - // For the backlit case here we don't want the outer border visible - if (Docking.DockManager.settings.get_boolean('unity-backlit-items') && - !Docking.DockManager.settings.get_boolean('custom-theme-customize-running-dots')) - padding = 0; - let yOffset = this._height - padding - size; - - let n = this._nWindows; - if(n <= 1) { - cr.translate(0, yOffset); - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.newSubPath(); - cr.rectangle(0, 0, this._width, size); - cr.fill(); - } else { - let blackenedLength = (1/48)*this._width; // need to scale with the SVG for the stacked highlight - let darkenedLength = this._isFocused ? (2/48)*this._width : (10/48)*this._width; - let blackenedColor = this._bodyColor.shade(.3); - let darkenedColor = this._bodyColor.shade(.7); - - cr.translate(0, yOffset); - - Clutter.cairo_set_source_color(cr, this._bodyColor); - cr.newSubPath(); - cr.rectangle(0, 0, this._width - darkenedLength - blackenedLength, size); - cr.fill(); - Clutter.cairo_set_source_color(cr, blackenedColor); - cr.newSubPath(); - cr.rectangle(this._width - darkenedLength - blackenedLength, 0, 1, size); - cr.fill(); - Clutter.cairo_set_source_color(cr, darkenedColor); - cr.newSubPath(); - cr.rectangle(this._width - darkenedLength, 0, darkenedLength, size); - cr.fill(); - } - } - } -} - -/* - * Unity like notification and progress indicators - */ -var UnityIndicator = class DashToDock_UnityIndicator extends IndicatorBase { - - constructor(source) { - - super(source); - - this._notificationBadgeLabel = new St.Label(); - this._notificationBadgeBin = new St.Bin({ - child: this._notificationBadgeLabel, - x_align: St.Align.END, y_align: St.Align.START, - x_expand: true, y_expand: true - }); - this._notificationBadgeLabel.add_style_class_name('notification-badge'); - this._notificationBadgeCount = 0; - this._notificationBadgeBin.hide(); - - this._source._iconContainer.add_child(this._notificationBadgeBin); - this._source._iconContainer.connect('allocation-changed', this.updateNotificationBadge.bind(this)); - - this._remoteEntries = []; - this._source.remoteModel.lookupById(this._source.app.id).forEach( - (entry) => { - this.insertEntryRemote(entry); - } - ); - - this._signalsHandler.add([ - this._source.remoteModel, - 'entry-added', - this._onLauncherEntryRemoteAdded.bind(this) - ], [ - this._source.remoteModel, - 'entry-removed', - this._onLauncherEntryRemoteRemoved.bind(this) - ]) - } - - _onLauncherEntryRemoteAdded(remoteModel, entry) { - if (!entry || !entry.appId()) - return; - if (this._source && this._source.app && this._source.app.id == entry.appId()) { - this.insertEntryRemote(entry); - } - } - - _onLauncherEntryRemoteRemoved(remoteModel, entry) { - if (!entry || !entry.appId()) - return; - - if (this._source && this._source.app && this._source.app.id == entry.appId()) { - this.removeEntryRemote(entry); - } - } - - updateNotificationBadge() { - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let [minWidth, natWidth] = this._source._iconContainer.get_preferred_width(-1); - let logicalNatWidth = natWidth / scaleFactor; - let font_size = Math.max(10, Math.round(logicalNatWidth / 5)); - let margin_left = Math.round(logicalNatWidth / 4); - - this._notificationBadgeLabel.set_style( - 'font-size: ' + font_size + 'px;' + - 'margin-left: ' + margin_left + 'px;' - ); - - this._notificationBadgeBin.width = Math.round(logicalNatWidth - margin_left); - this._notificationBadgeLabel.clutter_text.ellipsize = Pango.EllipsizeMode.MIDDLE; - } - - _notificationBadgeCountToText(count) { - if (count <= 9999) { - return count.toString(); - } else if (count < 1e5) { - let thousands = count / 1e3; - return thousands.toFixed(1).toString() + "k"; - } else if (count < 1e6) { - let thousands = count / 1e3; - return thousands.toFixed(0).toString() + "k"; - } else if (count < 1e8) { - let millions = count / 1e6; - return millions.toFixed(1).toString() + "M"; - } else if (count < 1e9) { - let millions = count / 1e6; - return millions.toFixed(0).toString() + "M"; - } else { - let billions = count / 1e9; - return billions.toFixed(1).toString() + "B"; - } - } - - setNotificationBadge(count) { - this._notificationBadgeCount = count; - let text = this._notificationBadgeCountToText(count); - this._notificationBadgeLabel.set_text(text); - } - - toggleNotificationBadge(activate) { - if (activate && this._notificationBadgeCount > 0) { - this.updateNotificationBadge(); - this._notificationBadgeBin.show(); - } - else - this._notificationBadgeBin.hide(); - } - - _showProgressOverlay() { - if (this._progressOverlayArea) { - this._updateProgressOverlay(); - return; - } - - this._progressOverlayArea = new St.DrawingArea({x_expand: true, y_expand: true}); - this._progressOverlayArea.add_style_class_name('progress-bar'); - this._progressOverlayArea.connect('repaint', () => { - this._drawProgressOverlay(this._progressOverlayArea); - }); - - this._source._iconContainer.add_child(this._progressOverlayArea); - let node = this._progressOverlayArea.get_theme_node(); - - let [hasColor, color] = node.lookup_color('-progress-bar-background', false); - if (hasColor) - this._progressbar_background = color - else - this._progressbar_background = new Clutter.Color({red: 204, green: 204, blue: 204, alpha: 255}); - - [hasColor, color] = node.lookup_color('-progress-bar-border', false); - if (hasColor) - this._progressbar_border = color; - else - this._progressbar_border = new Clutter.Color({red: 230, green: 230, blue: 230, alpha: 255}); - - this._updateProgressOverlay(); - } - - _hideProgressOverlay() { - if (this._progressOverlayArea) - this._progressOverlayArea.destroy(); - this._progressOverlayArea = null; - this._progressbar_background = null; - this._progressbar_border = null; - } - - _updateProgressOverlay() { - if (this._progressOverlayArea) - this._progressOverlayArea.queue_repaint(); - } - - _drawProgressOverlay(area) { - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let [surfaceWidth, surfaceHeight] = area.get_surface_size(); - let cr = area.get_context(); - - let iconSize = this._source.icon.iconSize * scaleFactor; - - let x = Math.floor((surfaceWidth - iconSize) / 2); - let y = Math.floor((surfaceHeight - iconSize) / 2); - - let lineWidth = Math.floor(1.0 * scaleFactor); - let padding = Math.floor(iconSize * 0.05); - let width = iconSize - 2.0*padding; - let height = Math.floor(Math.min(18.0*scaleFactor, 0.20*iconSize)); - x += padding; - y += iconSize - height - padding; - - cr.setLineWidth(lineWidth); - - // Draw the outer stroke - let stroke = new Cairo.LinearGradient(0, y, 0, y + height); - let fill = null; - stroke.addColorStopRGBA(0.5, 0.5, 0.5, 0.5, 0.1); - stroke.addColorStopRGBA(0.9, 0.8, 0.8, 0.8, 0.4); - Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, width, height, true, true, stroke, fill); - - // Draw the background - x += lineWidth; - y += lineWidth; - width -= 2.0*lineWidth; - height -= 2.0*lineWidth; - - stroke = Cairo.SolidPattern.createRGBA(0.20, 0.20, 0.20, 0.9); - fill = new Cairo.LinearGradient(0, y, 0, y + height); - fill.addColorStopRGBA(0.4, 0.25, 0.25, 0.25, 1.0); - fill.addColorStopRGBA(0.9, 0.35, 0.35, 0.35, 1.0); - Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, width, height, true, true, stroke, fill); - - // Draw the finished bar - x += lineWidth; - y += lineWidth; - width -= 2.0*lineWidth; - height -= 2.0*lineWidth; - - let finishedWidth = Math.ceil(this._progress * width); - - let bg = this._progressbar_background; - let bd = this._progressbar_border; - - stroke = Cairo.SolidPattern.createRGBA(bd.red/255, bd.green/255, bd.blue/255, bd.alpha/255); - fill = Cairo.SolidPattern.createRGBA(bg.red/255, bg.green/255, bg.blue/255, bg.alpha/255); - - if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) - Utils.drawRoundedLine(cr, x + lineWidth/2.0 + width - finishedWidth, y + lineWidth/2.0, finishedWidth, height, true, true, stroke, fill); - else - Utils.drawRoundedLine(cr, x + lineWidth/2.0, y + lineWidth/2.0, finishedWidth, height, true, true, stroke, fill); - - cr.$dispose(); - } - - setProgress(progress) { - this._progress = Math.min(Math.max(progress, 0.0), 1.0); - this._updateProgressOverlay(); - } - - toggleProgressOverlay(activate) { - if (activate) { - this._showProgressOverlay(); - } - else { - this._hideProgressOverlay(); - } - } - - insertEntryRemote(remote) { - if (!remote || this._remoteEntries.indexOf(remote) !== -1) - return; - - this._remoteEntries.push(remote); - this._selectEntryRemote(remote); - } - - removeEntryRemote(remote) { - if (!remote || this._remoteEntries.indexOf(remote) == -1) - return; - - this._remoteEntries.splice(this._remoteEntries.indexOf(remote), 1); - - if (this._remoteEntries.length > 0) { - this._selectEntryRemote(this._remoteEntries[this._remoteEntries.length-1]); - } else { - this.setNotificationBadge(0); - this.toggleNotificationBadge(false); - this.setProgress(0); - this.toggleProgressOverlay(false); - } - } - - _selectEntryRemote(remote) { - if (!remote) - return; - - this._signalsHandler.removeWithLabel('entry-remotes'); - - this._signalsHandler.addWithLabel('entry-remotes', - [ - remote, - 'count-changed', - (remote, value) => { - this.setNotificationBadge(value); - } - ], [ - remote, - 'count-visible-changed', - (remote, value) => { - this.toggleNotificationBadge(value); - } - ], [ - remote, - 'progress-changed', - (remote, value) => { - this.setProgress(value); - } - ], [ - remote, - 'progress-visible-changed', - (remote, value) => { - this.toggleProgressOverlay(value); - } - ]); - - this.setNotificationBadge(remote.count()); - this.toggleNotificationBadge(remote.countVisible()); - this.setProgress(remote.progress()); - this.toggleProgressOverlay(remote.progressVisible()); - } -} - - -// We need an icons theme object, this is the only way I managed to get -// pixel buffers that can be used for calculating the backlight color -let themeLoader = null; - -// Global icon cache. Used for Unity7 styling. -let iconCacheMap = new Map(); -// Max number of items to store -// We don't expect to ever reach this number, but let's put an hard limit to avoid -// even the remote possibility of the cached items to grow indefinitely. -const MAX_CACHED_ITEMS = 1000; -// When the size exceed it, the oldest 'n' ones are deleted -const BATCH_SIZE_TO_DELETE = 50; -// The icon size used to extract the dominant color -const DOMINANT_COLOR_ICON_SIZE = 64; - -// Compute dominant color frim the app icon. -// The color is cached for efficiency. -var DominantColorExtractor = class DashToDock_DominantColorExtractor { - - constructor(app) { - this._app = app; - } - - /** - * Try to get the pixel buffer for the current icon, if not fail gracefully - */ - _getIconPixBuf() { - let iconTexture = this._app.create_icon_texture(16); - - if (themeLoader === null) { - let ifaceSettings = new Gio.Settings({ schema: "org.gnome.desktop.interface" }); - - themeLoader = new Gtk.IconTheme(), - themeLoader.set_custom_theme(ifaceSettings.get_string('icon-theme')); // Make sure the correct theme is loaded - } - - // Unable to load the icon texture, use fallback - if (iconTexture instanceof St.Icon === false) { - return null; - } - - iconTexture = iconTexture.get_gicon(); - - // Unable to load the icon texture, use fallback - if (iconTexture === null) { - return null; - } - - if (iconTexture instanceof Gio.FileIcon) { - // Use GdkPixBuf to load the pixel buffer from the provided file path - return GdkPixbuf.Pixbuf.new_from_file(iconTexture.get_file().get_path()); - } - - // Get the pixel buffer from the icon theme - let icon_info = themeLoader.lookup_icon(iconTexture.get_names()[0], DOMINANT_COLOR_ICON_SIZE, 0); - if (icon_info !== null) - return icon_info.load_icon(); - else - return null; - } - - /** - * The backlight color choosing algorithm was mostly ported to javascript from the - * Unity7 C++ source of Canonicals: - * https://bazaar.launchpad.net/~unity-team/unity/trunk/view/head:/launcher/LauncherIcon.cpp - * so it more or less works the same way. - */ - _getColorPalette() { - if (iconCacheMap.get(this._app.get_id())) { - // We already know the answer - return iconCacheMap.get(this._app.get_id()); - } - - let pixBuf = this._getIconPixBuf(); - if (pixBuf == null) - return null; - - let pixels = pixBuf.get_pixels(), - offset = 0; - - let total = 0, - rTotal = 0, - gTotal = 0, - bTotal = 0; - - let resample_y = 1, - resample_x = 1; - - // Resampling of large icons - // We resample icons larger than twice the desired size, as the resampling - // to a size s - // DOMINANT_COLOR_ICON_SIZE < s < 2*DOMINANT_COLOR_ICON_SIZE, - // most of the case exactly DOMINANT_COLOR_ICON_SIZE as the icon size is tipycally - // a multiple of it. - let width = pixBuf.get_width(); - let height = pixBuf.get_height(); - - // Resample - if (height >= 2* DOMINANT_COLOR_ICON_SIZE) - resample_y = Math.floor(height/DOMINANT_COLOR_ICON_SIZE); - - if (width >= 2* DOMINANT_COLOR_ICON_SIZE) - resample_x = Math.floor(width/DOMINANT_COLOR_ICON_SIZE); - - if (resample_x !==1 || resample_y !== 1) - pixels = this._resamplePixels(pixels, resample_x, resample_y); - - // computing the limit outside the for (where it would be repeated at each iteration) - // for performance reasons - let limit = pixels.length; - for (let offset = 0; offset < limit; offset+=4) { - let r = pixels[offset], - g = pixels[offset + 1], - b = pixels[offset + 2], - a = pixels[offset + 3]; - - let saturation = (Math.max(r,g, b) - Math.min(r,g, b)); - let relevance = 0.1 * 255 * 255 + 0.9 * a * saturation; - - rTotal += r * relevance; - gTotal += g * relevance; - bTotal += b * relevance; - - total += relevance; - } - - total = total * 255; - - let r = rTotal / total, - g = gTotal / total, - b = bTotal / total; - - let hsv = Utils.ColorUtils.RGBtoHSV(r * 255, g * 255, b * 255); - - if (hsv.s > 0.15) - hsv.s = 0.65; - hsv.v = 0.90; - - let rgb = Utils.ColorUtils.HSVtoRGB(hsv.h, hsv.s, hsv.v); - - // Cache the result. - let backgroundColor = { - lighter: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, 0.2), - original: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, 0), - darker: Utils.ColorUtils.ColorLuminance(rgb.r, rgb.g, rgb.b, -0.5) - }; - - if (iconCacheMap.size >= MAX_CACHED_ITEMS) { - //delete oldest cached values (which are in order of insertions) - let ctr=0; - for (let key of iconCacheMap.keys()) { - if (++ctr > BATCH_SIZE_TO_DELETE) - break; - iconCacheMap.delete(key); - } - } - - iconCacheMap.set(this._app.get_id(), backgroundColor); - - return backgroundColor; - } - - /** - * Downsample large icons before scanning for the backlight color to - * improve performance. - * - * @param pixBuf - * @param pixels - * @param resampleX - * @param resampleY - * - * @return []; - */ - _resamplePixels (pixels, resampleX, resampleY) { - let resampledPixels = []; - // computing the limit outside the for (where it would be repeated at each iteration) - // for performance reasons - let limit = pixels.length / (resampleX * resampleY) / 4; - for (let i = 0; i < limit; i++) { - let pixel = i * resampleX * resampleY; - - resampledPixels.push(pixels[pixel * 4]); - resampledPixels.push(pixels[pixel * 4 + 1]); - resampledPixels.push(pixels[pixel * 4 + 2]); - resampledPixels.push(pixels[pixel * 4 + 3]); - } - - return resampledPixels; - } -}; diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js deleted file mode 100644 index 071dfd60..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/appIcons.js +++ /dev/null @@ -1,1207 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Clutter = imports.gi.Clutter; -const GdkPixbuf = imports.gi.GdkPixbuf -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Signals = imports.signals; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; - -// Use __ () and N__() for the extension gettext domain, and reuse -// the shell domain with the default _() and N_() -const Gettext = imports.gettext.domain('dashtodock'); -const __ = Gettext.gettext; -const N__ = function(e) { return e }; - -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 Docking = Me.imports.docking; -const Utils = Me.imports.utils; -const WindowPreview = Me.imports.windowPreview; -const AppIconIndicators = Me.imports.appIconIndicators; - -let tracker = Shell.WindowTracker.get_default(); - -const clickAction = { - SKIP: 0, - MINIMIZE: 1, - LAUNCH: 2, - CYCLE_WINDOWS: 3, - MINIMIZE_OR_OVERVIEW: 4, - PREVIEWS: 5, - MINIMIZE_OR_PREVIEWS: 6, - FOCUS_OR_PREVIEWS: 7, - QUIT: 8, -}; - -const scrollAction = { - DO_NOTHING: 0, - CYCLE_WINDOWS: 1, - SWITCH_WORKSPACE: 2 -}; - -let recentlyClickedAppLoopId = 0; -let recentlyClickedApp = null; -let recentlyClickedAppWindows = null; -let recentlyClickedAppIndex = 0; -let recentlyClickedAppMonitor = -1; - -/** - * Extend AppIcon - * - * - Apply a css class based on the number of windows of each application (#N); - * - Customized indicators for running applications in place of 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 - * - Update menu if open on windows change - */ -var MyAppIcon = class DashToDock_AppIcon extends AppDisplay.AppIcon { - - // settings are required inside. - constructor(remoteModel, app, monitorIndex, iconParams) { - super(app, iconParams); - - // a prefix is required to avoid conflicting with the parent class variable - this.monitorIndex = monitorIndex; - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this.remoteModel = remoteModel; - this._indicator = null; - - let appInfo = app.get_app_info(); - this._location = appInfo ? appInfo.get_string('XdtdUri') : null; - - this._updateIndicatorStyle(); - this._optionalScrollCycleWindows(); - - // 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._windowsChangedId = this.app.connect('windows-changed', - this.onWindowsChanged.bind(this)); - this._focusAppChangeId = tracker.connect('notify::focus-app', - this._onFocusAppChanged.bind(this)); - - // In Wayland sessions, this signal is needed to track the state of windows dragged - // from one monitor to another. As this is triggered quite often (whenever a new winow - // of any application opened or moved to a different desktop), - // we restrict this signal to the case when 'isolate-monitors' is true, - // and if there are at least 2 monitors. - if (Docking.DockManager.settings.get_boolean('isolate-monitors') && - Main.layoutManager.monitors.length > 1) { - this._signalsHandler.removeWithLabel('isolate-monitors'); - this._signalsHandler.addWithLabel('isolate-monitors', [ - global.display, - 'window-entered-monitor', - this._onWindowEntered.bind(this) - ]); - } - - this._progressOverlayArea = null; - this._progress = 0; - - let keys = ['apply-custom-theme', - 'running-indicator-style', - ]; - - keys.forEach(function(key) { - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::' + key, - this._updateIndicatorStyle.bind(this) - ]); - }, this); - - if (this._location) { - this._signalsHandler.add([ - Docking.DockManager.getDefault().fm1Client, - 'windows-changed', - this.onWindowsChanged.bind(this) - ]); - } - - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::scroll-action', - this._optionalScrollCycleWindows.bind(this) - ]); - - this._numberOverlay(); - - this._previewMenuManager = null; - this._previewMenu = null; - } - - _onDestroy() { - super._onDestroy(); - - // This is necessary due to an upstream bug - // https://bugzilla.gnome.org/show_bug.cgi?id=757556 - // It can be safely removed once it get solved upstrea. - if (this._menu) - this._menu.close(false); - - // Disconect global signals - - if (this._windowsChangedId > 0) - this.app.disconnect(this._windowsChangedId); - this._windowsChangedId = 0; - - if (this._focusAppChangeId > 0) { - tracker.disconnect(this._focusAppChangeId); - this._focusAppChangeId = 0; - } - - this._signalsHandler.destroy(); - - if (this._scrollEventHandler) - this.actor.disconnect(this._scrollEventHandler); - } - - // TOOD Rename this function - _updateIndicatorStyle() { - - if (this._indicator !== null) { - this._indicator.destroy(); - this._indicator = null; - } - this._indicator = new AppIconIndicators.AppIconIndicator(this); - this._indicator.update(); - } - - _onWindowEntered(metaScreen, monitorIndex, metaWin) { - let app = Shell.WindowTracker.get_default().get_window_app(metaWin); - if (app && app.get_id() == this.app.get_id()) - this.onWindowsChanged(); - } - - _optionalScrollCycleWindows() { - if (this._scrollEventHandler) { - this.actor.disconnect(this._scrollEventHandler); - this._scrollEventHandler = 0; - } - - let settings = Docking.DockManager.settings; - let isEnabled = settings.get_enum('scroll-action') === scrollAction.CYCLE_WINDOWS; - if (!isEnabled) return; - this._scrollEventHandler = this.actor.connect('scroll-event', - this.onScrollEvent.bind(this)); - } - - onScrollEvent(actor, event) { - - // We only activate windows of running applications, i.e. we never open new windows - // 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 - && this.getInterestingWindows().length > 0; - - if (!appIsRunning) - return false - - if (this._optionalScrollCycleWindowsDeadTimeId) - return false; - else - this._optionalScrollCycleWindowsDeadTimeId = Mainloop.timeout_add(250, () => { - this._optionalScrollCycleWindowsDeadTimeId = 0; - }); - - let direction = null; - - switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - direction = Meta.MotionDirection.UP; - break; - case Clutter.ScrollDirection.DOWN: - direction = Meta.MotionDirection.DOWN; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - if (dy < 0) - direction = Meta.MotionDirection.UP; - else if (dy > 0) - direction = Meta.MotionDirection.DOWN; - break; - } - - let focusedApp = tracker.focus_app; - if (!Main.overview._shown) { - let reversed = direction === Meta.MotionDirection.UP; - if (this.app == focusedApp) - this._cycleThroughWindows(reversed); - else { - // Activate the first window - let windows = this.getInterestingWindows(); - if (windows.length > 0) { - let w = windows[0]; - Main.activateWindow(w); - } - } - } - else - this.app.activate(); - return true; - } - - onWindowsChanged() { - - if (this._menu && this._menu.isOpen) - this._menu.update(); - - this._indicator.update(); - this.updateIconGeometry(); - } - - /** - * Update taraget for minimization animation - */ - updateIconGeometry() { - // 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.getWindows(); - if (Docking.DockManager.settings.get_boolean('multi-monitor')) { - let monitorIndex = this.monitorIndex; - windows = windows.filter(function(w) { - return w.get_monitor() == monitorIndex; - }); - } - windows.forEach(function(w) { - w.set_icon_geometry(rect); - }); - } - - _updateRunningStyle() { - // The logic originally in this function has been moved to - // AppIconIndicatorBase._updateDefaultDot(). However it cannot be removed as - // it called by the parent constructor. - } - - popupMenu() { - this._removeMenuTimeout(); - this.actor.fake_release(); - this._draggable.fakeRelease(); - - if (!this._menu) { - this._menu = new MyAppIconMenu(this); - this._menu.connect('activate-window', (menu, window) => { - this.activateWindow(window); - }); - this._menu.connect('open-state-changed', (menu, isPoppedUp) => { - if (!isPoppedUp) - this._onMenuPoppedDown(); - else { - // Setting the max-height is s useful if part of the menu is - // scrollable so the minimum height is smaller than the natural height. - let monitor_index = Main.layoutManager.findIndexForActor(this.actor); - let workArea = Main.layoutManager.getWorkAreaForMonitor(monitor_index); - let position = Utils.getPosition(); - this._isHorizontal = ( position == St.Side.TOP || - position == St.Side.BOTTOM); - // If horizontal also remove the height of the dash - let fixedDock = Docking.DockManager.settings.get_boolean('dock-fixed'); - let additional_margin = this._isHorizontal && !fixedDock ? Main.overview._dash.actor.height : 0; - let verticalMargins = this._menu.actor.margin_top + this._menu.actor.margin_bottom; - // Also set a max width to the menu, so long labels (long windows title) get truncated - this._menu.actor.style = ('max-height: ' + Math.round(workArea.height - additional_margin - verticalMargins) + 'px;' + - 'max-width: 400px'); - } - }); - let id = Main.overview.connect('hiding', () => { - 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.actor.set_hover(true); - this._menu.popup(); - this._menuManager.ignoreRelease(); - this.emit('sync-tooltip'); - - return false; - } - - _onFocusAppChanged() { - this._indicator.update(); - } - - activate(button) { - let event = Clutter.get_current_event(); - let modifiers = event ? event.get_state() : 0; - let focusedApp = tracker.focus_app; - - // 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 - super.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; - let settings = Docking.DockManager.settings; - if (button && button == 2 ) { - if (modifiers & Clutter.ModifierType.SHIFT_MASK) - buttonAction = settings.get_enum('shift-middle-click-action'); - else - buttonAction = settings.get_enum('middle-click-action'); - } - else if (button && button == 1) { - if (modifiers & Clutter.ModifierType.SHIFT_MASK) - buttonAction = settings.get_enum('shift-click-action'); - else - buttonAction = settings.get_enum('click-action'); - } - - // We check if the app is running, and that the # of windows is > 0 in - // case we use workspace isolation. - let windows = this.getInterestingWindows(); - let appIsRunning = (this.app.state == Shell.AppState.RUNNING || this.isLocation()) - && windows.length > 0; - - // Some action modes (e.g. MINIMIZE_OR_OVERVIEW) require overview to remain open - // This variable keeps track of this - let shouldHideOverview = true; - - // We customize the action only when the application is already running - if (appIsRunning) { - switch (buttonAction) { - case clickAction.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 (this.app == focusedApp || 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 click_count = 0; - if (Clutter.EventType.CLUTTER_BUTTON_PRESS) - click_count = event.get_click_count(); - let all_windows = (button == 1 && ! modifiers) || click_count > 1; - this._minimizeWindow(all_windows); - } - else - this._activateAllWindows(); - } - else { - let w = windows[0]; - Main.activateWindow(w); - } - break; - - case clickAction.MINIMIZE_OR_OVERVIEW: - // When a single window is present, toggle minimization - // If only one windows is present toggle minimization, but only when trigggered with the - // simple click action (no modifiers, no middle click). - if (windows.length == 1 && !modifiers && button == 1) { - let w = windows[0]; - if (this.app == focusedApp) { - // Window is raised, minimize it - this._minimizeWindow(w); - } else { - // Window is minimized, raise it - Main.activateWindow(w); - } - // Launch overview when multiple windows are present - // TODO: only show current app windows when gnome shell API will allow it - } else { - shouldHideOverview = false; - Main.overview.toggle(); - } - break; - - case clickAction.CYCLE_WINDOWS: - if (!Main.overview._shown){ - if (this.app == focusedApp) - this._cycleThroughWindows(); - else { - // Activate the first window - let w = windows[0]; - Main.activateWindow(w); - } - } - else - this.app.activate(); - break; - - case clickAction.FOCUS_OR_PREVIEWS: - if (this.app == focusedApp && - (windows.length > 1 || modifiers || button != 1)) { - this._windowPreviews(); - } else { - // Activate the first window - let w = windows[0]; - Main.activateWindow(w); - } - break; - - case clickAction.LAUNCH: - this.launchNewWindow(); - break; - - case clickAction.PREVIEWS: - if (!Main.overview._shown) { - // If only one windows is present just switch to it, but only when trigggered with the - // simple click action (no modifiers, no middle click). - if (windows.length == 1 && !modifiers && button == 1) { - let w = windows[0]; - Main.activateWindow(w); - } else - this._windowPreviews(); - } - else { - this.app.activate(); - } - break; - - case clickAction.MINIMIZE_OR_PREVIEWS: - // When a single window is present, toggle minimization - // If only one windows is present toggle minimization, but only when trigggered with the - // simple click action (no modifiers, no middle click). - if (!Main.overview._shown){ - if (windows.length == 1 && !modifiers && button == 1) { - let w = windows[0]; - if (this.app == focusedApp) { - // Window is raised, minimize it - this._minimizeWindow(w); - } else { - // Window is minimized, raise it - Main.activateWindow(w); - } - } else { - // Launch previews when multiple windows are present - this._windowPreviews(); - } - } else { - this.app.activate(); - } - break; - - case clickAction.QUIT: - this.closeAllWindows(); - break; - - case clickAction.SKIP: - let w = windows[0]; - Main.activateWindow(w); - break; - } - } - else { - this.launchNewWindow(); - } - - // Hide overview except when action mode requires it - if(shouldHideOverview) { - Main.overview.hide(); - } - } - - shouldShowTooltip() { - return this.actor.hover && (!this._menu || !this._menu.isOpen) && - (!this._previewMenu || !this._previewMenu.isOpen); - } - - _windowPreviews() { - if (!this._previewMenu) { - this._previewMenuManager = new PopupMenu.PopupMenuManager(this.actor); - - this._previewMenu = new WindowPreview.WindowPreviewMenu(this); - - this._previewMenuManager.addMenu(this._previewMenu); - - this._previewMenu.connect('open-state-changed', (menu, isPoppedUp) => { - if (!isPoppedUp) - this._onMenuPoppedDown(); - }); - let id = Main.overview.connect('hiding', () => { - this._previewMenu.close(); - }); - this._previewMenu.actor.connect('destroy', function() { - Main.overview.disconnect(id); - }); - - } - - if (this._previewMenu.isOpen) - this._previewMenu.close(); - else - this._previewMenu.popup(); - - return false; - } - - // Try to do the right thing when attempting to launch a new window of an app. In - // particular, if the application doens't allow to launch a new window, activate - // the existing window instead. - launchNewWindow(p) { - let appInfo = this.app.get_app_info(); - let actions = appInfo.list_actions(); - if (this.app.can_open_new_window()) { - this.animateLaunch(); - // This is used as a workaround for a bug resulting in no new windows being opened - // for certain running applications when calling open_new_window(). - // - // https://bugzilla.gnome.org/show_bug.cgi?id=756844 - // - // Similar to what done when generating the popupMenu entries, if the application provides - // a "New Window" action, use it instead of directly requesting a new window with - // open_new_window(), which fails for certain application, notably Nautilus. - if (actions.indexOf('new-window') == -1) { - this.app.open_new_window(-1); - } - else { - let i = actions.indexOf('new-window'); - if (i !== -1) - this.app.launch_action(actions[i], global.get_current_time(), -1); - } - } - else { - // Try to manually activate the first window. Otherwise, when the app is activated by - // switching to a different workspace, a launch spinning icon is shown and disappers only - // after a timeout. - let windows = this.getWindows(); - if (windows.length > 0) - Main.activateWindow(windows[0]) - else - this.app.activate(); - } - } - - _numberOverlay() { - // Add label for a Hot-Key visual aid - this._numberOverlayLabel = new St.Label(); - this._numberOverlayBin = new St.Bin({ - child: this._numberOverlayLabel, - x_align: St.Align.START, y_align: St.Align.START, - x_expand: true, y_expand: true - }); - this._numberOverlayLabel.add_style_class_name('number-overlay'); - this._numberOverlayOrder = -1; - this._numberOverlayBin.hide(); - - this._iconContainer.add_child(this._numberOverlayBin); - - } - - updateNumberOverlay() { - // 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. - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - // 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._iconContainer.get_preferred_width(-1); - let font_size = Math.round(Math.max(12, 0.3*natWidth) / scaleFactor); - let size = Math.round(font_size*1.2); - this._numberOverlayLabel.set_style( - 'font-size: ' + font_size + 'px;' + - 'border-radius: ' + this.icon.iconSize + 'px;' + - 'width: ' + size + 'px; height: ' + size +'px;' - ); - } - - setNumberOverlay(number) { - this._numberOverlayOrder = number; - this._numberOverlayLabel.set_text(number.toString()); - } - - toggleNumberOverlay(activate) { - if (activate && this._numberOverlayOrder > -1) { - this.updateNumberOverlay(); - this._numberOverlayBin.show(); - } - else - this._numberOverlayBin.hide(); - } - - _minimizeWindow(param) { - // Param true make all app windows minimize - let windows = this.getInterestingWindows(); - let current_workspace = global.workspace_manager.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. - _activateAllWindows() { - // First activate first window so workspace is switched if needed. - // We don't do this if isolation is on! - if (!Docking.DockManager.settings.get_boolean('isolate-workspaces') && - !Docking.DockManager.settings.get_boolean('isolate-monitors')) - this.app.activate(); - - // then activate all other app windows in the current workspace - let windows = this.getInterestingWindows(); - let activeWorkspace = global.workspace_manager.get_active_workspace_index(); - - if (windows.length <= 0) - return; - - let activatedWindows = 0; - - for (let i = windows.length - 1; i >= 0; i--) { - if (windows[i].get_workspace().index() == activeWorkspace) { - Main.activateWindow(windows[i]); - activatedWindows++; - } - } - } - - //This closes all windows of the app. - closeAllWindows() { - let windows = this.getInterestingWindows(); - for (let i = 0; i < windows.length; i++) - windows[i].delete(global.get_current_time()); - } - - _cycleThroughWindows(reversed) { - // 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 = this.getInterestingWindows(); - - if (app_windows.length <1) - return - - if (recentlyClickedAppLoopId > 0) - Mainloop.source_remove(recentlyClickedAppLoopId); - recentlyClickedAppLoopId = Mainloop.timeout_add(MEMORY_TIME, this._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. - let monitorIsolation = Docking.DockManager.settings.get_boolean('isolate-monitors'); - if (!recentlyClickedApp || - recentlyClickedApp.get_id() != this.app.get_id() || - recentlyClickedAppWindows.length != app_windows.length || - (recentlyClickedAppMonitor != this.monitorIndex && monitorIsolation)) { - recentlyClickedApp = this.app; - recentlyClickedAppWindows = app_windows; - recentlyClickedAppMonitor = this.monitorIndex; - recentlyClickedAppIndex = 0; - } - - if (reversed) { - recentlyClickedAppIndex--; - if (recentlyClickedAppIndex < 0) recentlyClickedAppIndex = recentlyClickedAppWindows.length - 1; - } else { - recentlyClickedAppIndex++; - } - let index = recentlyClickedAppIndex % recentlyClickedAppWindows.length; - let window = recentlyClickedAppWindows[index]; - - Main.activateWindow(window); - } - - _resetRecentlyClickedApp() { - if (recentlyClickedAppLoopId > 0) - Mainloop.source_remove(recentlyClickedAppLoopId); - recentlyClickedAppLoopId=0; - recentlyClickedApp =null; - recentlyClickedAppWindows = null; - recentlyClickedAppIndex = 0; - recentlyClickedAppMonitor = -1; - - return false; - } - - getWindows() { - return getWindows(this.app, this._location); - } - - // Filter out unnecessary windows, for instance - // nautilus desktop window. - getInterestingWindows() { - return getInterestingWindows(this.app, this.monitorIndex, this._location); - } - - // Does the Icon represent a location rather than an App - isLocation() { - return this._location != null; - } -}; -/** - * Extend AppIconMenu - * - * - set popup arrow side based on dash orientation - * - Add close windows option based on quitfromdash extension - * (https://github.com/deuill/shell-extension-quitfromdash) - * - Add open windows thumbnails instead of list - * - update menu when application windows change - */ -const MyAppIconMenu = class DashToDock_MyAppIconMenu extends AppDisplay.AppIconMenu { - - constructor(source) { - let side = Utils.getPosition(); - - // 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 - super(source); - - // Change the initialized side where required. - this._arrowSide = side; - this._boxPointer._arrowSide = side; - this._boxPointer._userArrowSide = side; - } - - _redisplay() { - this.removeAll(); - - if (Docking.DockManager.settings.get_boolean('show-windows-preview')) { - // Display the app windows menu items and the separator between windows - // of the current desktop and other windows. - - this._allWindowsMenuItem = new PopupMenu.PopupSubMenuMenuItem(__('All Windows'), false); - this._allWindowsMenuItem.actor.hide(); - this.addMenuItem(this._allWindowsMenuItem); - - if (!this._source.app.is_window_backed()) { - this._appendSeparator(); - - let appInfo = this._source.app.get_app_info(); - let actions = appInfo.list_actions(); - if (this._source.app.can_open_new_window() && - actions.indexOf('new-window') == -1) { - this._newWindowMenuItem = this._appendMenuItem(_("New Window")); - this._newWindowMenuItem.connect('activate', () => { - if (this._source.app.state == Shell.AppState.STOPPED) - this._source.animateLaunch(); - - this._source.app.open_new_window(-1); - this.emit('activate-window', null); - }); - this._appendSeparator(); - } - - - if (AppDisplay.discreteGpuAvailable && - this._source.app.state == Shell.AppState.STOPPED && - actions.indexOf('activate-discrete-gpu') == -1) { - this._onDiscreteGpuMenuItem = this._appendMenuItem(_("Launch using Dedicated Graphics Card")); - this._onDiscreteGpuMenuItem.connect('activate', () => { - if (this._source.app.state == Shell.AppState.STOPPED) - this._source.animateLaunch(); - - this._source.app.launch(0, -1, true); - this.emit('activate-window', null); - }); - } - - for (let i = 0; i < actions.length; i++) { - let action = actions[i]; - let item = this._appendMenuItem(appInfo.get_action_name(action)); - item.connect('activate', (emitter, event) => { - this._source.app.launch_action(action, event.get_time(), -1); - this.emit('activate-window', null); - }); - } - - let canFavorite = global.settings.is_writable('favorite-apps') && - !this._source.isLocation(); - - if (canFavorite) { - this._appendSeparator(); - - let isFavorite = AppFavorites.getAppFavorites().isFavorite(this._source.app.get_id()); - - if (isFavorite) { - let item = this._appendMenuItem(_("Remove from Favorites")); - item.connect('activate', () => { - let favs = AppFavorites.getAppFavorites(); - favs.removeFavorite(this._source.app.get_id()); - }); - } else { - let item = this._appendMenuItem(_("Add to Favorites")); - item.connect('activate', () => { - let favs = AppFavorites.getAppFavorites(); - favs.addFavorite(this._source.app.get_id()); - }); - } - } - - if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop') && - !this._source.isLocation()) { - this._appendSeparator(); - let item = this._appendMenuItem(_("Show Details")); - item.connect('activate', () => { - let id = this._source.app.get_id(); - let args = GLib.Variant.new('(ss)', [id, '']); - Gio.DBus.get(Gio.BusType.SESSION, null, - function(o, res) { - let bus = Gio.DBus.get_finish(res); - bus.call('org.gnome.Software', - '/org/gnome/Software', - 'org.gtk.Actions', 'Activate', - GLib.Variant.new('(sava{sv})', - ['details', [args], null]), - null, 0, -1, null, null); - Main.overview.hide(); - }); - }); - } - } - - } else { - super._redisplay(); - } - - // quit menu - this._appendSeparator(); - this._quitfromDashMenuItem = this._appendMenuItem(_("Quit")); - this._quitfromDashMenuItem.connect('activate', () => { - this._source.closeAllWindows(); - }); - - this.update(); - } - - // update menu content when application windows change. This is desirable as actions - // acting on windows (closing) are performed while the menu is shown. - update() { - - if(Docking.DockManager.settings.get_boolean('show-windows-preview')){ - - let windows = this._source.getInterestingWindows(); - - // update, show or hide the quit menu - if ( windows.length > 0) { - let quitFromDashMenuText = ""; - if (windows.length == 1) - this._quitfromDashMenuItem.label.set_text(_("Quit")); - else - this._quitfromDashMenuItem.label.set_text(_("Quit %d Windows").format(windows.length)); - - this._quitfromDashMenuItem.actor.show(); - - } else { - this._quitfromDashMenuItem.actor.hide(); - } - - // update, show, or hide the allWindows menu - // Check if there are new windows not already displayed. In such case, repopulate the allWindows - // menu. Windows removal is already handled by each preview being connected to the destroy signal - let old_windows = this._allWindowsMenuItem.menu._getMenuItems().map(function(item){ - return item._window; - }); - - let new_windows = windows.filter(function(w) {return old_windows.indexOf(w) < 0;}); - if (new_windows.length > 0) { - this._populateAllWindowMenu(windows); - - // Try to set the width to that of the submenu. - // TODO: can't get the actual size, getting a bit less. - // Temporary workaround: add 15px to compensate - this._allWindowsMenuItem.actor.width = this._allWindowsMenuItem.menu.actor.width + 15; - - } - - // The menu is created hidden and never hidded after being shown. Instead, a singlal - // connected to its items destroy will set is insensitive if no more windows preview are shown. - if (windows.length > 0){ - this._allWindowsMenuItem.actor.show(); - this._allWindowsMenuItem.setSensitive(true); - } - - // Update separators - this._getMenuItems().forEach(this._updateSeparatorVisibility.bind(this)); - } - - - } - - _populateAllWindowMenu(windows) { - - this._allWindowsMenuItem.menu.removeAll(); - - if (windows.length > 0) { - - let activeWorkspace = global.workspace_manager.get_active_workspace(); - let separatorShown = windows[0].get_workspace() != activeWorkspace; - - for (let i = 0; i < windows.length; i++) { - let window = windows[i]; - if (!separatorShown && window.get_workspace() != activeWorkspace) { - this._allWindowsMenuItem.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - separatorShown = true; - } - - let item = new WindowPreview.WindowPreviewMenuItem(window); - this._allWindowsMenuItem.menu.addMenuItem(item); - item.connect('activate', () => { - this.emit('activate-window', window); - }); - - // This is to achieve a more gracefull transition when the last windows is closed. - item.connect('destroy', () => { - if(this._allWindowsMenuItem.menu._getMenuItems().length == 1) // It's still counting the item just going to be destroyed - this._allWindowsMenuItem.setSensitive(false); - }); - } - } - } -}; -Signals.addSignalMethods(MyAppIconMenu.prototype); - -function getWindows(app, location) { - if (location != null && Docking.DockManager.getDefault().fm1Client) { - return Docking.DockManager.getDefault().fm1Client.getWindows(location); - } else { - return app.get_windows(); - } -} - -// Filter out unnecessary windows, for instance -// nautilus desktop window. -function getInterestingWindows(app, monitorIndex, location) { - let windows = getWindows(app, location).filter(function(w) { - return !w.skip_taskbar; - }); - - let settings = Docking.DockManager.settings; - - // When using workspace isolation, we filter out windows - // that are not in the current workspace - if (settings.get_boolean('isolate-workspaces')) - windows = windows.filter(function(w) { - return w.get_workspace().index() == global.workspace_manager.get_active_workspace_index(); - }); - - if (settings.get_boolean('isolate-monitors')) - windows = windows.filter(function(w) { - return w.get_monitor() == monitorIndex; - }); - - return windows; -} - -/** - * A ShowAppsIcon improved class. - * - * - 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) - * - */ - -var MyShowAppsIcon = GObject.registerClass({ - Signals: { - 'menu-state-changed': { param_types: [GObject.TYPE_BOOLEAN] }, - 'sync-tooltip': {} - } -} -, class DashToDock_MyShowAppsIcon extends Dash.ShowAppsIcon { - _init() { - super._init(); - - // Re-use appIcon methods - let appIconPrototype = AppDisplay.AppIcon.prototype; - this.actor.connect('leave-event', appIconPrototype._onLeaveEvent.bind(this)); - this.actor.connect('button-press-event', appIconPrototype._onButtonPress.bind(this)); - this.actor.connect('touch-event', appIconPrototype._onTouchEvent.bind(this)); - this.actor.connect('popup-menu', appIconPrototype._onKeyboardPopupMenu.bind(this)); - this.actor.connect('clicked', this._removeMenuTimeout.bind(this)); - - this._menu = null; - this._menuManager = new PopupMenu.PopupMenuManager(this.actor); - this._menuTimeoutId = 0; - } - - get actor() { - /* Until GNOME Shell AppIcon is an actor we need to provide this - * compatibility layer or the shell won't be able to access to the - * actual actor */ - return this.toggleButton; - } - - showLabel() { - itemShowLabel.call(this); - } - - _onMenuPoppedDown() { - AppDisplay.AppIcon.prototype._onMenuPoppedDown.apply(this, arguments); - } - - _setPopupTimeout() { - AppDisplay.AppIcon.prototype._onMenuPoppedDown.apply(this, arguments); - } - - _removeMenuTimeout() { - AppDisplay.AppIcon.prototype._removeMenuTimeout.apply(this, arguments); - } - - popupMenu() { - this._removeMenuTimeout(); - this.actor.fake_release(); - - if (!this._menu) { - this._menu = new MyShowAppsIconMenu(this); - this._menu.connect('open-state-changed', (menu, isPoppedUp) => { - if (!isPoppedUp) - this._onMenuPoppedDown(); - }); - let id = Main.overview.connect('hiding', () => { - 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.actor.set_hover(true); - this._menu.popup(); - this._menuManager.ignoreRelease(); - this.emit('sync-tooltip'); - - return false; - } -}); - - -/** - * A menu for the showAppsIcon - */ -var MyShowAppsIconMenu = class DashToDock_MyShowAppsIconMenu extends MyAppIconMenu { - _redisplay() { - this.removeAll(); - - /* Translators: %s is "Settings", which is automatically translated. You - can also translate the full message if this fits better your language. */ - let name = __('Dash to Dock %s').format(_('Settings')) - let item = this._appendMenuItem(name); - - item.connect('activate', function () { - Util.spawn(["gnome-shell-extension-prefs", Me.metadata.uuid]); - }); - } -}; - -/** - * This function is used for both extendShowAppsIcon and extendDashItemContainer - */ -function itemShowLabel() { - // Check if the label is still present at all. When switching workpaces, the - // item might have been destroyed in between. - if (!this._labelText || this.label.get_stage() == null) - 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 x, y, xOffset, yOffset; - - let position = Utils.getPosition(); - this._isHorizontal = ((position == St.Side.TOP) || (position == St.Side.BOTTOM)); - let labelOffset = node.get_length('-x-offset'); - - switch (position) { - case St.Side.LEFT: - yOffset = Math.floor((itemHeight - labelHeight) / 2); - y = stageY + yOffset; - xOffset = labelOffset; - x = stageX + this.get_width() + xOffset; - break; - case St.Side.RIGHT: - yOffset = Math.floor((itemHeight - labelHeight) / 2); - y = stageY + yOffset; - xOffset = labelOffset; - x = Math.round(stageX) - labelWidth - xOffset; - break; - case St.Side.TOP: - y = stageY + labelOffset + itemHeight; - xOffset = Math.floor((itemWidth - labelWidth) / 2); - x = stageX + xOffset; - break; - case St.Side.BOTTOM: - yOffset = labelOffset; - y = stageY - labelHeight - yOffset; - xOffset = Math.floor((itemWidth - labelWidth) / 2); - x = stageX + xOffset; - break; - } - - // keep the label inside the screen border - // Only needed fot the x coordinate. - - // Leave a few pixel gap - let gap = 5; - 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.remove_all_transitions(); - this.label.set_position(x, y); - this.label.ease({ - opacity: 255, - duration: Dash.DASH_ITEM_LABEL_SHOW_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD - }); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js deleted file mode 100644 index cb245f8c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/dash.js +++ /dev/null @@ -1,1202 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Clutter = imports.gi.Clutter; -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Signals = imports.signals; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; - -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 Docking = Me.imports.docking; -const Utils = Me.imports.utils; -const AppIcons = Me.imports.appIcons; -const Locations = Me.imports.locations; - -const DASH_ANIMATION_TIME = Dash.DASH_ANIMATION_TIME; -const DASH_ITEM_LABEL_HIDE_TIME = Dash.DASH_ITEM_LABEL_HIDE_TIME; -const DASH_ITEM_HOVER_TIMEOUT = Dash.DASH_ITEM_HOVER_TIMEOUT; - -/** - * Extend DashItemContainer - * - * - set label position based on dash orientation - * - */ -let MyDashItemContainer = GObject.registerClass( -class DashToDock_MyDashItemContainer extends Dash.DashItemContainer { - - showLabel() { - return AppIcons.itemShowLabel.call(this); - } -}); - -/** - * This class is a fork of the upstream DashActor class (ui.dash.js) - * - * Summary of changes: - * - modified chldBox calculations for when 'show-apps-at-top' option is checked - * - handle horizontal dash - */ -var MyDashActor = GObject.registerClass( -class DashToDock_MyDashActor extends St.Widget { - - _init() { - // a prefix is required to avoid conflicting with the parent class variable - this._rtl = (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL); - - this._position = Utils.getPosition(); - this._isHorizontal = ((this._position == St.Side.TOP) || - (this._position == St.Side.BOTTOM)); - - let layout = new Clutter.BoxLayout({ - orientation: this._isHorizontal ? Clutter.Orientation.HORIZONTAL : Clutter.Orientation.VERTICAL - }); - - super._init({ - name: 'dash', - layout_manager: layout, - clip_to_allocation: true - }); - - // 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); - } - - vfunc_allocate(box, flags) { - this.set_allocation(box, flags); - let contentBox = box; - let availWidth = contentBox.x2 - contentBox.x1; - let availHeight = contentBox.y2 - contentBox.y1; - - let [appIcons, showAppsButton] = this.get_children(); - let [showAppsMinHeight, showAppsNatHeight] = showAppsButton.get_preferred_height(availWidth); - let [showAppsMinWidth, showAppsNatWidth] = showAppsButton.get_preferred_width(availHeight); - - let offset_x = this._isHorizontal?showAppsNatWidth:0; - let offset_y = this._isHorizontal?0:showAppsNatHeight; - - let childBox = new Clutter.ActorBox(); - let settings = Docking.DockManager.settings; - if ((settings.get_boolean('show-apps-at-top') && !this._isHorizontal) - || (settings.get_boolean('show-apps-at-top') && !this._rtl) - || (!settings.get_boolean('show-apps-at-top') && this._isHorizontal && this._rtl)) { - childBox.x1 = contentBox.x1 + offset_x; - childBox.y1 = contentBox.y1 + offset_y; - childBox.x2 = contentBox.x2; - childBox.y2 = contentBox.y2; - appIcons.allocate(childBox, flags); - - childBox.y1 = contentBox.y1; - childBox.x1 = contentBox.x1; - childBox.x2 = contentBox.x1 + showAppsNatWidth; - childBox.y2 = contentBox.y1 + showAppsNatHeight; - showAppsButton.allocate(childBox, flags); - } - else { - childBox.x1 = contentBox.x1; - childBox.y1 = contentBox.y1; - childBox.x2 = contentBox.x2 - offset_x; - childBox.y2 = contentBox.y2 - offset_y; - appIcons.allocate(childBox, flags); - - childBox.x2 = contentBox.x2; - childBox.y2 = contentBox.y2; - childBox.x1 = contentBox.x2 - showAppsNatWidth; - childBox.y1 = contentBox.y2 - showAppsNatHeight; - showAppsButton.allocate(childBox, flags); - } - } - - vfunc_get_preferred_width(forHeight) { - // We want to request the natural height of all our children - // as our natural height, so we chain up to StWidget (which - // then calls BoxLayout), but we only request the showApps - // button as the minimum size - - let [, natWidth] = this.layout_manager.get_preferred_width(this, forHeight); - - let themeNode = this.get_theme_node(); - let [, showAppsButton] = this.get_children(); - let [minWidth, ] = showAppsButton.get_preferred_height(forHeight); - - return [minWidth, natWidth]; - } - - vfunc_get_preferred_height(forWidth) { - // We want to request the natural height of all our children - // as our natural height, so we chain up to StWidget (which - // then calls BoxLayout), but we only request the showApps - // button as the minimum size - - let [, natHeight] = this.layout_manager.get_preferred_height(this, forWidth); - - let themeNode = this.get_theme_node(); - let [, showAppsButton] = this.get_children(); - let [minHeight, ] = showAppsButton.get_preferred_height(forWidth); - - return [minHeight, natHeight]; - } -}); - -const baseIconSizes = [16, 22, 24, 32, 48, 64, 96, 128]; - -/** - * This class is a fork of the upstream dash class (ui.dash.js) - * - * Summary of changes: - * - disconnect global signals adding a destroy method; - * - play animations even when not in overview mode - * - set a maximum icon size - * - show running and/or favorite applications - * - hide showApps label when the custom menu is shown. - * - add scrollview - * ensure actor is visible on keyfocus inseid the scrollview - * - add 128px icon size, might be usefull for hidpi display - * - sync minimization application target position. - * - keep running apps ordered. - */ -var MyDash = GObject.registerClass({ - Signals: { - 'menu-closed': {}, - 'icon-size-changed': {}, - } -}, class DashToDock_MyDash extends St.Bin { - - _init(remoteModel, monitorIndex) { - // Initialize icon variables and size - this._maxHeight = -1; - this.iconSize = Docking.DockManager.settings.get_int('dash-max-icon-size'); - this._availableIconSizes = baseIconSizes; - this._shownInitially = false; - this._initializeIconSize(this.iconSize); - - this._remoteModel = remoteModel; - this._monitorIndex = monitorIndex; - this._position = Utils.getPosition(); - this._isHorizontal = ((this._position == St.Side.TOP) || - (this._position == St.Side.BOTTOM)); - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._dragPlaceholder = null; - this._dragPlaceholderPos = -1; - this._animatingPlaceholdersCount = 0; - this._showLabelTimeoutId = 0; - this._resetHoverTimeoutId = 0; - this._ensureAppIconVisibilityTimeoutId = 0; - this._labelShowing = false; - - this._container = new MyDashActor(); - this._scrollView = new St.ScrollView({ - name: 'dashtodockDashScrollview', - hscrollbar_policy: Gtk.PolicyType.NEVER, - vscrollbar_policy: Gtk.PolicyType.NEVER, - enable_mouse_scrolling: false - }); - - this._scrollView.connect('scroll-event', this._onScrollEvent.bind(this)); - - this._box = new St.BoxLayout({ - vertical: !this._isHorizontal, - clip_to_allocation: false, - x_align: Clutter.ActorAlign.START, - y_align: Clutter.ActorAlign.START - }); - this._box._delegate = this; - this._container.add_actor(this._scrollView); - this._scrollView.add_actor(this._box); - - // Create a wrapper around the real showAppsIcon in order to add a popupMenu. - this._showAppsIcon = new AppIcons.MyShowAppsIcon(); - this._showAppsIcon.show(); - this._showAppsIcon.icon.setIconSize(this.iconSize); - this._hookUpLabel(this._showAppsIcon); - this._showAppsIcon.connect('menu-state-changed', (_icon, opened) => { - this._itemMenuStateChanged(this._showAppsIcon, opened); - }); - - this._container.add_actor(this._showAppsIcon); - - let rtl = Clutter.get_default_text_direction() == Clutter.TextDirection.RTL; - super._init({ - child: this._container, - y_align: St.Align.START, - x_align: rtl ? St.Align.END : St.Align.START - }); - - if (this._isHorizontal) { - this.connect('notify::width', () => { - if (this._maxHeight != this.width) - this._queueRedisplay(); - this._maxHeight = this.width; - }); - } - else { - this.connect('notify::height', () => { - if (this._maxHeight != this.height) - this._queueRedisplay(); - this._maxHeight = this.height; - }); - } - - // Update minimization animation target position on allocation of the - // container and on scrollview change. - this._box.connect('notify::allocation', this._updateAppsIconGeometry.bind(this)); - let scrollViewAdjustment = this._isHorizontal ? this._scrollView.hscroll.adjustment : this._scrollView.vscroll.adjustment; - scrollViewAdjustment.connect('notify::value', this._updateAppsIconGeometry.bind(this)); - - this._workId = Main.initializeDeferredWork(this._box, this._redisplay.bind(this)); - - this._shellSettings = new Gio.Settings({ - schema_id: 'org.gnome.shell' - }); - - this._appSystem = Shell.AppSystem.get_default(); - - this._signalsHandler.add([ - this._appSystem, - 'installed-changed', - () => { - AppFavorites.getAppFavorites().reload(); - this._queueRedisplay(); - } - ], [ - AppFavorites.getAppFavorites(), - 'changed', - this._queueRedisplay.bind(this) - ], [ - this._appSystem, - 'app-state-changed', - this._queueRedisplay.bind(this) - ], [ - Main.overview, - 'item-drag-begin', - this._onDragBegin.bind(this) - ], [ - Main.overview, - 'item-drag-end', - this._onDragEnd.bind(this) - ], [ - Main.overview, - 'item-drag-cancelled', - this._onDragCancelled.bind(this) - ]); - - this.connect('destroy', this._onDestroy.bind(this)); - } - - _onDestroy() { - this._signalsHandler.destroy(); - } - - _onScrollEvent(actor, event) { - // If scroll is not used because the icon is resized, let the scroll event propagate. - if (!Docking.DockManager.settings.get_boolean('icon-size-fixed')) - return Clutter.EVENT_PROPAGATE; - - // reset timeout to avid conflicts with the mousehover event - if (this._ensureAppIconVisibilityTimeoutId > 0) { - Mainloop.source_remove(this._ensureAppIconVisibilityTimeoutId); - this._ensureAppIconVisibilityTimeoutId = 0; - } - - // Skip to avoid double events mouse - if (event.is_pointer_emulated()) - return Clutter.EVENT_STOP; - - let adjustment, delta; - - if (this._isHorizontal) - adjustment = this._scrollView.get_hscroll_bar().get_adjustment(); - else - adjustment = this._scrollView.get_vscroll_bar().get_adjustment(); - - let increment = adjustment.step_increment; - - switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - delta = -increment; - break; - case Clutter.ScrollDirection.DOWN: - delta = +increment; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - delta = dy * increment; - // Also consider horizontal component, for instance touchpad - if (this._isHorizontal) - delta += dx * increment; - break; - } - - adjustment.set_value(adjustment.get_value() + delta); - - return Clutter.EVENT_STOP; - } - - _onDragBegin() { - this._dragCancelled = false; - this._dragMonitor = { - dragMotion: this._onDragMotion.bind(this) - }; - DND.addDragMonitor(this._dragMonitor); - - if (this._box.get_n_children() == 0) { - this._emptyDropTarget = new Dash.EmptyDropTargetItem(); - this._box.insert_child_at_index(this._emptyDropTarget, 0); - this._emptyDropTarget.show(true); - } - } - - _onDragCancelled() { - this._dragCancelled = true; - this._endDrag(); - } - - _onDragEnd() { - if (this._dragCancelled) - return; - - this._endDrag(); - } - - _endDrag() { - this._clearDragPlaceholder(); - this._clearEmptyDropTarget(); - this._showAppsIcon.setDragApp(null); - DND.removeDragMonitor(this._dragMonitor); - } - - _onDragMotion(dragEvent) { - let app = Dash.getAppFromSource(dragEvent.source); - if (app == null) - return DND.DragMotionResult.CONTINUE; - - let showAppsHovered = this._showAppsIcon.contains(dragEvent.targetActor); - - if (!this._box.contains(dragEvent.targetActor) || showAppsHovered) - this._clearDragPlaceholder(); - - if (showAppsHovered) - this._showAppsIcon.setDragApp(app); - else - this._showAppsIcon.setDragApp(null); - - return DND.DragMotionResult.CONTINUE; - } - - _appIdListToHash(apps) { - let ids = {}; - for (let i = 0; i < apps.length; i++) - ids[apps[i].get_id()] = apps[i]; - return ids; - } - - _queueRedisplay() { - Main.queueDeferredWork(this._workId); - } - - _hookUpLabel(item, appIcon) { - item.child.connect('notify::hover', () => { - this._syncLabel(item, appIcon); - }); - - let id = Main.overview.connect('hiding', () => { - this._labelShowing = false; - item.hideLabel(); - }); - item.child.connect('destroy', function() { - Main.overview.disconnect(id); - }); - - if (appIcon) { - appIcon.connect('sync-tooltip', () => { - this._syncLabel(item, appIcon); - }); - } - } - - _createAppItem(app) { - let appIcon = new AppIcons.MyAppIcon(this._remoteModel, app, - this._monitorIndex, - { setSizeManually: true, - showLabel: false }); - - if (appIcon._draggable) { - appIcon._draggable.connect('drag-begin', () => { - appIcon.actor.opacity = 50; - }); - appIcon._draggable.connect('drag-end', () => { - appIcon.actor.opacity = 255; - }); - } - - appIcon.connect('menu-state-changed', (appIcon, opened) => { - this._itemMenuStateChanged(item, opened); - }); - - let item = new MyDashItemContainer(); - item.setChild(appIcon.actor); - - appIcon.actor.connect('notify::hover', () => { - if (appIcon.actor.hover) { - this._ensureAppIconVisibilityTimeoutId = Mainloop.timeout_add(100, () => { - ensureActorVisibleInScrollView(this._scrollView, appIcon.actor); - this._ensureAppIconVisibilityTimeoutId = 0; - return GLib.SOURCE_REMOVE; - }); - } - else { - if (this._ensureAppIconVisibilityTimeoutId > 0) { - Mainloop.source_remove(this._ensureAppIconVisibilityTimeoutId); - this._ensureAppIconVisibilityTimeoutId = 0; - } - } - }); - - appIcon.actor.connect('clicked', (actor) => { - ensureActorVisibleInScrollView(this._scrollView, actor); - }); - - appIcon.actor.connect('key-focus-in', (actor) => { - let [x_shift, y_shift] = ensureActorVisibleInScrollView(this._scrollView, actor); - - // This signal is triggered also by mouse click. The popup menu is opened at the original - // coordinates. Thus correct for the shift which is going to be applied to the scrollview. - if (appIcon._menu) { - appIcon._menu._boxPointer.xOffset = -x_shift; - appIcon._menu._boxPointer.yOffset = -y_shift; - } - }); - - // Override default AppIcon label_actor, now the - // accessible_name is set at DashItemContainer.setLabelText - appIcon.actor.label_actor = null; - item.setLabelText(app.get_name()); - - appIcon.icon.setIconSize(this.iconSize); - this._hookUpLabel(item, appIcon); - - return item; - } - - /** - * Return an array with the "proper" appIcons currently in the dash - */ - getAppIcons() { - // Only consider children which are "proper" - // icons (i.e. ignoring drag placeholders) and which are not - // animating out (which means they will be destroyed at the end of - // the animation) - let iconChildren = this._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.icon && - !actor.animatingOut; - }); - - let appIcons = iconChildren.map(function(actor) { - return actor.child._delegate; - }); - - return appIcons; - } - - _updateAppsIconGeometry() { - let appIcons = this.getAppIcons(); - appIcons.forEach(function(icon) { - icon.updateIconGeometry(); - }); - } - - _itemMenuStateChanged(item, opened) { - // When the menu closes, it calls sync_hover, which means - // that the notify::hover handler does everything we need to. - if (opened) { - if (this._showLabelTimeoutId > 0) { - Mainloop.source_remove(this._showLabelTimeoutId); - this._showLabelTimeoutId = 0; - } - - item.label.opacity = 0; - item.label.hide(); - } - else { - // I want to listen from outside when a menu is closed. I used to - // add a custom signal to the appIcon, since gnome 3.8 the signal - // calling this callback was added upstream. - this.emit('menu-closed'); - } - } - - _syncLabel(item, appIcon) { - let shouldShow = appIcon ? appIcon.shouldShowTooltip() : item.child.get_hover(); - - if (shouldShow) { - if (this._showLabelTimeoutId == 0) { - let timeout = this._labelShowing ? 0 : DASH_ITEM_HOVER_TIMEOUT; - this._showLabelTimeoutId = Mainloop.timeout_add(timeout, () => { - this._labelShowing = true; - item.showLabel(); - this._showLabelTimeoutId = 0; - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(this._showLabelTimeoutId, '[gnome-shell] item.showLabel'); - if (this._resetHoverTimeoutId > 0) { - Mainloop.source_remove(this._resetHoverTimeoutId); - this._resetHoverTimeoutId = 0; - } - } - } - else { - if (this._showLabelTimeoutId > 0) - Mainloop.source_remove(this._showLabelTimeoutId); - this._showLabelTimeoutId = 0; - item.hideLabel(); - if (this._labelShowing) { - this._resetHoverTimeoutId = Mainloop.timeout_add(DASH_ITEM_HOVER_TIMEOUT, () => { - this._labelShowing = false; - this._resetHoverTimeoutId = 0; - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(this._resetHoverTimeoutId, '[gnome-shell] this._labelShowing'); - } - } - } - - _adjustIconSize() { - // For the icon size, we only consider children which are "proper" - // icons (i.e. ignoring drag placeholders) and which are not - // animating out (which means they will be destroyed at the end of - // the animation) - let iconChildren = this._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.icon && - !actor.animatingOut; - }); - - iconChildren.push(this._showAppsIcon); - - if (this._maxHeight == -1) - return; - - // Check if the container is present in the stage. This avoids critical - // errors when unlocking the screen - if (!this._container.get_stage()) - return; - - let themeNode = this._container.get_theme_node(); - let maxAllocation = new Clutter.ActorBox({ - x1: 0, - y1: 0, - x2: this._isHorizontal ? this._maxHeight : 42 /* whatever */, - y2: this._isHorizontal ? 42 : this._maxHeight - }); - let maxContent = themeNode.get_content_box(maxAllocation); - let availHeight; - if (this._isHorizontal) - availHeight = maxContent.x2 - maxContent.x1; - else - availHeight = maxContent.y2 - maxContent.y1; - let spacing = themeNode.get_length('spacing'); - - let firstButton = iconChildren[0].child; - let firstIcon = firstButton._delegate.icon; - - let minHeight, natHeight, minWidth, natWidth; - - // Enforce the current icon size during the size request - firstIcon.setIconSize(this.iconSize); - [minHeight, natHeight] = firstButton.get_preferred_height(-1); - [minWidth, natWidth] = firstButton.get_preferred_width(-1); - - let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let iconSizes = this._availableIconSizes.map(function(s) { - return s * scaleFactor; - }); - - // Subtract icon padding and box spacing from the available height - if (this._isHorizontal) - availHeight -= iconChildren.length * (natWidth - this.iconSize * scaleFactor) + - (iconChildren.length - 1) * spacing; - else - availHeight -= iconChildren.length * (natHeight - this.iconSize * scaleFactor) + - (iconChildren.length - 1) * spacing; - - let availSize = availHeight / iconChildren.length; - - - let newIconSize = this._availableIconSizes[0]; - for (let i = 0; i < iconSizes.length; i++) { - if (iconSizes[i] < availSize) - newIconSize = this._availableIconSizes[i]; - } - - if (newIconSize == this.iconSize) - return; - - let oldIconSize = this.iconSize; - this.iconSize = newIconSize; - this.emit('icon-size-changed'); - - let scale = oldIconSize / newIconSize; - for (let i = 0; i < iconChildren.length; i++) { - let icon = iconChildren[i].child._delegate.icon; - - // Set the new size immediately, to keep the icons' sizes - // in sync with this.iconSize - icon.setIconSize(this.iconSize); - - // Don't animate the icon size change when the overview - // is transitioning, or when initially filling - // the dash - if (Main.overview.animationInProgress || - !this._shownInitially) - continue; - - let [targetWidth, targetHeight] = icon.icon.get_size(); - - // Scale the icon's texture to the previous size and - // tween to the new size - icon.icon.set_size(icon.icon.width * scale, - icon.icon.height * scale); - - icon.icon.remove_all_transitions(); - icon.icon.ease({ - width: targetWidth, - height: targetHeight, - time: DASH_ANIMATION_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD - }); - } - } - - _redisplay() { - let favorites = AppFavorites.getAppFavorites().getFavoriteMap(); - - let running = this._appSystem.get_running(); - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) { - // When using isolation, we filter out apps that have no windows in - // the current workspace - let monitorIndex = this._monitorIndex; - running = running.filter(function(_app) { - return AppIcons.getInterestingWindows(_app, monitorIndex).length != 0; - }); - } - - let children = this._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.app; - }); - // Apps currently in the dash - let oldApps = children.map(function(actor) { - return actor.child._delegate.app; - }); - // Apps supposed to be in the dash - let newApps = []; - - if (settings.get_boolean('show-favorites')) { - for (let id in favorites) - newApps.push(favorites[id]); - } - - // We reorder the running apps so that they don't change position on the - // dash with every redisplay() call - if (settings.get_boolean('show-running')) { - // First: add the apps from the oldApps list that are still running - for (let i = 0; i < oldApps.length; i++) { - let index = running.indexOf(oldApps[i]); - if (index > -1) { - let app = running.splice(index, 1)[0]; - if (settings.get_boolean('show-favorites') && (app.get_id() in favorites)) - continue; - newApps.push(app); - } - } - // Second: add the new apps - for (let i = 0; i < running.length; i++) { - let app = running[i]; - if (settings.get_boolean('show-favorites') && (app.get_id() in favorites)) - continue; - newApps.push(app); - } - } - - if (settings.get_boolean('show-mounts')) { - if (!this._removables) { - this._removables = new Locations.Removables(); - this._signalsHandler.addWithLabel('show-mounts', - [ this._removables, - 'changed', - this._queueRedisplay.bind(this) ]); - } - Array.prototype.push.apply(newApps, this._removables.getApps()); - } else if (this._removables) { - this._signalsHandler.removeWithLabel('show-mounts'); - this._removables.destroy(); - this._removables = null; - } - - if (settings.get_boolean('show-trash')) { - if (!this._trash) { - this._trash = new Locations.Trash(); - this._signalsHandler.addWithLabel('show-trash', - [ this._trash, - 'changed', - this._queueRedisplay.bind(this) ]); - } - newApps.push(this._trash.getApp()); - } else if (this._trash) { - this._signalsHandler.removeWithLabel('show-trash'); - this._trash.destroy(); - this._trash = null; - } - - // Figure out the actual changes to the list of items; we iterate - // over both the list of items currently in the dash and the list - // of items expected there, and collect additions and removals. - // Moves are both an addition and a removal, where the order of - // the operations depends on whether we encounter the position - // where the item has been added first or the one from where it - // was removed. - // There is an assumption that only one item is moved at a given - // time; when moving several items at once, everything will still - // end up at the right position, but there might be additional - // additions/removals (e.g. it might remove all the launchers - // and add them back in the new order even if a smaller set of - // additions and removals is possible). - // If above assumptions turns out to be a problem, we might need - // to use a more sophisticated algorithm, e.g. Longest Common - // Subsequence as used by diff. - - let addedItems = []; - let removedActors = []; - - let newIndex = 0; - let oldIndex = 0; - while ((newIndex < newApps.length) || (oldIndex < oldApps.length)) { - // No change at oldIndex/newIndex - if (oldApps[oldIndex] && oldApps[oldIndex] == newApps[newIndex]) { - oldIndex++; - newIndex++; - continue; - } - - // App removed at oldIndex - if (oldApps[oldIndex] && (newApps.indexOf(oldApps[oldIndex]) == -1)) { - removedActors.push(children[oldIndex]); - oldIndex++; - continue; - } - - // App added at newIndex - if (newApps[newIndex] && (oldApps.indexOf(newApps[newIndex]) == -1)) { - let newItem = this._createAppItem(newApps[newIndex]); - addedItems.push({ app: newApps[newIndex], - item: newItem, - pos: newIndex }); - newIndex++; - continue; - } - - // App moved - let insertHere = newApps[newIndex + 1] && (newApps[newIndex + 1] == oldApps[oldIndex]); - let alreadyRemoved = removedActors.reduce(function(result, actor) { - let removedApp = actor.child._delegate.app; - return result || removedApp == newApps[newIndex]; - }, false); - - if (insertHere || alreadyRemoved) { - let newItem = this._createAppItem(newApps[newIndex]); - addedItems.push({ - app: newApps[newIndex], - item: newItem, - pos: newIndex + removedActors.length - }); - newIndex++; - } - else { - removedActors.push(children[oldIndex]); - oldIndex++; - } - } - - for (let i = 0; i < addedItems.length; i++) - this._box.insert_child_at_index(addedItems[i].item, - addedItems[i].pos); - - for (let i = 0; i < removedActors.length; i++) { - let item = removedActors[i]; - - // Don't animate item removal when the overview is transitioning - if (!Main.overview.animationInProgress) - item.animateOutAndDestroy(); - else - item.destroy(); - } - - this._adjustIconSize(); - - // Skip animations on first run when adding the initial set - // of items, to avoid all items zooming in at once - - let animate = this._shownInitially && - !Main.overview.animationInProgress; - - if (!this._shownInitially) - this._shownInitially = true; - - for (let i = 0; i < addedItems.length; i++) - addedItems[i].item.show(animate); - - // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=692744 - // Without it, StBoxLayout may use a stale size cache - this._box.queue_relayout(); - - // This is required for icon reordering when the scrollview is used. - this._updateAppsIconGeometry(); - - // This will update the size, and the corresponding number for each icon - this._updateNumberOverlay(); - } - - _updateNumberOverlay() { - let appIcons = this.getAppIcons(); - let counter = 1; - appIcons.forEach(function(icon) { - if (counter < 10){ - icon.setNumberOverlay(counter); - counter++; - } - else if (counter == 10) { - icon.setNumberOverlay(0); - counter++; - } - else { - // No overlay after 10 - icon.setNumberOverlay(-1); - } - icon.updateNumberOverlay(); - }); - - } - - toggleNumberOverlay(activate) { - let appIcons = this.getAppIcons(); - appIcons.forEach(function(icon) { - icon.toggleNumberOverlay(activate); - }); - } - - _initializeIconSize(max_size) { - let max_allowed = baseIconSizes[baseIconSizes.length-1]; - max_size = Math.min(max_size, max_allowed); - - if (Docking.DockManager.settings.get_boolean('icon-size-fixed')) - this._availableIconSizes = [max_size]; - else { - this._availableIconSizes = baseIconSizes.filter(function(val) { - return (val { - this._animatingPlaceholdersCount--; - }); - this._dragPlaceholder = null; - } - this._dragPlaceholderPos = -1; - } - - _clearEmptyDropTarget() { - if (this._emptyDropTarget) { - this._emptyDropTarget.animateOutAndDestroy(); - this._emptyDropTarget = null; - } - } - - handleDragOver(source, actor, x, y, time) { - let app = Dash.getAppFromSource(source); - - // Don't allow favoriting of transient apps - if (app == null || app.is_window_backed()) - return DND.DragMotionResult.NO_DROP; - - if (!this._shellSettings.is_writable('favorite-apps') || - !Docking.DockManager.settings.get_boolean('show-favorites')) - return DND.DragMotionResult.NO_DROP; - - let favorites = AppFavorites.getAppFavorites().getFavorites(); - let numFavorites = favorites.length; - - let favPos = favorites.indexOf(app); - - let children = this._box.get_children(); - let numChildren = children.length; - let boxHeight = 0; - for (let i = 0; i < numChildren; i++) - boxHeight += this._isHorizontal?children[i].width:children[i].height; - - // Keep the placeholder out of the index calculation; assuming that - // the remove target has the same size as "normal" items, we don't - // need to do the same adjustment there. - if (this._dragPlaceholder) { - boxHeight -= this._isHorizontal?this._dragPlaceholder.width:this._dragPlaceholder.height; - numChildren--; - } - - let pos; - if (!this._emptyDropTarget) { - pos = Math.floor((this._isHorizontal?x:y) * numChildren / boxHeight); - if (pos > numChildren) - pos = numChildren; - } - else - pos = 0; // always insert at the top when dash is empty - - // Take into account childredn position in rtl - if (this._isHorizontal && (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)) - pos = numChildren - pos; - - if ((pos != this._dragPlaceholderPos) && (pos <= numFavorites) && (this._animatingPlaceholdersCount == 0)) { - this._dragPlaceholderPos = pos; - - // Don't allow positioning before or after self - if ((favPos != -1) && (pos == favPos || pos == favPos + 1)) { - this._clearDragPlaceholder(); - return DND.DragMotionResult.CONTINUE; - } - - // If the placeholder already exists, we just move - // it, but if we are adding it, expand its size in - // an animation - let fadeIn; - if (this._dragPlaceholder) { - this._dragPlaceholder.destroy(); - fadeIn = false; - } - else - fadeIn = true; - - this._dragPlaceholder = new Dash.DragPlaceholderItem(); - this._dragPlaceholder.child.set_width (this.iconSize); - this._dragPlaceholder.child.set_height (this.iconSize / 2); - this._box.insert_child_at_index(this._dragPlaceholder, - this._dragPlaceholderPos); - this._dragPlaceholder.show(fadeIn); - // Ensure the next and previous icon are visible when moving the placeholder - // (I assume there's room for both of them) - if (this._dragPlaceholderPos > 1) - ensureActorVisibleInScrollView(this._scrollView, this._box.get_children()[this._dragPlaceholderPos-1]); - if (this._dragPlaceholderPos < this._box.get_children().length-1) - ensureActorVisibleInScrollView(this._scrollView, this._box.get_children()[this._dragPlaceholderPos+1]); - } - - // Remove the drag placeholder if we are not in the - // "favorites zone" - if (pos > numFavorites) - this._clearDragPlaceholder(); - - if (!this._dragPlaceholder) - return DND.DragMotionResult.NO_DROP; - - let srcIsFavorite = (favPos != -1); - - if (srcIsFavorite) - return DND.DragMotionResult.MOVE_DROP; - - return DND.DragMotionResult.COPY_DROP; - } - - /** - * Draggable target interface - */ - acceptDrop(source, actor, x, y, time) { - let app = Dash.getAppFromSource(source); - - // Don't allow favoriting of transient apps - if (app == null || app.is_window_backed()) - return false; - - if (!this._shellSettings.is_writable('favorite-apps') || - !Docking.DockManager.settings.get_boolean('show-favorites')) - return false; - - let id = app.get_id(); - - let favorites = AppFavorites.getAppFavorites().getFavoriteMap(); - - let srcIsFavorite = (id in favorites); - - let favPos = 0; - let children = this._box.get_children(); - for (let i = 0; i < this._dragPlaceholderPos; i++) { - if (this._dragPlaceholder && (children[i] == this._dragPlaceholder)) - continue; - - let childId = children[i].child._delegate.app.get_id(); - if (childId == id) - continue; - if (childId in favorites) - favPos++; - } - - // No drag placeholder means we don't wan't to favorite the app - // and we are dragging it to its original position - if (!this._dragPlaceholder) - return true; - - Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => { - let appFavorites = AppFavorites.getAppFavorites(); - if (srcIsFavorite) - appFavorites.moveFavoriteToPos(id, favPos); - else - appFavorites.addFavoriteAtPos(id, favPos); - return false; - }); - - return true; - } - - get showAppsButton() { - return this._showAppsIcon.toggleButton; - } - - showShowAppsButton() { - this.showAppsButton.visible = true - this.showAppsButton.set_width(-1) - this.showAppsButton.set_height(-1) - } - - hideShowAppsButton() { - this.showAppsButton.hide() - this.showAppsButton.set_width(0) - this.showAppsButton.set_height(0) - } -}); - - -/** - * This is a copy of the same function in utils.js, but also adjust horizontal scrolling - * and perform few further cheks on the current value to avoid changing the values when - * it would be clamp to the current one in any case. - * Return the amount of shift applied - */ -function ensureActorVisibleInScrollView(scrollView, actor) { - let adjust_v = true; - let adjust_h = true; - - let vadjustment = scrollView.get_vscroll_bar().get_adjustment(); - let hadjustment = scrollView.get_hscroll_bar().get_adjustment(); - let [vvalue, vlower, vupper, vstepIncrement, vpageIncrement, vpageSize] = vadjustment.get_values(); - let [hvalue, hlower, hupper, hstepIncrement, hpageIncrement, hpageSize] = hadjustment.get_values(); - - let [hvalue0, vvalue0] = [hvalue, vvalue]; - - let voffset = 0; - let hoffset = 0; - let fade = scrollView.get_effect('fade'); - if (fade) { - voffset = fade.vfade_offset; - hoffset = fade.hfade_offset; - } - - let box = actor.get_allocation_box(); - let y1 = box.y1, y2 = box.y2, x1 = box.x1, x2 = box.x2; - - let parent = actor.get_parent(); - while (parent != scrollView) { - if (!parent) - throw new Error('Actor not in scroll view'); - - let box = parent.get_allocation_box(); - y1 += box.y1; - y2 += box.y1; - x1 += box.x1; - x2 += box.x1; - parent = parent.get_parent(); - } - - if (y1 < vvalue + voffset) - vvalue = Math.max(0, y1 - voffset); - else if (vvalue < vupper - vpageSize && y2 > vvalue + vpageSize - voffset) - vvalue = Math.min(vupper -vpageSize, y2 + voffset - vpageSize); - - if (x1 < hvalue + hoffset) - hvalue = Math.max(0, x1 - hoffset); - else if (hvalue < hupper - hpageSize && x2 > hvalue + hpageSize - hoffset) - hvalue = Math.min(hupper - hpageSize, x2 + hoffset - hpageSize); - - if (vvalue !== vvalue0) { - vadjustment.ease(vvalue, { - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - duration: Util.SCROLL_TIME - }); - } - - if (hvalue !== hvalue0) { - hadjustment.ease(hvalue, { - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - duration: Util.SCROLL_TIME - }); - } - - return [hvalue- hvalue0, vvalue - vvalue0]; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js deleted file mode 100644 index 1b34cfa0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/docking.js +++ /dev/null @@ -1,1916 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Clutter = imports.gi.Clutter; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; -const Params = imports.misc.params; - -const Main = imports.ui.main; -const Dash = imports.ui.dash; -const IconGrid = imports.ui.iconGrid; -const Overview = imports.ui.overview; -const OverviewControls = imports.ui.overviewControls; -const PointerWatcher = imports.ui.pointerWatcher; -const Signals = imports.signals; -const ViewSelector = imports.ui.viewSelector; -const WorkspaceSwitcherPopup= imports.ui.workspaceSwitcherPopup; -const Layout = imports.ui.layout; -const LayoutManager = imports.ui.main.layoutManager; - -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); -const Utils = Me.imports.utils; -const Intellihide = Me.imports.intellihide; -const Theming = Me.imports.theming; -const MyDash = Me.imports.dash; -const LauncherAPI = Me.imports.launcherAPI; -const FileManager1API = Me.imports.fileManager1API; - -const DOCK_DWELL_CHECK_INTERVAL = 100; - -var State = { - HIDDEN: 0, - SHOWING: 1, - SHOWN: 2, - HIDING: 3 -}; - -const scrollAction = { - DO_NOTHING: 0, - CYCLE_WINDOWS: 1, - SWITCH_WORKSPACE: 2 -}; - -/** - * A simple St.Widget with one child whose allocation takes into account the - * slide out of its child via the _slidex parameter ([0:1]). - * - * Required since I want to track the input region of this container which is - * based on its allocation even if the child overlows the parent actor. By doing - * this the region of the dash that is slideout is not steling anymore the input - * regions making the extesion usable when the primary monitor is the right one. - * - * The slidex parameter can be used to directly animate the sliding. The parent - * must have a WEST (SOUTH) anchor_point to achieve the sliding to the RIGHT (BOTTOM) - * side. -*/ -var DashSlideContainer = GObject.registerClass({ - Properties: { - 'side': GObject.ParamSpec.enum( - 'side', 'side', 'side', - GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT_ONLY, - St.Side, St.Side.LEFT), - 'slidex': GObject.ParamSpec.double( - 'slidex', 'slidex', 'slidex', - GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT, - 0, 1, 1), - } -}, class DashToDock_DashSlideContainer extends St.Widget { - - _init(params = {}) { - super._init(params); - this._child = null; - - // slide parameter: 1 = visible, 0 = hidden. - this._slidex = params.slidex || 1; - this._slideoutSize = 0; // minimum size when slided out - } - - vfunc_allocate(box, flags) { - this.set_allocation(box, flags); - - if (this._child == null) - return; - - let availWidth = box.x2 - box.x1; - let availHeight = box.y2 - box.y1; - let [, , natChildWidth, natChildHeight] = - this._child.get_preferred_size(); - - let childWidth = natChildWidth; - let childHeight = natChildHeight; - - let childBox = new Clutter.ActorBox(); - - let slideoutSize = this._slideoutSize; - - if (this.side == St.Side.LEFT) { - childBox.x1 = (this._slidex -1) * (childWidth - slideoutSize); - childBox.x2 = slideoutSize + this._slidex*(childWidth - slideoutSize); - childBox.y1 = 0; - childBox.y2 = childBox.y1 + childHeight; - } - else if ((this.side == St.Side.RIGHT) || (this.side == St.Side.BOTTOM)) { - childBox.x1 = 0; - childBox.x2 = childWidth; - childBox.y1 = 0; - childBox.y2 = childBox.y1 + childHeight; - } - else if (this.side == St.Side.TOP) { - childBox.x1 = 0; - childBox.x2 = childWidth; - childBox.y1 = (this._slidex -1) * (childHeight - slideoutSize); - childBox.y2 = slideoutSize + this._slidex * (childHeight - slideoutSize); - } - - this._child.allocate(childBox, flags); - this._child.set_clip(-childBox.x1, -childBox.y1, - -childBox.x1+availWidth, -childBox.y1 + availHeight); - } - - /** - * Just the child width but taking into account the slided out part - */ - vfunc_get_preferred_width(forHeight) { - let [minWidth, natWidth] = this._child.get_preferred_width(forHeight); - if ((this.side == St.Side.LEFT) || (this.side == St.Side.RIGHT)) { - minWidth = (minWidth - this._slideoutSize) * this._slidex + this._slideoutSize; - natWidth = (natWidth - this._slideoutSize) * this._slidex + this._slideoutSize; - } - return [minWidth, natWidth]; - } - - /** - * Just the child height but taking into account the slided out part - */ - vfunc_get_preferred_height(forWidth) { - let [minHeight, natHeight] = this._child.get_preferred_height(forWidth); - if ((this.side == St.Side.TOP) || (this.side == St.Side.BOTTOM)) { - minHeight = (minHeight - this._slideoutSize) * this._slidex + this._slideoutSize; - natHeight = (natHeight - this._slideoutSize) * this._slidex + this._slideoutSize; - } - return [minHeight, natHeight]; - } - - /** - * I was expecting it to be a virtual function... stil I don't understand - * how things work. - */ - add_child(actor) { - // I'm supposed to have only on child - if (this._child !== null) - this.remove_child(actor); - - this._child = actor; - super.add_child(actor); - } - - set slidex(value) { - if (value == this._slidex) - return; - - this._slidex = value; - this.notify('slidex'); - - if (this._child) - this._child.queue_relayout(); - } - - get slidex() { - return this._slidex; - } -}); - -var DockedDash = GObject.registerClass({ - Signals: { - 'showing': {}, - 'hiding': {}, - } -}, class DashToDock extends St.Bin { - - _init(remoteModel, monitorIndex) { - this._rtl = (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL); - - // Load settings - let settings = DockManager.settings; - this._remoteModel = remoteModel; - this._monitorIndex = monitorIndex; - // Connect global signals - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._bindSettingsChanges(); - - this._position = Utils.getPosition(); - this._isHorizontal = ((this._position == St.Side.TOP) || (this._position == St.Side.BOTTOM)); - - // Temporary ignore hover events linked to autohide for whatever reason - this._ignoreHover = false; - this._oldignoreHover = null; - // This variables are linked to the settings regardles of autohide or intellihide - // being temporary disable. Get set by _updateVisibilityMode; - this._autohideIsEnabled = null; - this._intellihideIsEnabled = null; - this._fixedIsEnabled = null; - - // Create intellihide object to monitor windows overlapping - this._intellihide = new Intellihide.Intellihide(this._monitorIndex); - - // initialize dock state - this._dockState = State.HIDDEN; - - // Put dock on the required monitor - this._monitor = Main.layoutManager.monitors[this._monitorIndex]; - - // this store size and the position where the dash is shown; - // used by intellihide module to check window overlap. - this.staticBox = new Clutter.ActorBox(); - - // Initialize pressure barrier variables - this._canUsePressure = false; - this._pressureBarrier = null; - this._barrier = null; - this._removeBarrierTimeoutId = 0; - - // Initialize dwelling system variables - this._dockDwelling = false; - this._dockWatch = null; - this._dockDwellUserTime = 0; - this._dockDwellTimeoutId = 0 - - // Create a new dash object - this.dash = new MyDash.MyDash(this._remoteModel, this._monitorIndex); - - if (!settings.get_boolean('show-show-apps-button')) - this.dash.hideShowAppsButton(); - - // Create the main actor and the containers for sliding in and out and - // centering, turn on track hover - - let positionStyleClass = ['top', 'right', 'bottom', 'left']; - // This is the centering actor - super._init({ - name: 'dashtodockContainer', - reactive: false, - style_class: positionStyleClass[this._position], - x_align: this._isHorizontal?St.Align.MIDDLE:St.Align.START, - y_align: this._isHorizontal?St.Align.START:St.Align.MIDDLE - }); - this._delegate = this; - - // This is the sliding actor whose allocation is to be tracked for input regions - this._slider = new DashSlideContainer({ - side: this._position, - slidex: 0 - }); - - // This is the actor whose hover status us tracked for autohide - this._box = new St.BoxLayout({ - name: 'dashtodockBox', - reactive: true, - track_hover: true - }); - this._box.connect('notify::hover', this._hoverChanged.bind(this)); - - // Create and apply height constraint to the dash. It's controlled by this.height - this.constrainSize = new Clutter.BindConstraint({ - source: this, - coordinate: this._isHorizontal?Clutter.BindCoordinate.WIDTH:Clutter.BindCoordinate.HEIGHT - }); - this.dash.add_constraint(this.constrainSize); - - this._signalsHandler.add([ - Main.overview, - 'item-drag-begin', - this._onDragStart.bind(this) - ], [ - Main.overview, - 'item-drag-end', - this._onDragEnd.bind(this) - ], [ - Main.overview, - 'item-drag-cancelled', - this._onDragEnd.bind(this) - ], [ - // update when workarea changes, for instance if other extensions modify the struts - //(like moving th panel at the bottom) - global.display, - 'workareas-changed', - this._resetPosition.bind(this) - ], [ - Main.overview, - 'showing', - this._onOverviewShowing.bind(this) - ], [ - Main.overview, - 'hiding', - this._onOverviewHiding.bind(this) - ], [ - // Hide on appview - Main.overview.viewSelector, - 'page-changed', - this._pageChanged.bind(this) - ], [ - Main.overview.viewSelector, - 'page-empty', - this._onPageEmpty.bind(this) - ], [ - // Ensure the ShowAppsButton status is kept in sync - Main.overview.viewSelector._showAppsButton, - 'notify::checked', - this._syncShowAppsButtonToggled.bind(this) - ], [ - global.display, - 'in-fullscreen-changed', - this._updateBarrier.bind(this) - ], [ - // Monitor windows overlapping - this._intellihide, - 'status-changed', - this._updateDashVisibility.bind(this) - ], [ - // Keep dragged icon consistent in size with this dash - this.dash, - 'icon-size-changed', - () => { Main.overview.dashIconSize = this.dash.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', - () => { Main.overview.dashIconSize = this.dash.iconSize; } - ], [ - // sync hover after a popupmenu is closed - this.dash, - 'menu-closed', - () => { this._box.sync_hover() } - ]); - - this._injectionsHandler = new Utils.InjectionsHandler(); - this._themeManager = new Theming.ThemeManager(this); - - // Since the actor is not a topLevel child and its parent is now not added to the Chrome, - // the allocation change of the parent container (slide in and slideout) doesn't trigger - // anymore an update of the input regions. Force the update manually. - this.connect('notify::allocation', - Main.layoutManager._queueUpdateRegions.bind(Main.layoutManager)); - - this.dash._container.connect('allocation-changed', this._updateStaticBox.bind(this)); - this._slider.connect(this._isHorizontal ? 'notify::x' : 'notify::y', this._updateStaticBox.bind(this)); - - // Load optional features that need to be activated for one dock only - if (this._monitorIndex == settings.get_int('preferred-monitor')) - this._enableExtraFeatures(); - // Load optional features that need to be activated once per dock - this._optionalScrollWorkspaceSwitch(); - - // Delay operations that require the shell to be fully loaded and with - // user theme applied. - - this._paintId = this.connect('paint', this._initialize.bind(this)); - - // Manage the which is used to reserve space in the overview for the dock - // Add and additional dashSpacer positioned according to the dash positioning. - // It gets restored on extension unload. - this._dashSpacer = new OverviewControls.DashSpacer(); - this._dashSpacer.setDashActor(this._box); - - if (this._position == St.Side.LEFT) - Main.overview._controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? -1 : 0); // insert on first - else if (this._position == St.Side.RIGHT) - Main.overview._controls._group.insert_child_at_index(this._dashSpacer, this._rtl ? 0 : -1); // insert on last - else if (this._position == St.Side.TOP) - Main.overview._overview.insert_child_at_index(this._dashSpacer, 0); - else if (this._position == St.Side.BOTTOM) - Main.overview._overview.insert_child_at_index(this._dashSpacer, -1); - - // Add dash container actor and the container to the Chrome. - this.set_child(this._slider); - this._slider.add_child(this._box); - this._box.add_actor(this.dash); - - // Add aligning container without tracking it for input region - Main.uiGroup.add_child(this); - - if (settings.get_boolean('dock-fixed')) { - // Note: tracking the fullscreen directly on the slider actor causes some hiccups when fullscreening - // windows of certain applications - Main.layoutManager._trackActor(this, {affectsInputRegion: false, trackFullscreen: true}); - Main.layoutManager._trackActor(this._slider, {affectsStruts: true}); - } - else - Main.layoutManager._trackActor(this._slider); - - // Set initial position - this._resetDepth(); - this._resetPosition(); - - this.connect('destroy', this._onDestroy.bind(this)); - } - - _initialize() { - if (this._paintId > 0) { - this.disconnect(this._paintId); - this._paintId=0; - } - - // Apply custome css class according to the settings - this._themeManager.updateCustomTheme(); - - // 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._updateVisibilityMode(); - - // In case we are already inside the overview when the extension is loaded, - // for instance on unlocking the screen if it was locked with the overview open. - if (Main.overview.visibleTarget) { - this._onOverviewShowing(); - this._pageChanged(); - } - - // Setup pressure barrier (GS38+ only) - this._updatePressureBarrier(); - this._updateBarrier(); - - // setup dwelling system if pressure barriers are not available - this._setupDockDwellIfNeeded(); - } - - _onDestroy() { - // Disconnect global signals - this._signalsHandler.destroy(); - // The dash, intellihide and themeManager have global signals as well internally - this.dash.destroy(); - this._intellihide.destroy(); - this._themeManager.destroy(); - - this._injectionsHandler.destroy(); - - // Remove barrier timeout - if (this._removeBarrierTimeoutId > 0) - Mainloop.source_remove(this._removeBarrierTimeoutId); - - // Remove existing barrier - this._removeBarrier(); - - // Remove pointer watcher - if (this._dockWatch) { - PointerWatcher.getPointerWatcher()._removeWatch(this._dockWatch); - this._dockWatch = null; - } - - // Remove the dashSpacer - this._dashSpacer.destroy(); - } - - _bindSettingsChanges() { - let settings = DockManager.settings; - this._signalsHandler.add([ - settings, - 'changed::scroll-action', - () => { this._optionalScrollWorkspaceSwitch(); } - ], [ - settings, - 'changed::dash-max-icon-size', - () => { this.dash.setIconSize(settings.get_int('dash-max-icon-size')); } - ], [ - settings, - 'changed::icon-size-fixed', - () => { this.dash.setIconSize(settings.get_int('dash-max-icon-size')); } - ], [ - settings, - 'changed::show-favorites', - () => { this.dash.resetAppIcons(); } - ], [ - settings, - 'changed::show-trash', - () => { this.dash.resetAppIcons(); }, - Utils.SignalsHandlerFlags.CONNECT_AFTER, - ], [ - settings, - 'changed::show-mounts', - () => { this.dash.resetAppIcons(); }, - Utils.SignalsHandlerFlags.CONNECT_AFTER - ], [ - settings, - 'changed::show-running', - () => { this.dash.resetAppIcons(); } - ], [ - settings, - 'changed::show-apps-at-top', - () => { this.dash.resetAppIcons(); } - ], [ - settings, - 'changed::show-show-apps-button', - () => { - if (settings.get_boolean('show-show-apps-button')) - this.dash.showShowAppsButton(); - else - this.dash.hideShowAppsButton(); - } - ], [ - settings, - 'changed::dock-fixed', - () => { - if (settings.get_boolean('dock-fixed')) { - Main.layoutManager._untrackActor(this); - Main.layoutManager._trackActor(this, {affectsInputRegion: false, trackFullscreen: true}); - Main.layoutManager._untrackActor(this._slider); - Main.layoutManager._trackActor(this._slider, {affectsStruts: true}); - } else { - Main.layoutManager._untrackActor(this); - Main.layoutManager._untrackActor(this._slider); - Main.layoutManager._trackActor(this._slider); - } - - this._resetPosition(); - - // Add or remove barrier depending on if dock-fixed - this._updateBarrier(); - - this._updateVisibilityMode(); - } - ], [ - settings, - 'changed::intellihide', - this._updateVisibilityMode.bind(this) - ], [ - settings, - 'changed::intellihide-mode', - () => { this._intellihide.forceUpdate(); } - ], [ - settings, - 'changed::autohide', - () => { - this._updateVisibilityMode(); - this._updateBarrier(); - } - ], [ - settings, - 'changed::autohide-in-fullscreen', - this._updateBarrier.bind(this) - ], - [ - settings, - 'changed::extend-height', - this._resetPosition.bind(this) - ], [ - settings, - 'changed::height-fraction', - this._resetPosition.bind(this) - ], [ - settings, - 'changed::require-pressure-to-show', - () => { - // Remove pointer watcher - if (this._dockWatch) { - PointerWatcher.getPointerWatcher()._removeWatch(this._dockWatch); - this._dockWatch = null; - } - this._setupDockDwellIfNeeded(); - this._updateBarrier(); - } - ], [ - settings, - 'changed::pressure-threshold', - () => { - this._updatePressureBarrier(); - this._updateBarrier(); - } - ]); - - } - - /** - * This is call when visibility settings change - */ - _updateVisibilityMode() { - let settings = DockManager.settings; - if (settings.get_boolean('dock-fixed')) { - this._fixedIsEnabled = true; - this._autohideIsEnabled = false; - this._intellihideIsEnabled = false; - } - else { - this._fixedIsEnabled = false; - this._autohideIsEnabled = settings.get_boolean('autohide') - this._intellihideIsEnabled = settings.get_boolean('intellihide') - } - - if (this._intellihideIsEnabled) - this._intellihide.enable(); - else - this._intellihide.disable(); - - this._updateDashVisibility(); - } - - /** - * Show/hide dash based on, in order of priority: - * overview visibility - * fixed mode - * intellihide - * autohide - * overview visibility - */ - _updateDashVisibility() { - if (Main.overview.visibleTarget) - return; - - let settings = DockManager.settings; - - if (this._fixedIsEnabled) { - this._removeAnimations(); - this._animateIn(settings.get_double('animation-time'), 0); - } - else if (this._intellihideIsEnabled) { - if (this._intellihide.getOverlapStatus()) { - this._ignoreHover = false; - // Do not hide if autohide is enabled and mouse is hover - if (!this._box.hover || !this._autohideIsEnabled) - this._animateOut(settings.get_double('animation-time'), 0); - } - else { - this._ignoreHover = true; - this._removeAnimations(); - this._animateIn(settings.get_double('animation-time'), 0); - } - } - else { - if (this._autohideIsEnabled) { - this._ignoreHover = false; - global.sync_pointer(); - - if (this._box.hover) - this._animateIn(settings.get_double('animation-time'), 0); - else - this._animateOut(settings.get_double('animation-time'), 0); - } - else - this._animateOut(settings.get_double('animation-time'), 0); - } - } - - _onOverviewShowing() { - this._ignoreHover = true; - this._intellihide.disable(); - this._removeAnimations(); - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - - _onOverviewHiding() { - this._ignoreHover = false; - this._intellihide.enable(); - this._updateDashVisibility(); - } - - _hoverChanged() { - if (!this._ignoreHover) { - // Skip if dock is not in autohide mode for instance because it is shown - // by intellihide. - if (this._autohideIsEnabled) { - if (this._box.hover) - this._show(); - else - this._hide(); - } - } - } - - getDockState() { - return this._dockState; - } - - _show() { - if ((this._dockState == State.HIDDEN) || (this._dockState == State.HIDING)) { - if (this._dockState == State.HIDING) - // suppress all potential queued transitions - i.e. added but not started, - // always give priority to show - this._removeAnimations(); - - this.emit('showing'); - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - } - - _hide() { - // If no hiding animation is running or queued - if ((this._dockState == State.SHOWN) || (this._dockState == State.SHOWING)) { - let settings = DockManager.settings; - let delay; - - if (this._dockState == State.SHOWING) - //if a show already started, let it finish; queue hide without removing the show. - // to obtain this I increase the delay to avoid the overlap and interference - // between the animations - delay = settings.get_double('hide-delay') + settings.get_double('animation-time'); - else - delay = settings.get_double('hide-delay'); - - this.emit('hiding'); - this._animateOut(settings.get_double('animation-time'), delay); - } - } - - _animateIn(time, delay) { - this._dockState = State.SHOWING; - - this._slider.ease_property('slidex', 1, { - duration: time * 1000, - delay: delay * 1000, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - onComplete: () => { - this._dockState = State.SHOWN; - // Remove barrier so that mouse pointer is released and can access monitors on other side of dock - // NOTE: Delay needed to keep mouse from moving past dock and re-hiding dock immediately. This - // gives users an opportunity to hover over the dock - if (this._removeBarrierTimeoutId > 0) - Mainloop.source_remove(this._removeBarrierTimeoutId); - this._removeBarrierTimeoutId = Mainloop.timeout_add(100, this._removeBarrier.bind(this)); - } - }); - } - - _animateOut(time, delay) { - this._dockState = State.HIDING; - - this._slider.ease_property('slidex', 0, { - duration: time * 1000, - delay: delay * 1000, - mode: Clutter.AnimationMode.EASE_OUT_QUAD, - onComplete: () => { - this._dockState = State.HIDDEN; - // Remove queued barried removal if any - if (this._removeBarrierTimeoutId > 0) - Mainloop.source_remove(this._removeBarrierTimeoutId); - this._updateBarrier(); - } - }); - } - - /** - * Dwelling system based on the GNOME Shell 3.14 messageTray code. - */ - _setupDockDwellIfNeeded() { - // If we don't have extended barrier features, then we need - // to support the old tray dwelling mechanism. - if (!global.display.supports_extended_barriers() || - !DockManager.settings.get_boolean('require-pressure-to-show')) { - let pointerWatcher = PointerWatcher.getPointerWatcher(); - this._dockWatch = pointerWatcher.addWatch(DOCK_DWELL_CHECK_INTERVAL, this._checkDockDwell.bind(this)); - this._dockDwelling = false; - this._dockDwellUserTime = 0; - } - } - - _checkDockDwell(x, y) { - - let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor.index) - let shouldDwell; - // Check for the correct screen edge, extending the sensitive area to the whole workarea, - // minus 1 px to avoid conflicting with other active corners. - if (this._position == St.Side.LEFT) - shouldDwell = (x == this._monitor.x) && (y > workArea.y) && (y < workArea.y + workArea.height); - else if (this._position == St.Side.RIGHT) - shouldDwell = (x == this._monitor.x + this._monitor.width - 1) && (y > workArea.y) && (y < workArea.y + workArea.height); - else if (this._position == St.Side.TOP) - shouldDwell = (y == this._monitor.y) && (x > workArea.x) && (x < workArea.x + workArea.width); - else if (this._position == St.Side.BOTTOM) - shouldDwell = (y == this._monitor.y + this._monitor.height - 1) && (x > workArea.x) && (x < workArea.x + workArea.width); - - if (shouldDwell) { - // We only set up dwell timeout when the user is not hovering over the dock - // already (!this._box.hover). - // The _dockDwelling variable is used so that we only try to - // fire off one dock dwell - if it fails (because, say, the user has the mouse down), - // we don't try again until the user moves the mouse up and down again. - if (!this._dockDwelling && !this._box.hover && (this._dockDwellTimeoutId == 0)) { - // Save the interaction timestamp so we can detect user input - let focusWindow = global.display.focus_window; - this._dockDwellUserTime = focusWindow ? focusWindow.user_time : 0; - - this._dockDwellTimeoutId = Mainloop.timeout_add(DockManager.settings.get_double('show-delay') * 1000, - this._dockDwellTimeout.bind(this)); - GLib.Source.set_name_by_id(this._dockDwellTimeoutId, '[dash-to-dock] this._dockDwellTimeout'); - } - this._dockDwelling = true; - } - else { - this._cancelDockDwell(); - this._dockDwelling = false; - } - } - - _cancelDockDwell() { - if (this._dockDwellTimeoutId != 0) { - Mainloop.source_remove(this._dockDwellTimeoutId); - this._dockDwellTimeoutId = 0; - } - } - - _dockDwellTimeout() { - this._dockDwellTimeoutId = 0; - - if (!DockManager.settings.get_boolean('autohide-in-fullscreen') && - this._monitor.inFullscreen) - return GLib.SOURCE_REMOVE; - - // We don't want to open the tray when a modal dialog - // is up, so we check the modal count for that. When we are in the - // overview we have to take the overview's modal push into account - if (Main.modalCount > (Main.overview.visible ? 1 : 0)) - return GLib.SOURCE_REMOVE; - - // If the user interacted with the focus window since we started the tray - // dwell (by clicking or typing), don't activate the message tray - let focusWindow = global.display.focus_window; - let currentUserTime = focusWindow ? focusWindow.user_time : 0; - if (currentUserTime != this._dockDwellUserTime) - return GLib.SOURCE_REMOVE; - - // Reuse the pressure version function, the logic is the same - this._onPressureSensed(); - return GLib.SOURCE_REMOVE; - } - - _updatePressureBarrier() { - let settings = DockManager.settings; - this._canUsePressure = global.display.supports_extended_barriers(); - let pressureThreshold = settings.get_double('pressure-threshold'); - - // Remove existing pressure barrier - if (this._pressureBarrier) { - this._pressureBarrier.destroy(); - this._pressureBarrier = null; - } - - if (this._barrier) { - this._barrier.destroy(); - this._barrier = null; - } - - // Create new pressure barrier based on pressure threshold setting - if (this._canUsePressure) { - this._pressureBarrier = new Layout.PressureBarrier(pressureThreshold, settings.get_double('show-delay')*1000, - Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW); - this._pressureBarrier.connect('trigger', (barrier) => { - if (!settings.get_boolean('autohide-in-fullscreen') && this._monitor.inFullscreen) - return; - this._onPressureSensed(); - }); - } - } - - /** - * handler for mouse pressure sensed - */ - _onPressureSensed() { - if (Main.overview.visibleTarget) - return; - - // In case the mouse move away from the dock area before hovering it, in such case the leave event - // would never be triggered and the dock would stay visible forever. - let triggerTimeoutId = Mainloop.timeout_add(250, () => { - triggerTimeoutId = 0; - - let [x, y, mods] = global.get_pointer(); - let shouldHide = true; - switch (this._position) { - case St.Side.LEFT: - if (x <= this.staticBox.x2 && - x >= this._monitor.x && - y >= this._monitor.y && - y <= this._monitor.y + this._monitor.height) { - shouldHide = false; - } - break; - case St.Side.RIGHT: - if (x >= this.staticBox.x1 && - x <= this._monitor.x + this._monitor.width && - y >= this._monitor.y && - y <= this._monitor.y + this._monitor.height) { - shouldHide = false; - } - break; - case St.Side.TOP: - if (x >= this._monitor.x && - x <= this._monitor.x + this._monitor.width && - y <= this.staticBox.y2 && - y >= this._monitor.y) { - shouldHide = false; - } - break; - case St.Side.BOTTOM: - if (x >= this._monitor.x && - x <= this._monitor.x + this._monitor.width && - y >= this.staticBox.y1 && - y <= this._monitor.y + this._monitor.height) { - shouldHide = false; - } - } - if (shouldHide) { - this._hoverChanged(); - return GLib.SOURCE_REMOVE; - } - else { - return GLib.SOURCE_CONTINUE; - } - - }); - - this._show(); - } - - /** - * Remove pressure barrier - */ - _removeBarrier() { - if (this._barrier) { - if (this._pressureBarrier) - this._pressureBarrier.removeBarrier(this._barrier); - this._barrier.destroy(); - this._barrier = null; - } - this._removeBarrierTimeoutId = 0; - return false; - } - - /** - * Update pressure barrier size - */ - _updateBarrier() { - // Remove existing barrier - this._removeBarrier(); - - // The barrier needs to be removed in fullscreen with autohide disabled, otherwise the mouse can - // get trapped on monitor. - if (this._monitor.inFullscreen && - !DockManager.settings.get_boolean('autohide-in-fullscreen')) - return - - // Manually reset pressure barrier - // This is necessary because we remove the pressure barrier when it is triggered to show the dock - if (this._pressureBarrier) { - this._pressureBarrier._reset(); - this._pressureBarrier._isTriggered = false; - } - - // Create new barrier - // The barrier extends to the whole workarea, minus 1 px to avoid conflicting with other active corners - // Note: dash in fixed position doesn't use pressure barrier. - if (this._canUsePressure && this._autohideIsEnabled && - DockManager.settings.get_boolean('require-pressure-to-show')) { - let x1, x2, y1, y2, direction; - let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor.index) - - if (this._position == St.Side.LEFT) { - x1 = this._monitor.x + 1; - x2 = x1; - y1 = workArea.y + 1; - y2 = workArea.y + workArea.height - 1; - direction = Meta.BarrierDirection.POSITIVE_X; - } - else if (this._position == St.Side.RIGHT) { - x1 = this._monitor.x + this._monitor.width - 1; - x2 = x1; - y1 = workArea.y + 1; - y2 = workArea.y + workArea.height - 1; - direction = Meta.BarrierDirection.NEGATIVE_X; - } - else if (this._position == St.Side.TOP) { - x1 = workArea.x + 1; - x2 = workArea.x + workArea.width - 1; - y1 = this._monitor.y; - y2 = y1; - direction = Meta.BarrierDirection.POSITIVE_Y; - } - else if (this._position == St.Side.BOTTOM) { - x1 = workArea.x + 1; - x2 = workArea.x + workArea.width - 1; - y1 = this._monitor.y + this._monitor.height; - y2 = y1; - direction = Meta.BarrierDirection.NEGATIVE_Y; - } - - this._barrier = new Meta.Barrier({ - display: global.display, - x1: x1, - x2: x2, - y1: y1, - y2: y2, - directions: direction - }); - if (this._pressureBarrier) - this._pressureBarrier.addBarrier(this._barrier); - } - } - - _isPrimaryMonitor() { - return (this._monitorIndex == Main.layoutManager.primaryIndex); - } - - _resetPosition() { - // Ensure variables linked to settings are updated. - this._updateVisibilityMode(); - - let extendHeight = DockManager.settings.get_boolean('extend-height'); - - // Note: do not use the workarea coordinates in the direction on which the dock is placed, - // to avoid a loop [position change -> workArea change -> position change] with - // fixed dock. - let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitorIndex); - - // Reserve space for the dash on the overview - // if the dock is on the primary monitor - if (this._isPrimaryMonitor()) - this._dashSpacer.show(); - else - // No space is required in the overview of the dash - this._dashSpacer.hide(); - - let fraction = DockManager.settings.get_double('height-fraction'); - - if (extendHeight) - fraction = 1; - else if ((fraction < 0) || (fraction > 1)) - fraction = 0.95; - - let anchor_point; - - if (this._isHorizontal) { - this.width = Math.round(fraction * workArea.width); - - let pos_y; - if (this._position == St.Side.BOTTOM) { - pos_y = this._monitor.y + this._monitor.height; - anchor_point = Clutter.Gravity.SOUTH_WEST; - } - else { - pos_y = this._monitor.y; - anchor_point = Clutter.Gravity.NORTH_WEST; - } - - this.move_anchor_point_from_gravity(anchor_point); - this.x = workArea.x + Math.round((1 - fraction) / 2 * workArea.width); - this.y = pos_y; - - if (extendHeight) { - this.dash._container.set_width(this.width); - this.add_style_class_name('extended'); - } - else { - this.dash._container.set_width(-1); - this.remove_style_class_name('extended'); - } - } - else { - this.height = Math.round(fraction * workArea.height); - - let pos_x; - if (this._position == St.Side.RIGHT) { - pos_x = this._monitor.x + this._monitor.width; - anchor_point = Clutter.Gravity.NORTH_EAST; - } - else { - pos_x = this._monitor.x; - anchor_point = Clutter.Gravity.NORTH_WEST; - } - - this.move_anchor_point_from_gravity(anchor_point); - this.x = pos_x; - this.y = workArea.y + Math.round((1 - fraction) / 2 * workArea.height); - - if (extendHeight) { - this.dash._container.set_height(this.height); - this.add_style_class_name('extended'); - } - else { - this.dash._container.set_height(-1); - this.remove_style_class_name('extended'); - } - } - - this._y0 = this.y; - } - - // Set the dash at the correct depth in z - _resetDepth() { - // Keep the dash below the modalDialogGroup - Main.layoutManager.uiGroup.set_child_below_sibling(this, Main.layoutManager.modalDialogGroup); - } - - _updateStaticBox() { - this.staticBox.init_rect( - this.x + this._slider.x - (this._position == St.Side.RIGHT ? this._box.width : 0), - this.y + this._slider.y - (this._position == St.Side.BOTTOM ? this._box.height : 0), - this._box.width, - this._box.height - ); - - this._intellihide.updateTargetBox(this.staticBox); - } - - _removeAnimations() { - this._slider.remove_all_transitions(); - } - - _onDragStart() { - // The dash need to be above the top_window_group, otherwise it doesn't - // accept dnd of app icons when not in overiew mode. - Main.layoutManager.uiGroup.set_child_above_sibling(this, global.top_window_group); - this._oldignoreHover = this._ignoreHover; - this._ignoreHover = true; - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - - _onDragEnd() { - // Restore drag default dash stack order - this._resetDepth(); - if (this._oldignoreHover !== null) - this._ignoreHover = this._oldignoreHover; - this._oldignoreHover = null; - this._box.sync_hover(); - if (Main.overview._shown) - this._pageChanged(); - } - - _pageChanged() { - let activePage = Main.overview.viewSelector.getActivePage(); - let dashVisible = (activePage == ViewSelector.ViewPage.WINDOWS || - activePage == ViewSelector.ViewPage.APPS); - - if (dashVisible) - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - else - this._animateOut(DockManager.settings.get_double('animation-time'), 0); - } - - _onPageEmpty() { - /* The dash spacer is required only in the WINDOWS view if in the default position. - * The 'page-empty' signal is emitted in between a change of view, - * signalling the spacer can be added and removed without visible effect, - * as it's done for the upstream dashSpacer. - * - * Moreover, hiding the spacer ensure the appGrid allocaton is triggered. - * This matter as the appview spring animation is triggered by to first reallocaton of the appGrid, - * (See appDisplay.js, line 202 on GNOME Shell 3.14: - * this._grid.actor.connect('notify::allocation', ...) - * which in turn seems to be triggered by changes in the other actors in the overview. - * Normally, as far as I could understand, either the dashSpacer being hidden or the workspacesThumbnails - * sliding out would trigger the allocation. However, with no stock dash - * and no thumbnails, which happen if the user configured only 1 and static workspace, - * the animation out of icons is not played. - */ - - let activePage = Main.overview.viewSelector.getActivePage(); - this._dashSpacer.visible = (this._isHorizontal || activePage == ViewSelector.ViewPage.WINDOWS); - } - - /** - * Show dock and give key focus to it - */ - _onAccessibilityFocus() { - this._box.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); - this._animateIn(DockManager.settings.get_double('animation-time'), 0); - } - - /** - * Keep ShowAppsButton status in sync with the overview status - */ - _syncShowAppsButtonToggled() { - let status = Main.overview.viewSelector._showAppsButton.checked; - if (this.dash.showAppsButton.checked !== status) - this.dash.showAppsButton.checked = status; - } - - // Optional features to be enabled only for the main Dock - _enableExtraFeatures() { - // Restore dash accessibility - Main.ctrlAltTabManager.addGroup( - this.dash, _('Dash'), 'user-bookmarks-symbolic', - {focusCallback: this._onAccessibilityFocus.bind(this)}); - } - - /** - * Switch workspace by scrolling over the dock - */ - _optionalScrollWorkspaceSwitch() { - let label = 'optionalScrollWorkspaceSwitch'; - - function isEnabled() { - return DockManager.settings.get_enum('scroll-action') === scrollAction.SWITCH_WORKSPACE; - } - - DockManager.settings.connect('changed::scroll-action', () => { - if (isEnabled.bind(this)()) - enable.bind(this)(); - else - disable.bind(this)(); - }); - - if (isEnabled.bind(this)()) - enable.bind(this)(); - - function enable() { - this._signalsHandler.removeWithLabel(label); - - this._signalsHandler.addWithLabel(label, [ - this._box, - 'scroll-event', - onScrollEvent.bind(this) - ]); - } - - function disable() { - this._signalsHandler.removeWithLabel(label); - - if (this._optionalScrollWorkspaceSwitchDeadTimeId) { - Mainloop.source_remove(this._optionalScrollWorkspaceSwitchDeadTimeId); - this._optionalScrollWorkspaceSwitchDeadTimeId = 0; - } - } - - // This was inspired to desktop-scroller@obsidien.github.com - function onScrollEvent(actor, event) { - // When in overview change workscape only in windows view - if (Main.overview.visible && Main.overview.viewSelector.getActivePage() !== ViewSelector.ViewPage.WINDOWS) - return false; - - let activeWs = global.workspace_manager.get_active_workspace(); - let direction = null; - - switch (event.get_scroll_direction()) { - case Clutter.ScrollDirection.UP: - direction = Meta.MotionDirection.UP; - break; - case Clutter.ScrollDirection.DOWN: - direction = Meta.MotionDirection.DOWN; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - if (dy < 0) - direction = Meta.MotionDirection.UP; - else if (dy > 0) - direction = Meta.MotionDirection.DOWN; - break; - } - - if (direction !== null) { - // Prevent scroll events from triggering too many workspace switches - // by adding a 250ms deadtime between each scroll event. - // Usefull on laptops when using a touchpad. - - // During the deadtime do nothing - if (this._optionalScrollWorkspaceSwitchDeadTimeId) - return false; - else - this._optionalScrollWorkspaceSwitchDeadTimeId = Mainloop.timeout_add(250, () => { - this._optionalScrollWorkspaceSwitchDeadTimeId = 0; - }); - - let ws; - - ws = activeWs.get_neighbor(direction) - - if (Main.wm._workspaceSwitcherPopup == null) - Main.wm._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup(); - // Set the actor non reactive, so that it doesn't prevent the - // clicks events from reaching the dash actor. I can't see a reason - // why it should be reactive. - Main.wm._workspaceSwitcherPopup.actor.reactive = false; - Main.wm._workspaceSwitcherPopup.connect('destroy', function() { - Main.wm._workspaceSwitcherPopup = null; - }); - - // Do not show wokspaceSwithcer in overview - if (!Main.overview.visible) - Main.wm._workspaceSwitcherPopup.display(direction, ws.index()); - Main.wm.actionMoveWorkspace(ws); - - return true; - } - else - return false; - } - } - - _activateApp(appIndex) { - let children = this.dash._box.get_children().filter(function(actor) { - return actor.child && - actor.child._delegate && - actor.child._delegate.app; - }); - - // Apps currently in the dash - let apps = children.map(function(actor) { - return actor.child._delegate; - }); - - // Activate with button = 1, i.e. same as left click - let button = 1; - if (appIndex < apps.length) - apps[appIndex].activate(button); - } -}); - -/* - * Handle keybaord shortcuts - */ -const DashToDock_KeyboardShortcuts_NUM_HOTKEYS = 10; - -var KeyboardShortcuts = class DashToDock_KeyboardShortcuts { - - constructor(allDocks){ - this._allDocks = allDocks; - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._hotKeysEnabled = false; - if (DockManager.settings.get_boolean('hot-keys')) - this._enableHotKeys(); - - this._signalsHandler.add([ - DockManager.settings, - 'changed::hot-keys', - () => { - if (DockManager.settings.get_boolean('hot-keys')) - this._enableHotKeys.bind(this)(); - else - this._disableHotKeys.bind(this)(); - } - ]); - - this._optionalNumberOverlay(); - } - - destroy() { - // Remove keybindings - this._disableHotKeys(); - this._disableExtraShortcut(); - this._signalsHandler.destroy(); - } - - _enableHotKeys() { - if (this._hotKeysEnabled) - return; - - // Setup keyboard bindings for dash elements - let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-']; - keys.forEach( function(key) { - for (let i = 0; i < DashToDock_KeyboardShortcuts_NUM_HOTKEYS; i++) { - let appNum = i; - Main.wm.addKeybinding(key + (i + 1), DockManager.settings, - Meta.KeyBindingFlags.NONE, - Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW, - () => { - this._allDocks[0]._activateApp(appNum); - this._showOverlay(); - }); - } - }, this); - - this._hotKeysEnabled = true; - } - - _disableHotKeys() { - if (!this._hotKeysEnabled) - return; - - let keys = ['app-hotkey-', 'app-shift-hotkey-', 'app-ctrl-hotkey-']; - keys.forEach( function(key) { - for (let i = 0; i < DashToDock_KeyboardShortcuts_NUM_HOTKEYS; i++) - Main.wm.removeKeybinding(key + (i + 1)); - }, this); - - this._hotKeysEnabled = false; - } - - _optionalNumberOverlay() { - let settings = DockManager.settings; - this._shortcutIsSet = false; - // Enable extra shortcut if either 'overlay' or 'show-dock' are true - if (settings.get_boolean('hot-keys') && - (settings.get_boolean('hotkeys-overlay') || settings.get_boolean('hotkeys-show-dock'))) - this._enableExtraShortcut(); - - this._signalsHandler.add([ - settings, - 'changed::hot-keys', - this._checkHotkeysOptions.bind(this) - ], [ - settings, - 'changed::hotkeys-overlay', - this._checkHotkeysOptions.bind(this) - ], [ - settings, - 'changed::hotkeys-show-dock', - this._checkHotkeysOptions.bind(this) - ]); - } - - _checkHotkeysOptions() { - let settings = DockManager.settings; - - if (settings.get_boolean('hot-keys') && - (settings.get_boolean('hotkeys-overlay') || settings.get_boolean('hotkeys-show-dock'))) - this._enableExtraShortcut(); - else - this._disableExtraShortcut(); - } - - _enableExtraShortcut() { - if (!this._shortcutIsSet) { - Main.wm.addKeybinding('shortcut', DockManager.settings, - Meta.KeyBindingFlags.NONE, - Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW, - this._showOverlay.bind(this)); - this._shortcutIsSet = true; - } - } - - _disableExtraShortcut() { - if (this._shortcutIsSet) { - Main.wm.removeKeybinding('shortcut'); - this._shortcutIsSet = false; - } - } - - _showOverlay() { - for (let i = 0; i < this._allDocks.length; i++) { - let dock = this._allDocks[i]; - if (dock._settings.get_boolean('hotkeys-overlay')) - dock.dash.toggleNumberOverlay(true); - - // Restart the counting if the shortcut is pressed again - if (dock._numberOverlayTimeoutId) { - Mainloop.source_remove(dock._numberOverlayTimeoutId); - dock._numberOverlayTimeoutId = 0; - } - - // Hide the overlay/dock after the timeout - let timeout = dock._settings.get_double('shortcut-timeout') * 1000; - dock._numberOverlayTimeoutId = Mainloop.timeout_add(timeout, () => { - dock._numberOverlayTimeoutId = 0; - dock.dash.toggleNumberOverlay(false); - // Hide the dock again if necessary - dock._updateDashVisibility(); - }); - - // Show the dock if it is hidden - if (dock._settings.get_boolean('hotkeys-show-dock')) { - let showDock = (dock._intellihideIsEnabled || dock._autohideIsEnabled); - if (showDock) - dock._show(); - } - } - } -}; - -/** - * Isolate overview to open new windows for inactive apps - * Note: the future implementaion is not fully contained here. Some bits are around in other methods of other classes. - * This class just take care of enabling/disabling the option. - */ -var WorkspaceIsolation = class DashToDock_WorkspaceIsolation { - - constructor(allDocks) { - - let settings = DockManager.settings; - this._allDocks = allDocks; - - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._injectionsHandler = new Utils.InjectionsHandler(); - - this._signalsHandler.add([ - settings, - 'changed::isolate-workspaces', - () => { - this._allDocks.forEach(function(dock) { - dock.dash.resetAppIcons(); - }); - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) - this._enable.bind(this)(); - else - this._disable.bind(this)(); - } - ],[ - settings, - 'changed::isolate-monitors', - () => { - this._allDocks.forEach(function(dock) { - dock.dash.resetAppIcons(); - }); - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) - this._enable.bind(this)(); - else - this._disable.bind(this)(); - } - ]); - - if (settings.get_boolean('isolate-workspaces') || - settings.get_boolean('isolate-monitors')) - this._enable(); - - } - - _enable() { - - // ensure I never double-register/inject - // although it should never happen - this._disable(); - - this._allDocks.forEach(function(dock) { - this._signalsHandler.addWithLabel('isolation', [ - global.display, - 'restacked', - dock.dash._queueRedisplay.bind(dock.dash) - ], [ - global.window_manager, - 'switch-workspace', - dock.dash._queueRedisplay.bind(dock.dash) - ]); - - // This last signal is only needed for monitor isolation, as windows - // might migrate from one monitor to another without triggering 'restacked' - if (DockManager.settings.get_boolean('isolate-monitors')) - this._signalsHandler.addWithLabel('isolation', [ - global.display, - 'window-entered-monitor', - dock.dash._queueRedisplay.bind(dock.dash) - ]); - - }, this); - - // here this is the Shell.App - function IsolatedOverview() { - // These lines take care of Nautilus for icons on Desktop - let windows = this.get_windows().filter(function(w) { - return w.get_workspace().index() == global.workspace_manager.get_active_workspace_index(); - }); - if (windows.length == 1) - if (windows[0].skip_taskbar) - return this.open_new_window(-1); - - if (this.is_on_workspace(global.workspace_manager.get_active_workspace())) - return Main.activateWindow(windows[0]); - return this.open_new_window(-1); - } - - this._injectionsHandler.addWithLabel('isolation', [ - Shell.App.prototype, - 'activate', - IsolatedOverview - ]); - } - - _disable () { - this._signalsHandler.removeWithLabel('isolation'); - this._injectionsHandler.removeWithLabel('isolation'); - } - - destroy() { - this._signalsHandler.destroy(); - this._injectionsHandler.destroy(); - } -}; - - -var DockManager = class DashToDock_DockManager { - - constructor() { - if (Me.imports.extension.dockManager) - throw new Error('DashToDock has been already initialized'); - - Me.imports.extension.dockManager = this; - - this._remoteModel = new LauncherAPI.LauncherEntryRemoteModel(); - this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.dash-to-dock'); - this._oldDash = Main.overview._dash; - this._ensureFileManagerClient(); - - /* Array of all the docks created */ - this._allDocks = []; - this._createDocks(); - - // status variable: true when the overview is shown through the dash - // applications button. - this._forcedOverview = false; - - // Connect relevant signals to the toggling function - this._bindSettingsChanges(); - } - - static getDefault() { - return Me.imports.extension.dockManager - } - - static get settings() { - return DockManager.getDefault()._settings; - } - - get fm1Client() { - return this._fm1Client; - } - - _ensureFileManagerClient() { - let supportsLocations = ['show-trash', 'show-mounts'].some((s) => { - return this._settings.get_boolean(s); - }); - - if (supportsLocations) { - if (!this._fm1Client) - this._fm1Client = new FileManager1API.FileManager1Client(); - } else if (this._fm1Client) { - this._fm1Client.destroy(); - this._fm1Client = null; - } - } - - _toggle() { - this._deleteDocks(); - this._createDocks(); - this.emit('toggled'); - } - - _bindSettingsChanges() { - // Connect relevant signals to the toggling function - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._signalsHandler.add([ - Meta.MonitorManager.get(), - 'monitors-changed', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::multi-monitor', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::preferred-monitor', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::dock-position', - this._toggle.bind(this) - ], [ - this._settings, - 'changed::extend-height', - this._adjustPanelCorners.bind(this) - ], [ - this._settings, - 'changed::dock-fixed', - this._adjustPanelCorners.bind(this) - ], [ - this._settings, - 'changed::show-trash', - () => this._ensureFileManagerClient() - ], [ - this._settings, - 'changed::show-mounts', - () => this._ensureFileManagerClient() - ], ); - } - - _createDocks() { - - // If there are no monitors (headless configurations, but it can also happen temporary while disconnecting - // and reconnecting monitors), just do nothing. When a monitor will be connected we we'll be notified and - // and thus create the docks. This prevents pointing trying to access monitors throughout the code, were we - // are assuming that at least the primary monitor is present. - if (Main.layoutManager.monitors.length <= 0) { - return; - } - - this._preferredMonitorIndex = this._settings.get_int('preferred-monitor'); - // In case of multi-monitor, we consider the dock on the primary monitor to be the preferred (main) one - // regardless of the settings - // The dock goes on the primary monitor also if the settings are incosistent (e.g. desired monitor not connected). - if (this._settings.get_boolean('multi-monitor') || - this._preferredMonitorIndex < 0 || this._preferredMonitorIndex > Main.layoutManager.monitors.length - 1 - ) { - this._preferredMonitorIndex = Main.layoutManager.primaryIndex; - } else { - // Gdk and shell monitors numbering differ at least under wayland: - // While the primary monitor appears to be always index 0 in Gdk, - // the shell can assign a different number (Main.layoutManager.primaryMonitor) - // This ensure the indexing in the settings (Gdk) and in the shell are matched, - // i.e. that we start counting from the primaryMonitorIndex - this._preferredMonitorIndex = (Main.layoutManager.primaryIndex + this._preferredMonitorIndex) % Main.layoutManager.monitors.length ; - } - - // First we create the main Dock, to get the extra features to bind to this one - let dock = new DockedDash(this._remoteModel, this._preferredMonitorIndex); - this._allDocks.push(dock); - - // connect app icon into the view selector - dock.dash.showAppsButton.connect('notify::checked', this._onShowAppsButtonToggled.bind(this)); - - // Make the necessary changes to Main.overview._dash - this._prepareMainDash(); - - // Adjust corners if necessary - this._adjustPanelCorners(); - - if (this._settings.get_boolean('multi-monitor')) { - let nMon = Main.layoutManager.monitors.length; - for (let iMon = 0; iMon < nMon; iMon++) { - if (iMon == this._preferredMonitorIndex) - continue; - let dock = new DockedDash(this._remoteModel, iMon); - this._allDocks.push(dock); - // connect app icon into the view selector - dock.dash.showAppsButton.connect('notify::checked', this._onShowAppsButtonToggled.bind(this)); - } - } - - // Load optional features. We load *after* the docks are created, since - // we need to connect the signals to all dock instances. - this._workspaceIsolation = new WorkspaceIsolation(this._allDocks); - this._keyboardShortcuts = new KeyboardShortcuts(this._allDocks); - } - - _prepareMainDash() { - // Pretend I'm the dash: meant to make appgrd swarm animation come from the - // right position of the appShowButton. - Main.overview._dash = this._allDocks[0].dash; - - // set stored icon size to the new dash - Main.overview.dashIconSize = this._allDocks[0].dash.iconSize; - - // Hide usual Dash - Main.overview._controls.dash.actor.hide(); - - // Also set dash 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) - Main.overview._controls.dash.actor.set_width(1); - } - - _deleteDocks() { - // Remove extra features - this._workspaceIsolation.destroy(); - this._keyboardShortcuts.destroy(); - - // Delete all docks - let nDocks = this._allDocks.length; - for (let i = nDocks-1; i >= 0; i--) { - this._allDocks[i].destroy(); - this._allDocks.pop(); - } - } - - _restoreDash() { - Main.overview._controls.dash.actor.show(); - Main.overview._controls.dash.actor.set_width(-1); //reset default dash size - // This force the recalculation of the icon size - Main.overview._controls.dash._maxHeight = -1; - - // reset stored icon size to the default dash - Main.overview.dashIconSize = Main.overview._controls.dash.iconSize; - - Main.overview._dash = this._oldDash; - } - - _onShowAppsButtonToggled(button) { - // Sync the status of the default appButtons. Only if the two statuses are - // different, that means the user interacted with the extension provided - // application button, cutomize the behaviour. Otherwise the shell has changed the - // status (due to the _syncShowAppsButtonToggled function below) and it - // has already performed the desired action. - - let animate = this._settings.get_boolean('animate-show-apps'); - let selector = Main.overview.viewSelector; - - if (selector._showAppsButton.checked !== button.checked) { - // find visible view - let visibleView; - Main.overview.viewSelector.appDisplay._views.every(function(v, index) { - if (v.view.actor.visible) { - visibleView = index; - return false; - } - else - return true; - }); - - if (button.checked) { - // force spring animation triggering.By default the animation only - // runs if we are already inside the overview. - if (!Main.overview._shown) { - this._forcedOverview = true; - let view = Main.overview.viewSelector.appDisplay._views[visibleView].view; - let grid = view._grid; - if (animate) { - // Animate in the the appview, hide the appGrid to avoiud flashing - // Go to the appView before entering the overview, skipping the workspaces. - // Do this manually avoiding opacity in transitions so that the setting of the opacity - // to 0 doesn't get overwritten. - Main.overview.viewSelector._activePage.opacity = 0; - Main.overview.viewSelector._activePage.hide(); - Main.overview.viewSelector._activePage = Main.overview.viewSelector._appsPage; - Main.overview.viewSelector._activePage.show(); - grid.opacity = 0; - - // The animation has to be trigered manually because the AppDisplay.animate - // method is waiting for an allocation not happening, as we skip the workspace view - // and the appgrid could already be allocated from previous shown. - // It has to be triggered after the overview is shown as wrong coordinates are obtained - // otherwise. - let overviewShownId = Main.overview.connect('shown', () => { - Main.overview.disconnect(overviewShownId); - Meta.later_add(Meta.LaterType.BEFORE_REDRAW, () => { - grid.opacity = 255; - grid.animateSpring(IconGrid.AnimationDirection.IN, this._allDocks[0].dash.showAppsButton); - }); - }); - } - else { - Main.overview.viewSelector._activePage = Main.overview.viewSelector._appsPage; - Main.overview.viewSelector._activePage.show(); - grid.opacity = 255; - } - - } - - // Finally show the overview - selector._showAppsButton.checked = true; - Main.overview.show(); - } - else { - if (this._forcedOverview) { - // force exiting overview if needed - - if (animate) { - // Manually trigger springout animation without activating the - // workspaceView to avoid the zoomout animation. Hide the appPage - // onComplete to avoid ugly flashing of original icons. - let view = Main.overview.viewSelector.appDisplay._views[visibleView].view; - view.animate(IconGrid.AnimationDirection.OUT, () => { - Main.overview.viewSelector._appsPage.hide(); - Main.overview.hide(); - selector._showAppsButton.checked = false; - this._forcedOverview = false; - }); - } - else { - Main.overview.hide(); - this._forcedOverview = false; - } - } - else { - selector._showAppsButton.checked = false; - this._forcedOverview = false; - } - } - } - - // whenever the button is unactivated even if not by the user still reset the - // forcedOverview flag - if (button.checked == false) - this._forcedOverview = false; - } - - destroy() { - this._signalsHandler.destroy(); - this._deleteDocks(); - this._revertPanelCorners(); - this._restoreDash(); - if (this._fm1Client) { - this._fm1Client.destroy(); - this._fm1Client = null; - } - this._remoteModel.destroy(); - this._settings.run_dispose(); - this._settings = null; - - Me.imports.extension.dockManager = null; - } - - /** - * Adjust Panel corners - */ - _adjustPanelCorners() { - let position = Utils.getPosition(); - let isHorizontal = ((position == St.Side.TOP) || (position == St.Side.BOTTOM)); - let extendHeight = this._settings.get_boolean('extend-height'); - let fixedIsEnabled = this._settings.get_boolean('dock-fixed'); - let dockOnPrimary = this._settings.get_boolean('multi-monitor') || - this._preferredMonitorIndex == Main.layoutManager.primaryIndex; - - if (!isHorizontal && dockOnPrimary && extendHeight && fixedIsEnabled) { - Main.panel._rightCorner.actor.hide(); - Main.panel._leftCorner.actor.hide(); - } - else - this._revertPanelCorners(); - } - - _revertPanelCorners() { - Main.panel._leftCorner.actor.show(); - Main.panel._rightCorner.actor.show(); - } -}; -Signals.addSignalMethods(DockManager.prototype); diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js deleted file mode 100644 index 0b7b5c63..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/extension.js +++ /dev/null @@ -1,21 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; - -// We declare this with var so it can be accessed by other extensions in -// GNOME Shell 3.26+ (mozjs52+). -var dockManager; - -function init() { - ExtensionUtils.initTranslations('dashtodock'); -} - -function enable() { - new Docking.DockManager(); -} - -function disable() { - dockManager.destroy(); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js deleted file mode 100644 index 2b9bbe88..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/fileManager1API.js +++ /dev/null @@ -1,217 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Gio = imports.gi.Gio; -const Signals = imports.signals; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Utils = Me.imports.utils; - -const FileManager1Iface = '\ - \ - \ - '; - -const FileManager1Proxy = Gio.DBusProxy.makeProxyWrapper(FileManager1Iface); - -/** - * This class implements a client for the org.freedesktop.FileManager1 dbus - * interface, and specifically for the OpenWindowsWithLocations property - * which is published by Nautilus, but is not an official part of the interface. - * - * The property is a map from window identifiers to a list of locations open in - * the window. - * - * While OpeWindowsWithLocations is part of upstream Nautilus, for many years - * prior, Ubuntu patched Nautilus to publish XUbuntuOpenLocationsXids, which is - * similar but uses Xids as the window identifiers instead of gtk window paths. - * - * When an old or unpatched Nautilus is running, we will observe the properties - * to always be empty arrays, but there will not be any correctness issues. - */ -var FileManager1Client = class DashToDock_FileManager1Client { - - constructor() { - this._signalsHandler = new Utils.GlobalSignalsHandler(); - - this._locationMap = new Map(); - this._proxy = new FileManager1Proxy(Gio.DBus.session, - "org.freedesktop.FileManager1", - "/org/freedesktop/FileManager1", - (initable, error) => { - // Use async construction to avoid blocking on errors. - if (error) { - global.log(error); - } else { - this._updateLocationMap(); - } - }); - - this._signalsHandler.add([ - this._proxy, - 'g-properties-changed', - this._onPropertyChanged.bind(this) - ], [ - // We must additionally listen for Screen events to know when to - // rebuild our location map when the set of available windows changes. - global.workspace_manager, - 'workspace-switched', - this._updateLocationMap.bind(this) - ], [ - global.display, - 'window-entered-monitor', - this._updateLocationMap.bind(this) - ], [ - global.display, - 'window-left-monitor', - this._updateLocationMap.bind(this) - ]); - } - - destroy() { - this._signalsHandler.destroy(); - this._proxy.run_dispose(); - } - - /** - * Return an array of windows that are showing a location or - * sub-directories of that location. - */ - getWindows(location) { - let ret = new Set(); - for (let [k,v] of this._locationMap) { - if (k.startsWith(location)) { - for (let l of v) { - ret.add(l); - } - } - } - return Array.from(ret); - } - - _onPropertyChanged(proxy, changed, invalidated) { - let property = changed.unpack(); - if (property && - ('XUbuntuOpenLocationsXids' in property || - 'OpenWindowsWithLocations' in property)) { - this._updateLocationMap(); - } - } - - _updateLocationMap() { - let properties = this._proxy.get_cached_property_names(); - if (properties == null) { - // Nothing to check yet. - return; - } - - if (properties.includes('OpenWindowsWithLocations')) { - this._updateFromPaths(); - } else if (properties.includes('XUbuntuOpenLocationsXids')) { - this._updateFromXids(); - } - } - - _updateFromPaths() { - let pathToLocations = this._proxy.OpenWindowsWithLocations; - let pathToWindow = getPathToWindow(); - - let locationToWindow = new Map(); - for (let path in pathToLocations) { - let locations = pathToLocations[path]; - for (let i = 0; i < locations.length; i++) { - let l = locations[i]; - // Use a set to deduplicate when a window has a - // location open in multiple tabs. - if (!locationToWindow.has(l)) { - locationToWindow.set(l, new Set()); - } - let window = pathToWindow.get(path); - if (window != null) { - locationToWindow.get(l).add(window); - } - } - } - this._locationMap = locationToWindow; - this.emit('windows-changed'); - } - - _updateFromXids() { - let xidToLocations = this._proxy.XUbuntuOpenLocationsXids; - let xidToWindow = getXidToWindow(); - - let locationToWindow = new Map(); - for (let xid in xidToLocations) { - let locations = xidToLocations[xid]; - for (let i = 0; i < locations.length; i++) { - let l = locations[i]; - // Use a set to deduplicate when a window has a - // location open in multiple tabs. - if (!locationToWindow.has(l)) { - locationToWindow.set(l, new Set()); - } - let window = xidToWindow.get(parseInt(xid)); - if (window != null) { - locationToWindow.get(l).add(window); - } - } - } - this._locationMap = locationToWindow; - this.emit('windows-changed'); - } -} -Signals.addSignalMethods(FileManager1Client.prototype); - -/** - * Construct a map of gtk application window object paths to MetaWindows. - */ -function getPathToWindow() { - let pathToWindow = new Map(); - - for (let i = 0; i < global.workspace_manager.n_workspaces; i++) { - let ws = global.workspace_manager.get_workspace_by_index(i); - ws.list_windows().map(function(w) { - let path = w.get_gtk_window_object_path(); - if (path != null) { - pathToWindow.set(path, w); - } - }); - } - return pathToWindow; -} - -/** - * Construct a map of XIDs to MetaWindows. - * - * This is somewhat annoying as you cannot lookup a window by - * XID in any way, and must iterate through all of them looking - * for a match. - */ -function getXidToWindow() { - let xidToWindow = new Map(); - - for (let i = 0; i < global.workspace_manager.n_workspaces; i++) { - let ws = global.workspace_manager.get_workspace_by_index(i); - ws.list_windows().map(function(w) { - let xid = guessWindowXID(w); - if (xid != null) { - xidToWindow.set(parseInt(xid), w); - } - }); - } - return xidToWindow; -} - -/** - * Guesses the X ID of a window. - * - * This is the basic implementation that is sufficient for Nautilus - * windows. The pixel-saver extension has a much more complex - * implementation if we ever need it. - */ -function guessWindowXID(win) { - try { - return win.get_description().match(/0x[0-9a-f]+/)[0]; - } catch (err) { - return null; - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js deleted file mode 100644 index 2fd700ba..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/intellihide.js +++ /dev/null @@ -1,321 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const GLib = imports.gi.GLib; -const Mainloop = imports.mainloop; -const Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; - -const Main = imports.ui.main; -const Signals = imports.signals; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; -const Utils = Me.imports.utils; - -// A good compromise between reactivity and efficiency; to be tuned. -const INTELLIHIDE_CHECK_INTERVAL = 100; - -const OverlapStatus = { - UNDEFINED: -1, - FALSE: 0, - TRUE: 1 -}; - -const IntellihideMode = { - ALL_WINDOWS: 0, - FOCUS_APPLICATION_WINDOWS: 1, - MAXIMIZED_WINDOWS : 2 -}; - -// List of windows type taken into account. Order is important (keep the original -// enum order). -const handledWindowTypes = [ - Meta.WindowType.NORMAL, - Meta.WindowType.DOCK, - Meta.WindowType.DIALOG, - Meta.WindowType.MODAL_DIALOG, - Meta.WindowType.TOOLBAR, - Meta.WindowType.MENU, - Meta.WindowType.UTILITY, - Meta.WindowType.SPLASHSCREEN -]; - -/** - * A rough and ugly implementation of the intellihide behaviour. - * Intallihide object: emit 'status-changed' signal when the overlap of windows - * with the provided targetBoxClutter.ActorBox changes; - */ -var Intellihide = class DashToDock_Intellihide { - - constructor(monitorIndex) { - // Load settings - this._monitorIndex = monitorIndex; - - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._tracker = Shell.WindowTracker.get_default(); - this._focusApp = null; // The application whose window is focused. - this._topApp = null; // The application whose window is on top on the monitor with the dock. - - this._isEnabled = false; - this.status = OverlapStatus.UNDEFINED; - this._targetBox = null; - - this._checkOverlapTimeoutContinue = false; - this._checkOverlapTimeoutId = 0; - - this._trackedWindows = new Map(); - - // Connect global signals - this._signalsHandler.add([ - // Add signals on windows created from now on - global.display, - 'window-created', - this._windowCreated.bind(this) - ], [ - // triggered for instance when the window list order changes, - // included when the workspace is switched - global.display, - 'restacked', - this._checkOverlap.bind(this) - ], [ - // when windows are alwasy on top, the focus window can change - // without the windows being restacked. Thus monitor window focus change. - this._tracker, - 'notify::focus-app', - this._checkOverlap.bind(this) - ], [ - // update wne monitor changes, for instance in multimonitor when monitor are attached - Meta.MonitorManager.get(), - 'monitors-changed', - this._checkOverlap.bind(this) - ]); - } - - destroy() { - // Disconnect global signals - this._signalsHandler.destroy(); - - // Remove residual windows signals - this.disable(); - } - - enable() { - this._isEnabled = true; - this._status = OverlapStatus.UNDEFINED; - global.get_window_actors().forEach(function(wa) { - this._addWindowSignals(wa); - }, this); - this._doCheckOverlap(); - } - - disable() { - this._isEnabled = false; - - for (let wa of this._trackedWindows.keys()) { - this._removeWindowSignals(wa); - } - this._trackedWindows.clear(); - - if (this._checkOverlapTimeoutId > 0) { - Mainloop.source_remove(this._checkOverlapTimeoutId); - this._checkOverlapTimeoutId = 0; - } - } - - _windowCreated(display, metaWindow) { - this._addWindowSignals(metaWindow.get_compositor_private()); - } - - _addWindowSignals(wa) { - if (!this._handledWindow(wa)) - return; - let signalId = wa.connect('allocation-changed', this._checkOverlap.bind(this)); - this._trackedWindows.set(wa, signalId); - wa.connect('destroy', this._removeWindowSignals.bind(this)); - } - - _removeWindowSignals(wa) { - if (this._trackedWindows.get(wa)) { - wa.disconnect(this._trackedWindows.get(wa)); - this._trackedWindows.delete(wa); - } - - } - - updateTargetBox(box) { - this._targetBox = box; - this._checkOverlap(); - } - - forceUpdate() { - this._status = OverlapStatus.UNDEFINED; - this._doCheckOverlap(); - } - - getOverlapStatus() { - return (this._status == OverlapStatus.TRUE); - } - - _checkOverlap() { - if (!this._isEnabled || (this._targetBox == null)) - return; - - /* Limit the number of calls to the doCheckOverlap function */ - if (this._checkOverlapTimeoutId) { - this._checkOverlapTimeoutContinue = true; - return - } - - this._doCheckOverlap(); - - this._checkOverlapTimeoutId = Mainloop.timeout_add(INTELLIHIDE_CHECK_INTERVAL, () => { - this._doCheckOverlap(); - if (this._checkOverlapTimeoutContinue) { - this._checkOverlapTimeoutContinue = false; - return GLib.SOURCE_CONTINUE; - } else { - this._checkOverlapTimeoutId = 0; - return GLib.SOURCE_REMOVE; - } - }); - } - - _doCheckOverlap() { - - if (!this._isEnabled || (this._targetBox == null)) - return; - - let overlaps = OverlapStatus.FALSE; - let windows = global.get_window_actors(); - - if (windows.length > 0) { - /* - * Get the top window on the monitor where the dock is placed. - * The idea is that we dont want to overlap with the windows of the topmost application, - * event is it's not the focused app -- for instance because in multimonitor the user - * select a window in the secondary monitor. - */ - - let topWindow = null; - for (let i = windows.length - 1; i >= 0; i--) { - let meta_win = windows[i].get_meta_window(); - if (this._handledWindow(windows[i]) && (meta_win.get_monitor() == this._monitorIndex)) { - topWindow = meta_win; - break; - } - } - - if (topWindow !== null) { - this._topApp = this._tracker.get_window_app(topWindow); - // If there isn't a focused app, use that of the window on top - this._focusApp = this._tracker.focus_app || this._topApp - - windows = windows.filter(this._intellihideFilterInteresting, this); - - for (let i = 0; i < windows.length; i++) { - let win = windows[i].get_meta_window(); - - if (win) { - let rect = win.get_frame_rect(); - - let test = (rect.x < this._targetBox.x2) && - (rect.x + rect.width > this._targetBox.x1) && - (rect.y < this._targetBox.y2) && - (rect.y + rect.height > this._targetBox.y1); - - if (test) { - overlaps = OverlapStatus.TRUE; - break; - } - } - } - } - } - - if (this._status !== overlaps) { - this._status = overlaps; - this.emit('status-changed', this._status); - } - - } - - // Filter interesting windows to be considered for intellihide. - // Consider all windows visible on the current workspace. - // Optionally skip windows of other applications - _intellihideFilterInteresting(wa) { - let meta_win = wa.get_meta_window(); - if (!this._handledWindow(wa)) - return false; - - let currentWorkspace = global.workspace_manager.get_active_workspace_index(); - let wksp = meta_win.get_workspace(); - let wksp_index = wksp.index(); - - // Depending on the intellihide mode, exclude non-relevent windows - switch (Docking.DockManager.settings.get_enum('intellihide-mode')) { - case IntellihideMode.ALL_WINDOWS: - // Do nothing - break; - - case IntellihideMode.FOCUS_APPLICATION_WINDOWS: - // Skip windows of other apps - if (this._focusApp) { - // The DropDownTerminal extension is not an application per se - // so we match its window by wm class instead - if (meta_win.get_wm_class() == 'DropDownTerminalWindow') - return true; - - let currentApp = this._tracker.get_window_app(meta_win); - let focusWindow = global.display.get_focus_window() - - // Consider half maximized windows side by side - // and windows which are alwayson top - if((currentApp != this._focusApp) && (currentApp != this._topApp) - && !((focusWindow && focusWindow.maximized_vertically && !focusWindow.maximized_horizontally) - && (meta_win.maximized_vertically && !meta_win.maximized_horizontally) - && meta_win.get_monitor() == focusWindow.get_monitor()) - && !meta_win.is_above()) - return false; - } - break; - - case IntellihideMode.MAXIMIZED_WINDOWS: - // Skip unmaximized windows - if (!meta_win.maximized_vertically && !meta_win.maximized_horizontally) - return false; - break; - } - - if ( wksp_index == currentWorkspace && meta_win.showing_on_its_workspace() ) - return true; - else - return false; - - } - - // Filter windows by type - // inspired by Opacify@gnome-shell.localdomain.pl - _handledWindow(wa) { - let metaWindow = wa.get_meta_window(); - - if (!metaWindow) - return false; - - // The DropDownTerminal extension uses the POPUP_MENU window type hint - // so we match its window by wm class instead - if (metaWindow.get_wm_class() == 'DropDownTerminalWindow') - return true; - - let wtype = metaWindow.get_window_type(); - for (let i = 0; i < handledWindowTypes.length; i++) { - var hwtype = handledWindowTypes[i]; - if (hwtype == wtype) - return true; - else if (hwtype > wtype) - return false; - } - return false; - } -}; - -Signals.addSignalMethods(Intellihide.prototype); diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js deleted file mode 100644 index f0b61990..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/launcherAPI.js +++ /dev/null @@ -1,239 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Gio = imports.gi.Gio; -const Signals = imports.signals; - -var LauncherEntryRemoteModel = class DashToDock_LauncherEntryRemoteModel { - - constructor() { - this._entriesByDBusName = {}; - - this._launcher_entry_dbus_signal_id = - Gio.DBus.session.signal_subscribe(null, // sender - 'com.canonical.Unity.LauncherEntry', // iface - null, // member - null, // path - null, // arg0 - Gio.DBusSignalFlags.NONE, - this._onEntrySignalReceived.bind(this)); - - this._dbus_name_owner_changed_signal_id = - Gio.DBus.session.signal_subscribe('org.freedesktop.DBus', // sender - 'org.freedesktop.DBus', // interface - 'NameOwnerChanged', // member - '/org/freedesktop/DBus', // path - null, // arg0 - Gio.DBusSignalFlags.NONE, - this._onDBusNameOwnerChanged.bind(this)); - - this._acquireUnityDBus(); - } - - destroy() { - if (this._launcher_entry_dbus_signal_id) { - Gio.DBus.session.signal_unsubscribe(this._launcher_entry_dbus_signal_id); - } - - if (this._dbus_name_owner_changed_signal_id) { - Gio.DBus.session.signal_unsubscribe(this._dbus_name_owner_changed_signal_id); - } - - this._releaseUnityDBus(); - } - - size() { - return Object.keys(this._entriesByDBusName).length; - } - - lookupByDBusName(dbusName) { - return this._entriesByDBusName.hasOwnProperty(dbusName) ? this._entriesByDBusName[dbusName] : null; - } - - lookupById(appId) { - let ret = []; - for (let dbusName in this._entriesByDBusName) { - let entry = this._entriesByDBusName[dbusName]; - if (entry && entry.appId() == appId) { - ret.push(entry); - } - } - - return ret; - } - - addEntry(entry) { - let existingEntry = this.lookupByDBusName(entry.dbusName()); - if (existingEntry) { - existingEntry.update(entry); - } else { - this._entriesByDBusName[entry.dbusName()] = entry; - this.emit('entry-added', entry); - } - } - - removeEntry(entry) { - delete this._entriesByDBusName[entry.dbusName()] - this.emit('entry-removed', entry); - } - - _acquireUnityDBus() { - if (!this._unity_bus_id) { - Gio.DBus.session.own_name('com.canonical.Unity', - Gio.BusNameOwnerFlags.ALLOW_REPLACEMENT, null, null); - } - } - - _releaseUnityDBus() { - if (this._unity_bus_id) { - Gio.DBus.session.unown_name(this._unity_bus_id); - this._unity_bus_id = 0; - } - } - - _onEntrySignalReceived(connection, sender_name, object_path, - interface_name, signal_name, parameters, user_data) { - if (!parameters || !signal_name) - return; - - if (signal_name == 'Update') { - if (!sender_name) { - return; - } - - this._handleUpdateRequest(sender_name, parameters); - } - } - - _onDBusNameOwnerChanged(connection, sender_name, object_path, - interface_name, signal_name, parameters, user_data) { - if (!parameters || !this.size()) - return; - - let [name, before, after] = parameters.deep_unpack(); - - if (!after) { - if (this._entriesByDBusName.hasOwnProperty(before)) { - this.removeEntry(this._entriesByDBusName[before]); - } - } - } - - _handleUpdateRequest(senderName, parameters) { - if (!senderName || !parameters) { - return; - } - - let [appUri, properties] = parameters.deep_unpack(); - let appId = appUri.replace(/(^\w+:|^)\/\//, ''); - let entry = this.lookupByDBusName(senderName); - - if (entry) { - entry.setDBusName(senderName); - entry.update(properties); - } else { - let entry = new LauncherEntryRemote(senderName, appId, properties); - this.addEntry(entry); - } - } -}; -Signals.addSignalMethods(LauncherEntryRemoteModel.prototype); - -var LauncherEntryRemote = class DashToDock_LauncherEntryRemote { - - constructor(dbusName, appId, properties) { - this._dbusName = dbusName; - this._appId = appId; - this._count = 0; - this._countVisible = false; - this._progress = 0.0; - this._progressVisible = false; - this.update(properties); - } - - appId() { - return this._appId; - } - - dbusName() { - return this._dbusName; - } - - count() { - return this._count; - } - - setCount(count) { - if (this._count != count) { - this._count = count; - this.emit('count-changed', this._count); - } - } - - countVisible() { - return this._countVisible; - } - - setCountVisible(countVisible) { - if (this._countVisible != countVisible) { - this._countVisible = countVisible; - this.emit('count-visible-changed', this._countVisible); - } - } - - progress() { - return this._progress; - } - - setProgress(progress) { - if (this._progress != progress) { - this._progress = progress; - this.emit('progress-changed', this._progress); - } - } - - progressVisible() { - return this._progressVisible; - } - - setProgressVisible(progressVisible) { - if (this._progressVisible != progressVisible) { - this._progressVisible = progressVisible; - this.emit('progress-visible-changed', this._progressVisible); - } - } - - setDBusName(dbusName) { - if (this._dbusName != dbusName) { - let oldName = this._dbusName; - this._dbusName = dbusName; - this.emit('dbus-name-changed', oldName); - } - } - - update(other) { - if (other instanceof LauncherEntryRemote) { - this.setDBusName(other.dbusName()) - this.setCount(other.count()); - this.setCountVisible(other.countVisible()); - this.setProgress(other.progress()); - this.setProgressVisible(other.progressVisible()) - } else { - for (let property in other) { - if (other.hasOwnProperty(property)) { - if (property == 'count') { - this.setCount(other[property].get_int64()); - } else if (property == 'count-visible') { - this.setCountVisible(other[property].get_boolean()); - } if (property == 'progress') { - this.setProgress(other[property].get_double()); - } else if (property == 'progress-visible') { - this.setProgressVisible(other[property].get_boolean()); - } else { - // Not implemented yet - } - } - } - } - } -}; -Signals.addSignalMethods(LauncherEntryRemote.prototype); diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ar/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ar/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 15b1360f7527279aeff105d1dbaf418f3cdd590b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8344 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/cs/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/cs/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index e5ac24b3e44f6dcd77a58eaa1dc85f6654ddf553..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10069 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 S364bSVt&dpj3ED&q5cPz?N*oo diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/de/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/de/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index f7b2ed5d7df55c366fd7e3e10f644829af6eb948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8726 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 GNcFJ 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/hu/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/hu/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 610c61a4a3f51574186f822f49033b44d0993a67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9317 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/it/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/it/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index dc3ccb95ff7fb0ec10c53e4a53158dcec8025283..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9935 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 YGq)_z(?mOMJ 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 E0u(K4R{#J2 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nl/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/nl/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 9b39fb14f94479de4d16eed2255e2bcff2c10524..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5017 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ru/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/ru/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 757906bd96d4b3d5ddf76424147641034c15625f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12666 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sk/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sk/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 2457462deff91076472fd39d1962195b47d615d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6331 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 JI`M1!{{qK~D}4X} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr@latin/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sr@latin/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index a4a0662701dafd688f121517fd5522c98e38926d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8865 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 G@qYkZ|0~}B diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sv/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/sv/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 58f5c728dc31cfb7794986003c0a75c37117c341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9532 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 Q=ve}&HaAsVIbS{hFR>~nDF6Tf diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/tr/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/tr/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 49fb0f16c071fd47bb06279ef736b40c37e4a85b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9771 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/uk_UA/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/uk_UA/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index a475c96e2e0d6cc93a45fbc49eaf6d316920e592..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15770 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_CN/LC_MESSAGES/dashtodock.mo b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/locale/zh_CN/LC_MESSAGES/dashtodock.mo deleted file mode 100644 index 5511cf8d5d6b6507c724233155a2a6c8a59d998f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8335 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 m5h&y { - this._onVolumeAdded(this._monitor, volume); - } - ); - - this._monitor.get_mounts().forEach( - (mount) => { - this._onMountAdded(this._monitor, mount); - } - ); - - this._signalsHandler.add([ - this._monitor, - 'mount-added', - this._onMountAdded.bind(this) - ], [ - this._monitor, - 'mount-removed', - this._onMountRemoved.bind(this) - ], [ - this._monitor, - 'volume-added', - this._onVolumeAdded.bind(this) - ], [ - this._monitor, - 'volume-removed', - this._onVolumeRemoved.bind(this) - ]); - } - - destroy() { - this._signalsHandler.destroy(); - this._monitor.run_dispose(); - } - - _getWorkingIconName(icon) { - if (icon instanceof Gio.ThemedIcon) { - let iconTheme = Gtk.IconTheme.get_default(); - let names = icon.get_names(); - for (let i = 0; i < names.length; i++) { - let iconName = names[i]; - if (iconTheme.has_icon(iconName)) { - return iconName; - } - } - return ''; - } else { - return icon.to_string(); - } - } - - _onVolumeAdded(monitor, volume) { - if (!volume.can_mount()) { - return; - } - - let activationRoot = volume.get_activation_root(); - if (!activationRoot) { - // Can't offer to mount a device if we don't know - // where to mount it. - // These devices are usually ejectable so you - // don't normally unmount them anyway. - return; - } - let uri = GLib.uri_unescape_string(activationRoot.get_uri(), null); - - let volumeKeys = new GLib.KeyFile(); - volumeKeys.set_string('Desktop Entry', 'Name', volume.get_name()); - volumeKeys.set_string('Desktop Entry', 'Icon', this._getWorkingIconName(volume.get_icon())); - volumeKeys.set_string('Desktop Entry', 'Type', 'Application'); - volumeKeys.set_string('Desktop Entry', 'Exec', 'nautilus "' + uri + '"'); - volumeKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); - volumeKeys.set_string('Desktop Entry', 'Actions', 'mount;'); - volumeKeys.set_string('Desktop Action mount', 'Name', __('Mount')); - volumeKeys.set_string('Desktop Action mount', 'Exec', 'gio mount "' + uri + '"'); - let volumeAppInfo = Gio.DesktopAppInfo.new_from_keyfile(volumeKeys); - let volumeApp = new Shell.App({appInfo: volumeAppInfo}); - this._volumeApps.push(volumeApp); - this.emit('changed'); - } - - _onVolumeRemoved(monitor, volume) { - for (let i = 0; i < this._volumeApps.length; i++) { - let app = this._volumeApps[i]; - if (app.get_name() == volume.get_name()) { - this._volumeApps.splice(i, 1); - } - } - this.emit('changed'); - } - - _onMountAdded(monitor, mount) { - // Filter out uninteresting mounts - if (!mount.can_eject() && !mount.can_unmount()) - return; - if (mount.is_shadowed()) - return; - - let volume = mount.get_volume(); - if (!volume || volume.get_identifier('class') == 'network') { - return; - } - - let escapedUri = mount.get_root().get_uri() - let uri = GLib.uri_unescape_string(escapedUri, null); - - let mountKeys = new GLib.KeyFile(); - mountKeys.set_string('Desktop Entry', 'Name', mount.get_name()); - mountKeys.set_string('Desktop Entry', 'Icon', - this._getWorkingIconName(volume.get_icon())); - mountKeys.set_string('Desktop Entry', 'Type', 'Application'); - mountKeys.set_string('Desktop Entry', 'Exec', 'gio open "' + uri + '"'); - mountKeys.set_string('Desktop Entry', 'StartupNotify', 'false'); - mountKeys.set_string('Desktop Entry', 'XdtdUri', escapedUri); - mountKeys.set_string('Desktop Entry', 'Actions', 'unmount;'); - if (mount.can_eject()) { - mountKeys.set_string('Desktop Action unmount', 'Name', __('Eject')); - mountKeys.set_string('Desktop Action unmount', 'Exec', - 'gio mount -e "' + uri + '"'); - } else { - mountKeys.set_string('Desktop Entry', 'Actions', 'unmount;'); - mountKeys.set_string('Desktop Action unmount', 'Name', __('Unmount')); - mountKeys.set_string('Desktop Action unmount', 'Exec', - 'gio mount -u "' + uri + '"'); - } - let mountAppInfo = Gio.DesktopAppInfo.new_from_keyfile(mountKeys); - let mountApp = new Shell.App({appInfo: mountAppInfo}); - this._mountApps.push(mountApp); - this.emit('changed'); - } - - _onMountRemoved(monitor, mount) { - for (let i = 0; i < this._mountApps.length; i++) { - let app = this._mountApps[i]; - if (app.get_name() == mount.get_name()) { - this._mountApps.splice(i, 1); - } - } - this.emit('changed'); - } - - getApps() { - // When we have both a volume app and a mount app, we prefer - // the mount app. - let apps = new Map(); - this._volumeApps.map(function(app) { - apps.set(app.get_name(), app); - }); - this._mountApps.map(function(app) { - apps.set(app.get_name(), app); - }); - - let ret = []; - for (let app of apps.values()) { - ret.push(app); - } - return ret; - } -} -Signals.addSignalMethods(Removables.prototype); diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg deleted file mode 100644 index 55b71baa..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/glossy.svg +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg deleted file mode 100644 index 19be5a9d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg deleted file mode 100644 index eeaa8691..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/highlight_stacked_bg_h.svg +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg deleted file mode 100644 index eebd0b1d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/media/logo.svg +++ /dev/null @@ -1,528 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Dash to Dock - Michele - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json deleted file mode 100644 index a58baa03..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/metadata.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "_generated": "Generated by SweetTooth, do not edit", - "description": "A dock for the Gnome Shell. This extension moves the dash out of the overview transforming it in a dock for an easier launching of applications and a faster switching between windows and desktops. Side and bottom placement options are available.", - "gettext-domain": "dashtodock", - "name": "Dash to Dock", - "original-author": "micxgx@gmail.com", - "shell-version": [ - "3.34" - ], - "url": "https://micheleg.github.io/dash-to-dock/", - "uuid": "dash-to-dock@micxgx.gmail.com", - "version": 67 -} \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js deleted file mode 100644 index 55230298..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/prefs.js +++ /dev/null @@ -1,869 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -const Gio = imports.gi.Gio; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const Gtk = imports.gi.Gtk; -const Gdk = imports.gi.Gdk; -const Mainloop = imports.mainloop; - -// Use __ () and N__() for the extension gettext domain, and reuse -// the shell domain with the default _() and N_() -const Gettext = imports.gettext.domain('dashtodock'); -const __ = Gettext.gettext; -const N__ = function(e) { return e }; - -const ExtensionUtils = imports.misc.extensionUtils; -const Me = ExtensionUtils.getCurrentExtension(); - -const SCALE_UPDATE_TIMEOUT = 500; -const DEFAULT_ICONS_SIZES = [ 128, 96, 64, 48, 32, 24, 16 ]; - -const TransparencyMode = { - DEFAULT: 0, - FIXED: 1, - DYNAMIC: 3 -}; - -const RunningIndicatorStyle = { - DEFAULT: 0, - DOTS: 1, - SQUARES: 2, - DASHES: 3, - SEGMENTED: 4, - SOLID: 5, - CILIORA: 6, - METRO: 7 -}; - -/** - * This function was copied from the activities-config extension - * https://github.com/nls1729/acme-code/tree/master/activities-config - * by Norman L. Smith. - */ -function cssHexString(css) { - let rrggbb = '#'; - let start; - for (let loop = 0; loop < 3; loop++) { - let end = 0; - let xx = ''; - for (let loop = 0; loop < 2; loop++) { - while (true) { - let x = css.slice(end, end + 1); - if ((x == '(') || (x == ',') || (x == ')')) - break; - end++; - } - if (loop == 0) { - end++; - start = end; - } - } - xx = parseInt(css.slice(start, end)).toString(16); - if (xx.length == 1) - xx = '0' + xx; - rrggbb += xx; - css = css.slice(end); - } - return rrggbb; -} - -function setShortcut(settings) { - let shortcut_text = settings.get_string('shortcut-text'); - let [key, mods] = Gtk.accelerator_parse(shortcut_text); - - if (Gtk.accelerator_valid(key, mods)) { - let shortcut = Gtk.accelerator_name(key, mods); - settings.set_strv('shortcut', [shortcut]); - } - else { - settings.set_strv('shortcut', []); - } -} - -var Settings = class DashToDock_Settings { - - constructor() { - this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.dash-to-dock'); - - this._rtl = (Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL); - - this._builder = new Gtk.Builder(); - this._builder.set_translation_domain(Me.metadata['gettext-domain']); - this._builder.add_from_file(Me.path + '/Settings.ui'); - - this.widget = new Gtk.ScrolledWindow({ hscrollbar_policy: Gtk.PolicyType.NEVER }); - this._notebook = this._builder.get_object('settings_notebook'); - this.widget.add(this._notebook); - - // Set a reasonable initial window height - this.widget.connect('realize', () => { - let window = this.widget.get_toplevel(); - let [default_width, default_height] = window.get_default_size(); - window.resize(default_width, 650); - }); - - // Timeout to delay the update of the settings - this._dock_size_timeout = 0; - this._icon_size_timeout = 0; - this._opacity_timeout = 0; - - this._bindSettings(); - - this._builder.connect_signals_full(this._connector.bind(this)); - } - - /** - * Connect signals - */ - _connector(builder, object, signal, handler) { - /**init - * Object containing all signals defined in the glade file - */ - const SignalHandler = { - dock_display_combo_changed_cb(combo) { - this._settings.set_int('preferred-monitor', this._monitors[combo.get_active()]); - }, - - position_top_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 0); - }, - - position_right_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 1); - }, - - position_bottom_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 2); - }, - - position_left_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('dock-position', 3); - }, - - icon_size_combo_changed_cb(combo) { - this._settings.set_int('dash-max-icon-size', this._allIconSizes[combo.get_active()]); - }, - - dock_size_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - dock_size_scale_value_changed_cb(scale) { - // Avoid settings the size consinuosly - if (this._dock_size_timeout > 0) - Mainloop.source_remove(this._dock_size_timeout); - - this._dock_size_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('height-fraction', scale.get_value()); - this._dock_size_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - icon_size_scale_format_value_cb(scale, value) { - return value + ' px'; - }, - - icon_size_scale_value_changed_cb(scale) { - // Avoid settings the size consinuosly - if (this._icon_size_timeout > 0) - Mainloop.source_remove(this._icon_size_timeout); - - this._icon_size_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_int('dash-max-icon-size', scale.get_value()); - this._icon_size_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - custom_opacity_scale_value_changed_cb(scale) { - // Avoid settings the opacity consinuosly as it's change is animated - if (this._opacity_timeout > 0) - Mainloop.source_remove(this._opacity_timeout); - - this._opacity_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('background-opacity', scale.get_value()); - this._opacity_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - min_opacity_scale_value_changed_cb(scale) { - // Avoid settings the opacity consinuosly as it's change is animated - if (this._opacity_timeout > 0) - Mainloop.source_remove(this._opacity_timeout); - - this._opacity_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('min-alpha', scale.get_value()); - this._opacity_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - max_opacity_scale_value_changed_cb(scale) { - // Avoid settings the opacity consinuosly as it's change is animated - if (this._opacity_timeout > 0) - Mainloop.source_remove(this._opacity_timeout); - - this._opacity_timeout = Mainloop.timeout_add(SCALE_UPDATE_TIMEOUT, () => { - this._settings.set_double('max-alpha', scale.get_value()); - this._opacity_timeout = 0; - return GLib.SOURCE_REMOVE; - }); - }, - - custom_opacity_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - min_opacity_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - max_opacity_scale_format_value_cb(scale, value) { - return Math.round(value * 100) + ' %'; - }, - - all_windows_radio_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('intellihide-mode', 0); - }, - - focus_application_windows_radio_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('intellihide-mode', 1); - }, - - maximized_windows_radio_button_toggled_cb(button) { - if (button.get_active()) - this._settings.set_enum('intellihide-mode', 2); - } - } - - object.connect(signal, SignalHandler[handler].bind(this)); - } - - _bindSettings() { - // Position and size panel - - // Monitor options - - this._monitors = []; - // Build options based on the number of monitors and the current settings. - let n_monitors = Gdk.Screen.get_default().get_n_monitors(); - let primary_monitor = Gdk.Screen.get_default().get_primary_monitor(); - - let monitor = this._settings.get_int('preferred-monitor'); - - // Add primary monitor with index 0, because in GNOME Shell the primary monitor is always 0 - this._builder.get_object('dock_monitor_combo').append_text(__('Primary monitor')); - this._monitors.push(0); - - // Add connected monitors - let ctr = 0; - for (let i = 0; i < n_monitors; i++) { - if (i !== primary_monitor) { - ctr++; - this._monitors.push(ctr); - this._builder.get_object('dock_monitor_combo').append_text(__('Secondary monitor ') + ctr); - } - } - - // If one of the external monitor is set as preferred, show it even if not attached - if ((monitor >= n_monitors) && (monitor !== primary_monitor)) { - this._monitors.push(monitor) - this._builder.get_object('dock_monitor_combo').append_text(__('Secondary monitor ') + ++ctr); - } - - this._builder.get_object('dock_monitor_combo').set_active(this._monitors.indexOf(monitor)); - - // Position option - let position = this._settings.get_enum('dock-position'); - - switch (position) { - case 0: - this._builder.get_object('position_top_button').set_active(true); - break; - case 1: - this._builder.get_object('position_right_button').set_active(true); - break; - case 2: - this._builder.get_object('position_bottom_button').set_active(true); - break; - case 3: - this._builder.get_object('position_left_button').set_active(true); - break; - } - - if (this._rtl) { - /* Left is Right in rtl as a setting */ - this._builder.get_object('position_left_button').set_label(__('Right')); - this._builder.get_object('position_right_button').set_label(__('Left')); - } - - // Intelligent autohide options - this._settings.bind('dock-fixed', - this._builder.get_object('intelligent_autohide_switch'), - 'active', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('dock-fixed', - this._builder.get_object('intelligent_autohide_button'), - 'sensitive', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('autohide', - this._builder.get_object('autohide_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('autohide-in-fullscreen', - this._builder.get_object('autohide_enable_in_fullscreen_checkbutton'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('require_pressure_checkbutton'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('intellihide', - this._builder.get_object('intellihide_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('animation-time', - this._builder.get_object('animation_duration_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('hide-delay', - this._builder.get_object('hide_timeout_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-delay', - this._builder.get_object('show_timeout_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('pressure-threshold', - this._builder.get_object('pressure_threshold_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - - //this._builder.get_object('animation_duration_spinbutton').set_value(this._settings.get_double('animation-time')); - - // Create dialog for intelligent autohide advanced settings - this._builder.get_object('intelligent_autohide_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Intelligent autohide customization'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - // GTK+ leaves positive values for application-defined response ids. - // Use +1 for the reset action - dialog.add_button(__('Reset to defaults'), 1); - - let box = this._builder.get_object('intelligent_autohide_advanced_settings_box'); - dialog.get_content_area().add(box); - - this._settings.bind('intellihide', - this._builder.get_object('intellihide_mode_box'), - 'sensitive', - Gio.SettingsBindFlags.GET); - - // intellihide mode - - let intellihideModeRadioButtons = [ - this._builder.get_object('all_windows_radio_button'), - this._builder.get_object('focus_application_windows_radio_button'), - this._builder.get_object('maximized_windows_radio_button') - ]; - - intellihideModeRadioButtons[this._settings.get_enum('intellihide-mode')].set_active(true); - - this._settings.bind('autohide', - this._builder.get_object('require_pressure_checkbutton'), - 'sensitive', - Gio.SettingsBindFlags.GET); - - this._settings.bind('autohide', - this._builder.get_object('autohide_enable_in_fullscreen_checkbutton'), - 'sensitive', - Gio.SettingsBindFlags.GET); - - this._settings.bind('require-pressure-to-show', - this._builder.get_object('show_timeout_spinbutton'), - 'sensitive', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('show_timeout_label'), - 'sensitive', - Gio.SettingsBindFlags.INVERT_BOOLEAN); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('pressure_threshold_spinbutton'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('require-pressure-to-show', - this._builder.get_object('pressure_threshold_label'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - - dialog.connect('response', (dialog, id) => { - if (id == 1) { - // restore default settings for the relevant keys - let keys = ['intellihide', 'autohide', 'intellihide-mode', 'autohide-in-fullscreen', 'require-pressure-to-show', - 'animation-time', 'show-delay', 'hide-delay', 'pressure-threshold']; - keys.forEach(function(val) { - this._settings.set_value(val, this._settings.get_default_value(val)); - }, this); - intellihideModeRadioButtons[this._settings.get_enum('intellihide-mode')].set_active(true); - } else { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - } - return; - }); - - dialog.show_all(); - - }); - - // size options - this._builder.get_object('dock_size_scale').set_value(this._settings.get_double('height-fraction')); - this._builder.get_object('dock_size_scale').add_mark(0.9, Gtk.PositionType.TOP, null); - let icon_size_scale = this._builder.get_object('icon_size_scale'); - icon_size_scale.set_range(8, DEFAULT_ICONS_SIZES[0]); - icon_size_scale.set_value(this._settings.get_int('dash-max-icon-size')); - DEFAULT_ICONS_SIZES.forEach(function(val) { - icon_size_scale.add_mark(val, Gtk.PositionType.TOP, val.toString()); - }); - - // Corrent for rtl languages - if (this._rtl) { - // Flip value position: this is not done automatically - this._builder.get_object('dock_size_scale').set_value_pos(Gtk.PositionType.LEFT); - icon_size_scale.set_value_pos(Gtk.PositionType.LEFT); - // I suppose due to a bug, having a more than one mark and one above a value of 100 - // makes the rendering of the marks wrong in rtl. This doesn't happen setting the scale as not flippable - // and then manually inverting it - icon_size_scale.set_flippable(false); - icon_size_scale.set_inverted(true); - } - - this._settings.bind('icon-size-fixed', this._builder.get_object('icon_size_fixed_checkbutton'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('extend-height', this._builder.get_object('dock_size_extend_checkbutton'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('extend-height', this._builder.get_object('dock_size_scale'), 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN); - - - // Apps panel - - this._settings.bind('show-running', - this._builder.get_object('show_running_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('isolate-workspaces', - this._builder.get_object('application_button_isolation_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('isolate-monitors', - this._builder.get_object('application_button_monitor_isolation_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-windows-preview', - this._builder.get_object('windows_preview_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('multi-monitor', - this._builder.get_object('multi_monitor_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-favorites', - this._builder.get_object('show_favorite_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-trash', - this._builder.get_object('show_trash_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-mounts', - this._builder.get_object('show_mounts_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-show-apps-button', - this._builder.get_object('show_applications_button_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-apps-at-top', - this._builder.get_object('application_button_first_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-show-apps-button', - this._builder.get_object('application_button_first_button'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('animate-show-apps', - this._builder.get_object('application_button_animation_button'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('show-show-apps-button', - this._builder.get_object('application_button_animation_button'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - - - // Behavior panel - - this._settings.bind('hot-keys', - this._builder.get_object('hot_keys_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('hot-keys', - this._builder.get_object('overlay_button'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT); - - this._builder.get_object('click_action_combo').set_active(this._settings.get_enum('click-action')); - this._builder.get_object('click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('click-action', widget.get_active()); - }); - - this._builder.get_object('scroll_action_combo').set_active(this._settings.get_enum('scroll-action')); - this._builder.get_object('scroll_action_combo').connect('changed', (widget) => { - this._settings.set_enum('scroll-action', widget.get_active()); - }); - - this._builder.get_object('shift_click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('shift-click-action', widget.get_active()); - }); - - this._builder.get_object('middle_click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('middle-click-action', widget.get_active()); - }); - this._builder.get_object('shift_middle_click_action_combo').connect('changed', (widget) => { - this._settings.set_enum('shift-middle-click-action', widget.get_active()); - }); - - // Create dialog for number overlay options - this._builder.get_object('overlay_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Show dock and application numbers'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - // GTK+ leaves positive values for application-defined response ids. - // Use +1 for the reset action - dialog.add_button(__('Reset to defaults'), 1); - - let box = this._builder.get_object('box_overlay_shortcut'); - dialog.get_content_area().add(box); - - this._builder.get_object('overlay_switch').set_active(this._settings.get_boolean('hotkeys-overlay')); - this._builder.get_object('show_dock_switch').set_active(this._settings.get_boolean('hotkeys-show-dock')); - - // We need to update the shortcut 'strv' when the text is modified - this._settings.connect('changed::shortcut-text', () => {setShortcut(this._settings);}); - this._settings.bind('shortcut-text', - this._builder.get_object('shortcut_entry'), - 'text', - Gio.SettingsBindFlags.DEFAULT); - - this._settings.bind('hotkeys-overlay', - this._builder.get_object('overlay_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('hotkeys-show-dock', - this._builder.get_object('show_dock_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('shortcut-timeout', - this._builder.get_object('timeout_spinbutton'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - - dialog.connect('response', (dialog, id) => { - if (id == 1) { - // restore default settings for the relevant keys - let keys = ['shortcut-text', 'hotkeys-overlay', 'hotkeys-show-dock', 'shortcut-timeout']; - keys.forEach(function(val) { - this._settings.set_value(val, this._settings.get_default_value(val)); - }, this); - } else { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - } - return; - }); - - dialog.show_all(); - }); - - // Create dialog for middle-click options - this._builder.get_object('middle_click_options_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Customize middle-click behavior'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - // GTK+ leaves positive values for application-defined response ids. - // Use +1 for the reset action - dialog.add_button(__('Reset to defaults'), 1); - - let box = this._builder.get_object('box_middle_click_options'); - dialog.get_content_area().add(box); - - this._builder.get_object('shift_click_action_combo').set_active(this._settings.get_enum('shift-click-action')); - - this._builder.get_object('middle_click_action_combo').set_active(this._settings.get_enum('middle-click-action')); - - this._builder.get_object('shift_middle_click_action_combo').set_active(this._settings.get_enum('shift-middle-click-action')); - - this._settings.bind('shift-click-action', - this._builder.get_object('shift_click_action_combo'), - 'active-id', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('middle-click-action', - this._builder.get_object('middle_click_action_combo'), - 'active-id', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('shift-middle-click-action', - this._builder.get_object('shift_middle_click_action_combo'), - 'active-id', - Gio.SettingsBindFlags.DEFAULT); - - dialog.connect('response', (dialog, id) => { - if (id == 1) { - // restore default settings for the relevant keys - let keys = ['shift-click-action', 'middle-click-action', 'shift-middle-click-action']; - keys.forEach(function(val) { - this._settings.set_value(val, this._settings.get_default_value(val)); - }, this); - this._builder.get_object('shift_click_action_combo').set_active(this._settings.get_enum('shift-click-action')); - this._builder.get_object('middle_click_action_combo').set_active(this._settings.get_enum('middle-click-action')); - this._builder.get_object('shift_middle_click_action_combo').set_active(this._settings.get_enum('shift-middle-click-action')); - } else { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - } - return; - }); - - dialog.show_all(); - - }); - - // Appearance Panel - - this._settings.bind('apply-custom-theme', this._builder.get_object('customize_theme'), 'sensitive', Gio.SettingsBindFlags.INVERT_BOOLEAN | Gio.SettingsBindFlags.GET); - this._settings.bind('apply-custom-theme', this._builder.get_object('builtin_theme_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('custom-theme-shrink', this._builder.get_object('shrink_dash_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); - - // Running indicators - this._builder.get_object('running_indicators_combo').set_active( - this._settings.get_enum('running-indicator-style') - ); - this._builder.get_object('running_indicators_combo').connect( - 'changed', - (widget) => { - this._settings.set_enum('running-indicator-style', widget.get_active()); - } - ); - - if (this._settings.get_enum('running-indicator-style') == RunningIndicatorStyle.DEFAULT) - this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(false); - - this._settings.connect('changed::running-indicator-style', () => { - if (this._settings.get_enum('running-indicator-style') == RunningIndicatorStyle.DEFAULT) - this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(false); - else - this._builder.get_object('running_indicators_advance_settings_button').set_sensitive(true); - }); - - // Create dialog for running indicators advanced settings - this._builder.get_object('running_indicators_advance_settings_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Customize running indicators'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - let box = this._builder.get_object('running_dots_advance_settings_box'); - dialog.get_content_area().add(box); - - this._settings.bind('running-indicator-dominant-color', - this._builder.get_object('dominant_color_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - - this._settings.bind('custom-theme-customize-running-dots', - this._builder.get_object('dot_style_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('custom-theme-customize-running-dots', - this._builder.get_object('dot_style_settings_box'), - 'sensitive', Gio.SettingsBindFlags.DEFAULT); - - let rgba = new Gdk.RGBA(); - rgba.parse(this._settings.get_string('custom-theme-running-dots-color')); - this._builder.get_object('dot_color_colorbutton').set_rgba(rgba); - - this._builder.get_object('dot_color_colorbutton').connect('notify::color', (button) => { - let rgba = button.get_rgba(); - let css = rgba.to_string(); - let hexString = cssHexString(css); - this._settings.set_string('custom-theme-running-dots-color', hexString); - }); - - rgba.parse(this._settings.get_string('custom-theme-running-dots-border-color')); - this._builder.get_object('dot_border_color_colorbutton').set_rgba(rgba); - - this._builder.get_object('dot_border_color_colorbutton').connect('notify::color', (button) => { - let rgba = button.get_rgba(); - let css = rgba.to_string(); - let hexString = cssHexString(css); - this._settings.set_string('custom-theme-running-dots-border-color', hexString); - }); - - this._settings.bind('custom-theme-running-dots-border-width', - this._builder.get_object('dot_border_width_spin_button'), - 'value', - Gio.SettingsBindFlags.DEFAULT); - - - dialog.connect('response', (dialog, id) => { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - return; - }); - - dialog.show_all(); - - }); - - this._settings.bind('custom-background-color', this._builder.get_object('custom_background_color_switch'), 'active', Gio.SettingsBindFlags.DEFAULT); - this._settings.bind('custom-background-color', this._builder.get_object('custom_background_color'), 'sensitive', Gio.SettingsBindFlags.DEFAULT); - - let rgba = new Gdk.RGBA(); - rgba.parse(this._settings.get_string('background-color')); - this._builder.get_object('custom_background_color').set_rgba(rgba); - - this._builder.get_object('custom_background_color').connect('notify::color', (button) => { - let rgba = button.get_rgba(); - let css = rgba.to_string(); - let hexString = cssHexString(css); - this._settings.set_string('background-color', hexString); - }); - - // Opacity - this._builder.get_object('customize_opacity_combo').set_active_id( - this._settings.get_enum('transparency-mode').toString() - ); - this._builder.get_object('customize_opacity_combo').connect( - 'changed', - (widget) => { - this._settings.set_enum('transparency-mode', parseInt(widget.get_active_id())); - } - ); - - this._builder.get_object('custom_opacity_scale').set_value(this._settings.get_double('background-opacity')); - - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.FIXED) - this._builder.get_object('custom_opacity_scale').set_sensitive(false); - - this._settings.connect('changed::transparency-mode', () => { - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.FIXED) - this._builder.get_object('custom_opacity_scale').set_sensitive(false); - else - this._builder.get_object('custom_opacity_scale').set_sensitive(true); - }); - - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.DYNAMIC) { - this._builder.get_object('dynamic_opacity_button').set_sensitive(false); - } - - this._settings.connect('changed::transparency-mode', () => { - if (this._settings.get_enum('transparency-mode') !== TransparencyMode.DYNAMIC) { - this._builder.get_object('dynamic_opacity_button').set_sensitive(false); - } - else { - this._builder.get_object('dynamic_opacity_button').set_sensitive(true); - } - }); - - // Create dialog for transparency advanced settings - this._builder.get_object('dynamic_opacity_button').connect('clicked', () => { - - let dialog = new Gtk.Dialog({ title: __('Cutomize opacity'), - transient_for: this.widget.get_toplevel(), - use_header_bar: true, - modal: true }); - - let box = this._builder.get_object('advanced_transparency_dialog'); - dialog.get_content_area().add(box); - - this._settings.bind( - 'customize-alphas', - this._builder.get_object('customize_alphas_switch'), - 'active', - Gio.SettingsBindFlags.DEFAULT - ); - this._settings.bind( - 'customize-alphas', - this._builder.get_object('min_alpha_scale'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT - ); - this._settings.bind( - 'customize-alphas', - this._builder.get_object('max_alpha_scale'), - 'sensitive', - Gio.SettingsBindFlags.DEFAULT - ); - - this._builder.get_object('min_alpha_scale').set_value( - this._settings.get_double('min-alpha') - ); - this._builder.get_object('max_alpha_scale').set_value( - this._settings.get_double('max-alpha') - ); - - dialog.connect('response', (dialog, id) => { - // remove the settings box so it doesn't get destroyed; - dialog.get_content_area().remove(box); - dialog.destroy(); - return; - }); - - dialog.show_all(); - }); - - - this._settings.bind('unity-backlit-items', - this._builder.get_object('unity_backlit_items_switch'), - 'active', Gio.SettingsBindFlags.DEFAULT - ); - - this._settings.bind('force-straight-corner', - this._builder.get_object('force_straight_corner_switch'), - 'active', Gio.SettingsBindFlags.DEFAULT); - - // About Panel - - this._builder.get_object('extension_version').set_label(Me.metadata.version.toString()); - } -}; - -function init() { - ExtensionUtils.initTranslations(); -} - -function buildPrefsWidget() { - let settings = new Settings(); - let widget = settings.widget; - widget.show_all(); - return widget; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/gschemas.compiled b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/gschemas.compiled deleted file mode 100644 index 4dcbc356d191bd4d3358682c98f76b345cf1bb24..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7109 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 diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml deleted file mode 100644 index 65a0c10f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/schemas/org.gnome.shell.extensions.dash-to-dock.gschema.xml +++ /dev/null @@ -1,550 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 'LEFT' - Dock position - Dock is shown on the Left, Right, Top or Bottom side of the screen. - - - 0.2 - Animation time - Sets the time duration of the autohide effect. - - - 0.25 - Show delay - Sets the delay after the mouse reaches the screen border before showing the dock. - - - 0.20 - Show delay - Sets the delay after the mouse left the dock before hiding it. - - - false - Set a custom dash background background color - Sets the color for the dash background. - - - "#ffffff" - Dash background color. - Customize the background color of the dash. - - - 'DEFAULT' - Transparency mode for the dock - FIXED: constant transparency. DYNAMIC: dock takes the opaque style only when windows are close to it. - - - 'DEFAULT' - ... - DEFAULT: .... DOTS: .... - - - false - Use application icon dominant color for the indicator color - - - - false - Manually set the min and max opacity - For the dynamic mode, the min/max opacity values will be given by 'min-alpha' and 'max-alpha'. - - - 0.2 - Opacity of the dash background when free-floating - Sets the opacity of the dash background when no windows are close. - - - 0.8 - Opacity of the dash background when windows are close. - Sets the opacity of the dash background when windows are close. - - - 0.8 - Opacity of the dash background - Sets the opacity of the dash background when in autohide mode. - - - true - Dock dodges windows - Enable or disable intellihide mode - - - 'FOCUS_APPLICATION_WINDOWS' - Define which windows are considered for intellihide. - - - - true - Dock shown on mouse over - Enable or disable autohide mode - - - true - Require pressure to show dash - Enable or disable requiring pressure to show the dash - - - 100 - Pressure threshold - Sets how much pressure is needed to show the dash. - - - false - Enable autohide in fullscreen mode. - Enable autohide in fullscreen mode. - - - false - Dock always visible - Dock is always visible - - - true - Switch workspace by scrolling over the dock - Add the possibility to switch workspace by mouse scrolling over the dock. - - - 48 - Maximum dash icon size - Set the allowed maximum dash icon size. Allowed range: 16..64. - - - false - Fixed icon size - Keep the icon size fived by scrolling the dock. - - - false - Apply custom theme - Apply customization to the dash appearance - - - false - TODO - TODO - - - false - Customize the style of the running application indicators. - Customize the style of the running application indicators. - - - "#ffffff" - Running application indicators color - Customize the color of the running application indicators. - - - "#ffffff" - Running application indicators border color. - Customize the border color of the running application indicators. - - - 0 - Running application indicators border width. - Customize the border width of the running application indicators. - - - true - Show running apps - Show or hide running appplications icons in the dash - - - false - Provide workspace isolation - Dash shows only windows from the currentworkspace - - - false - Provide monitor isolation - Dash shows only windows from the monitor - - - true - Show preview of the open windows - Replace open windows list with windows previews - - - true - Show favorites apps - Show or hide favorite appplications icons in the dash - - - true - Show trash can - Show or hide the trash can icon in the dash - - - true - Show mounted volumes and devices - Show or hide mounted volume and device icons in the dash - - - true - Show applications button - Show appplications button in the dash - - - false - Show application button at top - Show appplication button at top of the dash - - - true - Animate Show Applications from the desktop - Animate Show Applications from the desktop - - - true - Basic compatibility with bolt extensions - Make the extension work properly when bolt extensions is enabled - - - 0.90 - Dock max height (fraction of available space) - - - false - Extend the dock container to all the available height - - - -1 - Monitor on which putting the dock - Set on which monitor to put the dock, use -1 for the primary one - - - false - Enable multi-monitor docks - Show a dock on every monitor - - - true - Minimize on shift+click - - - true - Activate only one window - - - 'cycle-windows' - Action when clicking on a running app - Set the action that is executed when clicking on the icon of a running application - - - 'do-nothing' - Action when scrolling app - Set the action that is executed when scrolling on the application icon - - - 'minimize' - Action when shift+clicking on a running app - Set the action that is executed when shift+clicking on the icon of a running application - - - 'launch' - Action when clicking on a running app - Set the action that is executed when middle-clicking on the icon of a running application - - - 'launch' - Action when clicking on a running app - Set the action that is executed when shift+middle-clicking on the icon of a running application - - - true - Super Hot-Keys - Launch and switch between dash items using Super+(0-9) - - - true - Show the dock when using the hotkeys - The dock will be quickly shown so that the number-overlay is visible and app activation is easier - - - "<Super>q" - Keybinding to show the dock and the number overlay. - Behavior depends on hotkeys-show-dock and hotkeys-overlay. - - - q']]]> - Keybinding to show the dock and the number overlay. - Behavior depends on hotkeys-show-dock and hotkeys-overlay. - - - 2 - Timeout to hide the dock - Sets the time duration before the dock is hidden again. - - - true - Show the dock when using the hotkeys - The dock will be quickly shown so that the number-overlay is visible and app activation is easier - - - 1']]]> - Keybinding to launch 1st dash app - - Keybinding to launch 1st app. - - - - 2']]]> - Keybinding to launch 2nd dash app - - Keybinding to launch 2nd app. - - - - 3']]]> - Keybinding to launch 3rd dash app - - Keybinding to launch 3rd app. - - - - 4']]]> - Keybinding to launch 4th dash app - - Keybinding to launch 4th app. - - - - 5']]]> - Keybinding to launch 5th dash app - - Keybinding to launch 5th app. - - - - 6']]]> - Keybinding to launch 6th dash app - - Keybinding to launch 6th app. - - - - 7']]]> - Keybinding to launch 7th dash app - - Keybinding to launch 7th app. - - - - 8']]]> - Keybinding to launch 8th dash app - - Keybinding to launch 8th app. - - - - 9']]]> - Keybinding to launch 9th dash app - - Keybinding to launch 9th app. - - - - 0']]]> - Keybinding to launch 10th dash app - - Keybinding to launch 10th app. - - - - 1']]]> - Keybinding to trigger 1st dash app with shift behavior - - Keybinding to trigger 1st app with shift behavior. - - - - 2']]]> - Keybinding to trigger 2nd dash app with shift behavior - - Keybinding to trigger 2nd app with shift behavior. - - - - 3']]]> - Keybinding to trigger 3rd dash app with shift behavior - - Keybinding to trigger 3rd app with shift behavior. - - - - 4']]]> - Keybinding to trigger 4th dash app with shift behavior - - Keybinding to trigger 4th app with shift behavior. - - - - 5']]]> - Keybinding to trigger 5th dash app with shift behavior - - Keybinding to trigger 5th app with shift behavior. - - - - 6']]]> - Keybinding to trigger 6th dash app with shift behavior - - Keybinding to trigger 6th app with shift behavior. - - - - 7']]]> - Keybinding to trigger 7th dash app with shift behavior - - Keybinding to trigger 7th app with shift behavior. - - - - 8']]]> - Keybinding to trigger 8th dash app with shift behavior - - Keybinding to trigger 8th app with shift behavior. - - - - 9']]]> - Keybinding to trigger 9th dash app with shift behavior - - Keybinding to trigger 9th app with shift behavior. - - - - 0']]]> - Keybinding to trigger 10th dash app with shift behavior - - Keybinding to trigger 10th app with shift behavior. - - - - 1']]]> - Keybinding to trigger 1st dash app - - Keybinding to either show or launch the 1st application in the dash. - - - - 2']]]> - Keybinding to trigger 2nd dash app - - Keybinding to either show or launch the 2nd application in the dash. - - - - 3']]]> - Keybinding to trigger 3rd dash app - - Keybinding to either show or launch the 3rd application in the dash. - - - - 4']]]> - Keybinding to trigger 4th dash app - - Keybinding to either show or launch the 4th application in the dash. - - - - 5']]]> - Keybinding to trigger 5th dash app - - Keybinding to either show or launch the 5th application in the dash. - - - - 6']]]> - Keybinding to trigger 6th dash app - - Keybinding to either show or launch the 6th application in the dash. - - - - 7']]]> - Keybinding to trigger 7th dash app - - Keybinding to either show or launch the 7th application in the dash. - - - - 8']]]> - Keybinding to trigger 8th dash app - - Keybinding to either show or launch the 8th application in the dash. - - - - 9']]]> - Keybinding to trigger 9th dash app - - Keybinding to either show or launch the 9th application in the dash. - - - - 0']]]> - Keybinding to trigger 10th dash app - - Keybinding to either show or launch the 10th application in the dash. - - - - false - Force straight corners in dash - Make the borders in the dash non rounded - - - false - Enable unity7 like glossy backlit items - Emulate the unity7 backlit glossy items behaviour - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css deleted file mode 100644 index 90c448cf..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/stylesheet.css +++ /dev/null @@ -1,178 +0,0 @@ -/* Shrink the dash by reducing padding and border radius */ -#dashtodockContainer.shrink #dash, -#dashtodockContainer.dashtodock #dash { - border:1px; - padding:0px; -} - -#dashtodockContainer.shrink.left #dash, -#dashtodockContainer.dashtodock.left #dash { - border-left: 0px; -} - - -#dashtodockContainer.shrink.right #dash, -#dashtodockContainer.dashtodock.right #dash { - border-right: 0px; -} - - -#dashtodockContainer.shrink.top #dash, -#dashtodockContainer.dashtodock.top #dash { - border-top: 0px; -} - -#dashtodockContainer.shrink.bottom #dash, -#dashtodockContainer.dashtodock.bottom #dash { - border-bottom: 0px; -} - -#dashtodockContainer.straight-corner #dash, -#dashtodockContainer.shrink.straight-corner #dash { - border-radius: 0px; -} - -/* Scrollview style */ -.bottom #dashtodockDashScrollview, -.top #dashtodockDashScrollview { - -st-hfade-offset: 24px; -} - -.left #dashtodockDashScrollview, -.right #dashtodockDashScrollview { - -st-vfade-offset: 24px; -} - -#dashtodockContainer.running-dots .dash-item-container > StButton, -#dashtodockContainer.dashtodock .dash-item-container > StButton { - transition-duration: 250; - background-size: contain; -} - -#dashtodockContainer.shrink .dash-item-container > StButton, -#dashtodockContainer.dashtodock .dash-item-container > StButton { - padding: 1px 2px; -} - -/* Dash height extended to the whole available vertical space */ -#dashtodockContainer.extended.top #dash, -#dashtodockContainer.extended.right #dash, -#dashtodockContainer.extended.bottom #dash, -#dashtodockContainer.extended.left #dash { - border-radius: 0; -} - -#dashtodockContainer.extended.top #dash, -#dashtodockContainer.extended.bottom #dash { - border-left:0px; - border-right:0px; -} - -#dashtodockContainer.extended.right #dash, -#dashtodockContainer.extended.left #dash { - border-top:0px; - border-bottom:0px; -} - -/* Running and focused application style */ - -#dashtodockContainer.running-dots .app-well-app.running > .overview-icon, -#dashtodockContainer.dashtodock .app-well-app.running > .overview-icon { - background-image:none; -} - - -#dashtodockContainer.running-dots .app-well-app.focused .overview-icon, -#dashtodockContainer.dashtodock .app-well-app.focused .overview-icon { - background-color: rgba(238, 238, 236, 0.2); -} - -#dashtodockContainer.dashtodock #dash { - background: #2e3436; -} - -#dashtodockContainer.dashtodock .progress-bar { - /* Customization of the progress bar style, e.g.: - -progress-bar-background: rgba(0.8, 0.8, 0.8, 1); - -progress-bar-border: rgba(0.9, 0.9, 0.9, 1); - */ -} - -/* - * This is applied to a dummy actor. Only the alpha value for the background and border color - * and the transition-duration are used - */ -#dashtodockContainer.dummy-opaque { - background-color: rgba(0, 0, 0, 0.8); - border-color: rgba(0, 0, 0, 0.4); - transition-duration: 300ms; -} - -/* - * This is applied to a dummy actor. Only the alpha value for the background and border color - * and the transition-duration are used - */ -#dashtodockContainer.dummy-transparent { - background-color: rgba(0, 0, 0, 0.2); - border-color: rgba(0, 0, 0, 0.1); - transition-duration: 500ms; -} - -#dashtodockContainer.opaque { -} - -#dashtodockContainer.transparent { -} - -#dashtodockContainer .number-overlay { - color: rgba(255,255,255,1); - background-color: rgba(0,0,0,0.8); - text-align: center; -} - -#dashtodockContainer .notification-badge { - color: rgba(255,255,255,1); - background-color: rgba(255,0,0,1.0); - padding: 0.2em 0.5em; - border-radius: 1em; - font-weight: bold; - text-align: center; - margin: 2px; -} - -#dashtodockPreviewSeparator.popup-separator-menu-item-horizontal { - width: 1px; - height: auto; - border-right-width: 1px; - margin: 32px 0px; -} - -.dashtodock-app-well-preview-menu-item { - padding: 1em 1em 0.5em 1em; -} - -#dashtodockContainer .metro .overview-icon{ - border-radius: 0px; -} - -#dashtodockContainer.bottom .metro.running2.focused, -#dashtodockContainer.bottom .metro.running3.focused, -#dashtodockContainer.bottom .metro.running4.focused, -#dashtodockContainer.top .metro.running2.focused, -#dashtodockContainer.top .metro.running3.focused, -#dashtodockContainer.top .metro.running4.focused { - background-image: url('./media/highlight_stacked_bg.svg'); - background-position: 0px 0px; - background-size: contain; -} - -#dashtodockContainer.left .metro.running2.focused, -#dashtodockContainer.left .metro.running3.focused, -#dashtodockContainer.left .metro.running4.focused, -#dashtodockContainer.right .metro.running2.focused, -#dashtodockContainer.right .metro.running3.focused, -#dashtodockContainer.right .metro.running4.focused { - background-image: url('./media/highlight_stacked_bg_h.svg'); - background-position: 0px 0px; - background-size: contain; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js deleted file mode 100644 index 5ed4cd71..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/theming.js +++ /dev/null @@ -1,572 +0,0 @@ -// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- - -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 Meta = imports.gi.Meta; -const Shell = imports.gi.Shell; -const St = imports.gi.St; -const Mainloop = imports.mainloop; - -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 Docking = Me.imports.docking; -const Utils = Me.imports.utils; - -/* - * DEFAULT: transparency given by theme - * FIXED: constant transparency chosen by user - * DYNAMIC: apply 'transparent' style when no windows are close to the dock - * */ -const TransparencyMode = { - DEFAULT: 0, - FIXED: 1, - DYNAMIC: 3 -}; - -/** - * Manage theme customization and custom theme support - */ -var ThemeManager = class DashToDock_ThemeManager { - - constructor(dock) { - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._bindSettingsChanges(); - this._actor = dock; - this._dash = dock.dash; - - // initialize colors with generic values - this._customizedBackground = {red: 0, green: 0, blue: 0, alpha: 0}; - this._customizedBorder = {red: 0, green: 0, blue: 0, alpha: 0}; - this._transparency = new Transparency(dock); - - this._signalsHandler.add([ - // When theme changes re-obtain default background color - St.ThemeContext.get_for_stage (global.stage), - 'changed', - this.updateCustomTheme.bind(this) - ], [ - // update :overview pseudoclass - Main.overview, - 'showing', - this._onOverviewShowing.bind(this) - ], [ - Main.overview, - 'hiding', - this._onOverviewHiding.bind(this) - ]); - - this._updateCustomStyleClasses(); - - // destroy themeManager when the managed actor is destroyed (e.g. extension unload) - // in order to disconnect signals - this._actor.connect('destroy', this.destroy.bind(this)); - - } - - destroy() { - this._signalsHandler.destroy(); - this._transparency.destroy(); - } - - _onOverviewShowing() { - this._actor.add_style_pseudo_class('overview'); - } - - _onOverviewHiding() { - this._actor.remove_style_pseudo_class('overview'); - } - - _updateDashOpacity() { - let newAlpha = Docking.DockManager.settings.get_double('background-opacity'); - - let [backgroundColor, borderColor] = this._getDefaultColors(); - - if (backgroundColor==null) - return; - - // Get the background and border alphas. We check the background alpha - // for a minimum of .001 to prevent division by 0 errors - let backgroundAlpha = Math.max(Math.round(backgroundColor.alpha/2.55)/100, .001); - let borderAlpha = Math.round(borderColor.alpha/2.55)/100; - - // The border and background alphas should remain in sync - // We also limit the borderAlpha to a maximum of 1 (full opacity) - borderAlpha = Math.min((borderAlpha/backgroundAlpha)*newAlpha, 1); - - this._customizedBackground = 'rgba(' + - backgroundColor.red + ',' + - backgroundColor.green + ',' + - backgroundColor.blue + ',' + - newAlpha + ')'; - - this._customizedBorder = 'rgba(' + - borderColor.red + ',' + - borderColor.green + ',' + - borderColor.blue + ',' + - borderAlpha + ')'; - - } - - _getDefaultColors() { - // Prevent shell crash if the actor is not on the stage. - // It happens enabling/disabling repeatedly the extension - if (!this._dash._container.get_stage()) - return [null, null]; - - // Remove custom style - let oldStyle = this._dash._container.get_style(); - this._dash._container.set_style(null); - - let themeNode = this._dash._container.get_theme_node(); - this._dash._container.set_style(oldStyle); - - let backgroundColor = themeNode.get_background_color(); - - // Just in case the theme has different border colors .. - // We want to find the inside border-color of the dock because it is - // the side most visible to the user. We do this by finding the side - // opposite the position - let position = Utils.getPosition(); - let side = position + 2; - if (side > 3) - side = Math.abs(side - 4); - - let borderColor = themeNode.get_border_color(side); - - return [backgroundColor, borderColor]; - } - - _updateDashColor() { - // Retrieve the color. If needed we will adjust it before passing it to - // this._transparency. - let [backgroundColor, borderColor] = this._getDefaultColors(); - - if (backgroundColor==null) - return; - - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('custom-background-color')) { - // When applying a custom color, we need to check the alpha value, - // if not the opacity will always be overridden by the color below. - // Note that if using 'dynamic' transparency modes, - // the opacity will be set by the opaque/transparent styles anyway. - let newAlpha = Math.round(backgroundColor.alpha/2.55)/100; - if (settings.get_enum('transparency-mode') == TransparencyMode.FIXED) - newAlpha = settings.get_double('background-opacity'); - - backgroundColor = Clutter.color_from_string(settings.get_string('background-color'))[1]; - this._customizedBackground = 'rgba(' + - backgroundColor.red + ',' + - backgroundColor.green + ',' + - backgroundColor.blue + ',' + - newAlpha + ')'; - - this._customizedBorder = this._customizedBackground; - } - this._transparency.setColor(backgroundColor); - } - - _updateCustomStyleClasses() { - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('apply-custom-theme')) - this._actor.add_style_class_name('dashtodock'); - else - this._actor.remove_style_class_name('dashtodock'); - - if (settings.get_boolean('custom-theme-shrink')) - this._actor.add_style_class_name('shrink'); - else - this._actor.remove_style_class_name('shrink'); - - if (settings.get_enum('running-indicator-style') !== 0) - this._actor.add_style_class_name('running-dots'); - else - this._actor.remove_style_class_name('running-dots'); - - // If not the built-in theme option is not selected - if (!settings.get_boolean('apply-custom-theme')) { - if (settings.get_boolean('force-straight-corner')) - this._actor.add_style_class_name('straight-corner'); - else - this._actor.remove_style_class_name('straight-corner'); - } else { - this._actor.remove_style_class_name('straight-corner'); - } - } - - updateCustomTheme() { - this._updateCustomStyleClasses(); - this._updateDashOpacity(); - this._updateDashColor(); - this._adjustTheme(); - this._dash._redisplay(); - } - - /** - * Reimported back and adapted from atomdock - */ - _adjustTheme() { - // Prevent shell crash if the actor is not on the stage. - // It happens enabling/disabling repeatedly the extension - if (!this._dash._container.get_stage()) - return; - - let settings = Docking.DockManager.settings; - - // Remove prior style edits - this._dash._container.set_style(null); - this._transparency.disable(); - - // If built-in theme is enabled do nothing else - if (settings.get_boolean('apply-custom-theme')) - return; - - let newStyle = ''; - let position = Utils.getPosition(settings); - - // obtain theme border settings - let themeNode = this._dash._container.get_theme_node(); - let borderColor = themeNode.get_border_color(St.Side.TOP); - let borderWidth = themeNode.get_border_width(St.Side.TOP); - let borderRadius = themeNode.get_border_radius(St.Corner.TOPRIGHT); - - // We're copying border and corner styles to left border and top-left - // corner, also removing bottom border and bottom-right corner styles - let borderInner = ''; - let borderRadiusValue = ''; - let borderMissingStyle = ''; - - if (this._rtl && (position != St.Side.RIGHT)) - borderMissingStyle = 'border-right: ' + borderWidth + 'px solid ' + - borderColor.to_string() + ';'; - else if (!this._rtl && (position != St.Side.LEFT)) - borderMissingStyle = 'border-left: ' + borderWidth + 'px solid ' + - borderColor.to_string() + ';'; - - switch (position) { - case St.Side.LEFT: - borderInner = 'border-left'; - borderRadiusValue = '0 ' + borderRadius + 'px ' + borderRadius + 'px 0;'; - break; - case St.Side.RIGHT: - borderInner = 'border-right'; - borderRadiusValue = borderRadius + 'px 0 0 ' + borderRadius + 'px;'; - break; - case St.Side.TOP: - borderInner = 'border-top'; - borderRadiusValue = '0 0 ' + borderRadius + 'px ' + borderRadius + 'px;'; - break; - case St.Side.BOTTOM: - borderInner = 'border-bottom'; - borderRadiusValue = borderRadius + 'px ' + borderRadius + 'px 0 0;'; - break; - } - - newStyle = borderInner + ': none;' + - 'border-radius: ' + borderRadiusValue + - borderMissingStyle; - - // I do call set_style possibly twice so that only the background gets the transition. - // The transition-property css rules seems to be unsupported - this._dash._container.set_style(newStyle); - - // Customize background - let fixedTransparency = settings.get_enum('transparency-mode') == TransparencyMode.FIXED; - let defaultTransparency = settings.get_enum('transparency-mode') == TransparencyMode.DEFAULT; - if (!defaultTransparency && !fixedTransparency) { - this._transparency.enable(); - } - else if (!defaultTransparency || settings.get_boolean('custom-background-color')) { - newStyle = newStyle + 'background-color:'+ this._customizedBackground + '; ' + - 'border-color:'+ this._customizedBorder + '; ' + - 'transition-delay: 0s; transition-duration: 0.250s;'; - this._dash._container.set_style(newStyle); - } - } - - _bindSettingsChanges() { - let keys = ['transparency-mode', - 'customize-alphas', - 'min-alpha', - 'max-alpha', - 'background-opacity', - 'custom-background-color', - 'background-color', - 'apply-custom-theme', - 'custom-theme-shrink', - 'custom-theme-running-dots', - 'extend-height', - 'force-straight-corner']; - - keys.forEach(function(key) { - this._signalsHandler.add([ - Docking.DockManager.settings, - 'changed::' + key, - this.updateCustomTheme.bind(this) - ]); - }, this); - } -}; - -/** - * The following class is based on the following upstream commit: - * https://git.gnome.org/browse/gnome-shell/commit/?id=447bf55e45b00426ed908b1b1035f472c2466956 - * Transparency when free-floating - */ -var Transparency = class DashToDock_Transparency { - - constructor(dock) { - this._dash = dock.dash; - this._actor = this._dash._container; - this._dockActor = dock; - this._dock = dock; - this._panel = Main.panel; - this._position = Utils.getPosition(); - - // All these properties are replaced with the ones in the .dummy-opaque and .dummy-transparent css classes - this._backgroundColor = '0,0,0'; - this._transparentAlpha = '0.2'; - this._opaqueAlpha = '1'; - this._transparentAlphaBorder = '0.1'; - this._opaqueAlphaBorder = '0.5'; - this._transparentTransition = '0ms'; - this._opaqueTransition = '0ms'; - this._base_actor_style = ""; - - this._signalsHandler = new Utils.GlobalSignalsHandler(); - this._injectionsHandler = new Utils.InjectionsHandler(); - this._trackedWindows = new Map(); - } - - enable() { - // ensure I never double-register/inject - // although it should never happen - this.disable(); - - this._base_actor_style = this._actor.get_style(); - if (this._base_actor_style == null) { - this._base_actor_style = ""; - } - - this._signalsHandler.addWithLabel('transparency', [ - global.window_group, - 'actor-added', - this._onWindowActorAdded.bind(this) - ], [ - global.window_group, - 'actor-removed', - this._onWindowActorRemoved.bind(this) - ], [ - global.window_manager, - 'switch-workspace', - this._updateSolidStyle.bind(this) - ], [ - Main.overview, - 'hiding', - this._updateSolidStyle.bind(this) - ], [ - Main.overview, - 'showing', - this._updateSolidStyle.bind(this) - ]); - - // Window signals - global.window_group.get_children().filter(function(child) { - // An irrelevant window actor ('Gnome-shell') produces an error when the signals are - // disconnected, therefore do not add signals to it. - return child instanceof Meta.WindowActor && - child.get_meta_window().get_wm_class() !== 'Gnome-shell'; - }).forEach(function(win) { - this._onWindowActorAdded(null, win); - }, this); - - if (this._actor.get_stage()) - this._updateSolidStyle(); - - this._updateStyles(); - this._updateSolidStyle(); - - this.emit('transparency-enabled'); - } - - disable() { - // ensure I never double-register/inject - // although it should never happen - this._signalsHandler.removeWithLabel('transparency'); - - for (let key of this._trackedWindows.keys()) - this._trackedWindows.get(key).forEach(id => { - key.disconnect(id); - }); - this._trackedWindows.clear(); - - this.emit('transparency-disabled'); - } - - destroy() { - this.disable(); - this._signalsHandler.destroy(); - this._injectionsHandler.destroy(); - } - - _onWindowActorAdded(container, metaWindowActor) { - let signalIds = []; - ['allocation-changed', 'notify::visible'].forEach(s => { - signalIds.push(metaWindowActor.connect(s, this._updateSolidStyle.bind(this))); - }); - this._trackedWindows.set(metaWindowActor, signalIds); - } - - _onWindowActorRemoved(container, metaWindowActor) { - if (!this._trackedWindows.get(metaWindowActor)) - return; - - this._trackedWindows.get(metaWindowActor).forEach(id => { - metaWindowActor.disconnect(id); - }); - this._trackedWindows.delete(metaWindowActor); - this._updateSolidStyle(); - } - - _updateSolidStyle() { - let isNear = this._dockIsNear(); - if (isNear) { - this._actor.set_style(this._opaque_style); - this._dockActor.remove_style_class_name('transparent'); - this._dockActor.add_style_class_name('opaque'); - } - else { - this._actor.set_style(this._transparent_style); - this._dockActor.remove_style_class_name('opaque'); - this._dockActor.add_style_class_name('transparent'); - } - - this.emit('solid-style-updated', isNear); - } - - _dockIsNear() { - if (this._dockActor.has_style_pseudo_class('overview')) - return false; - /* Get all the windows in the active workspace that are in the primary monitor and visible */ - let activeWorkspace = global.workspace_manager.get_active_workspace(); - let dash = this._dash; - let windows = activeWorkspace.list_windows().filter(function(metaWindow) { - return metaWindow.get_monitor() === dash._monitorIndex && - metaWindow.showing_on_its_workspace() && - metaWindow.get_window_type() != Meta.WindowType.DESKTOP; - }); - - /* Check if at least one window is near enough to the panel. - * If the dock is hidden, we need to account for the space it would take - * up when it slides out. This is avoid an ugly transition. - * */ - let factor = 0; - if (!Docking.DockManager.settings.get_boolean('dock-fixed') && - this._dock.getDockState() == Docking.State.HIDDEN) - factor = 1; - let [leftCoord, topCoord] = this._actor.get_transformed_position(); - let threshold; - if (this._position === St.Side.LEFT) - threshold = leftCoord + this._actor.get_width() * (factor + 1); - else if (this._position === St.Side.RIGHT) - threshold = leftCoord - this._actor.get_width() * factor; - else if (this._position === St.Side.TOP) - threshold = topCoord + this._actor.get_height() * (factor + 1); - else - threshold = topCoord - this._actor.get_height() * factor; - - let scale = St.ThemeContext.get_for_stage(global.stage).scale_factor; - let isNearEnough = windows.some((metaWindow) => { - let coord; - if (this._position === St.Side.LEFT) { - coord = metaWindow.get_frame_rect().x; - return coord < threshold + 5 * scale; - } - else if (this._position === St.Side.RIGHT) { - coord = metaWindow.get_frame_rect().x + metaWindow.get_frame_rect().width; - return coord > threshold - 5 * scale; - } - else if (this._position === St.Side.TOP) { - coord = metaWindow.get_frame_rect().y; - return coord < threshold + 5 * scale; - } - else { - coord = metaWindow.get_frame_rect().y + metaWindow.get_frame_rect().height; - return coord > threshold - 5 * scale; - } - }); - - return isNearEnough; - } - - _updateStyles() { - this._getAlphas(); - - this._transparent_style = this._base_actor_style + - 'background-color: rgba(' + - this._backgroundColor + ', ' + this._transparentAlpha + ');' + - 'border-color: rgba(' + - this._backgroundColor + ', ' + this._transparentAlphaBorder + ');' + - 'transition-duration: ' + this._transparentTransition + 'ms;'; - - this._opaque_style = this._base_actor_style + - 'background-color: rgba(' + - this._backgroundColor + ', ' + this._opaqueAlpha + ');' + - 'border-color: rgba(' + - this._backgroundColor + ',' + this._opaqueAlphaBorder + ');' + - 'transition-duration: ' + this._opaqueTransition + 'ms;'; - - this.emit('styles-updated'); - } - - setColor(color) { - this._backgroundColor = color.red + ',' + color.green + ',' + color.blue; - this._updateStyles(); - } - - _getAlphas() { - // Create dummy object and add to the uiGroup to get it to the stage - let dummyObject = new St.Bin({ - name: 'dashtodockContainer', - }); - Main.uiGroup.add_child(dummyObject); - - dummyObject.add_style_class_name('dummy-opaque'); - let themeNode = dummyObject.get_theme_node(); - this._opaqueAlpha = themeNode.get_background_color().alpha / 255; - this._opaqueAlphaBorder = themeNode.get_border_color(0).alpha / 255; - this._opaqueTransition = themeNode.get_transition_duration(); - - dummyObject.add_style_class_name('dummy-transparent'); - themeNode = dummyObject.get_theme_node(); - this._transparentAlpha = themeNode.get_background_color().alpha / 255; - this._transparentAlphaBorder = themeNode.get_border_color(0).alpha / 255; - this._transparentTransition = themeNode.get_transition_duration(); - - Main.uiGroup.remove_child(dummyObject); - - let settings = Docking.DockManager.settings; - - if (settings.get_boolean('customize-alphas')) { - this._opaqueAlpha = settings.get_double('max-alpha'); - this._opaqueAlphaBorder = this._opaqueAlpha / 2; - this._transparentAlpha = settings.get_double('min-alpha'); - this._transparentAlphaBorder = this._transparentAlpha / 2; - } - } -}; -Signals.addSignalMethods(Transparency.prototype); diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js deleted file mode 100644 index e0281347..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/utils.js +++ /dev/null @@ -1,284 +0,0 @@ -const Clutter = imports.gi.Clutter; -const Meta = imports.gi.Meta; -const St = imports.gi.St; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Docking = Me.imports.docking; - -var SignalsHandlerFlags = { - NONE: 0, - CONNECT_AFTER: 1 -}; - -/** - * Simplify global signals and function injections handling - * abstract class - */ -const BasicHandler = class DashToDock_BasicHandler { - - constructor() { - this._storage = new Object(); - } - - add(/* unlimited 3-long array arguments */) { - // 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); - } - - destroy() { - for( let label in this._storage ) - this.removeWithLabel(label); - } - - addWithLabel(label /* plus unlimited 3-long array arguments*/) { - if (this._storage[label] == undefined) - this._storage[label] = new Array(); - - // Skip first element of the arguments - for (let i = 1; i < arguments.length; i++) { - let item = this._storage[label]; - try { - item.push(this._create(arguments[i])); - } catch (e) { - logError(e); - } - } - } - - removeWithLabel(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(item) { - throw new GObject.NotImplementedError(`_create in ${this.constructor.name}`); - } - - /** - * Correctly delete single element - */ - _remove(item) { - throw new GObject.NotImplementedError(`_remove in ${this.constructor.name}`); - } -}; - -/** - * Manage global signals - */ -var GlobalSignalsHandler = class DashToDock_GlobalSignalHandler extends BasicHandler { - - _create(item) { - let object = item[0]; - let event = item[1]; - let callback = item[2] - let flags = item.length > 3 ? item[3] : SignalsHandlerFlags.NONE; - - if (!object) - throw new Error('Impossible to connect to an invalid object'); - - let after = flags == SignalsHandlerFlags.CONNECT_AFTER; - let connector = after ? object.connect_after : object.connect; - - if (!connector) { - throw new Error(`Requested to connect to signal '${event}', ` + - `but no implementation for 'connect${after ? '_after' : ''}' `+ - `found in ${object.constructor.name}`); - } - - let id = connector.call(object, event, callback); - - return [object, id]; - } - - _remove(item) { - item[0].disconnect(item[1]); - } -}; - -/** - * Color manipulation utilities - */ -var ColorUtils = class DashToDock_ColorUtils { - - // Darken or brigthen color by a fraction dlum - // Each rgb value is modified by the same fraction. - // Return "#rrggbb" string - static ColorLuminance(r, g, b, dlum) { - let rgbString = '#'; - - rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(r*(1+dlum), 0), 255)), 2); - rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(g*(1+dlum), 0), 255)), 2); - rgbString += ColorUtils._decimalToHex(Math.round(Math.min(Math.max(b*(1+dlum), 0), 255)), 2); - - return rgbString; - } - - // Convert decimal to an hexadecimal string adding the desired padding - static _decimalToHex(d, padding) { - let hex = d.toString(16); - while (hex.length < padding) - hex = '0'+ hex; - return hex; - } - - // Convert hsv ([0-1, 0-1, 0-1]) to rgb ([0-255, 0-255, 0-255]). - // Following algorithm in https://en.wikipedia.org/wiki/HSL_and_HSV - // here with h = [0,1] instead of [0, 360] - // Accept either (h,s,v) independently or {h:h, s:s, v:v} object. - // Return {r:r, g:g, b:b} object. - static HSVtoRGB(h, s, v) { - if (arguments.length === 1) { - s = h.s; - v = h.v; - h = h.h; - } - - let r,g,b; - let c = v*s; - let h1 = h*6; - let x = c*(1 - Math.abs(h1 % 2 - 1)); - let m = v - c; - - if (h1 <=1) - r = c + m, g = x + m, b = m; - else if (h1 <=2) - r = x + m, g = c + m, b = m; - else if (h1 <=3) - r = m, g = c + m, b = x + m; - else if (h1 <=4) - r = m, g = x + m, b = c + m; - else if (h1 <=5) - r = x + m, g = m, b = c + m; - else - r = c + m, g = m, b = x + m; - - return { - r: Math.round(r * 255), - g: Math.round(g * 255), - b: Math.round(b * 255) - }; - } - - // Convert rgb ([0-255, 0-255, 0-255]) to hsv ([0-1, 0-1, 0-1]). - // Following algorithm in https://en.wikipedia.org/wiki/HSL_and_HSV - // here with h = [0,1] instead of [0, 360] - // Accept either (r,g,b) independently or {r:r, g:g, b:b} object. - // Return {h:h, s:s, v:v} object. - static RGBtoHSV(r, g, b) { - if (arguments.length === 1) { - r = r.r; - g = r.g; - b = r.b; - } - - let h,s,v; - - let M = Math.max(r, g, b); - let m = Math.min(r, g, b); - let c = M - m; - - if (c == 0) - h = 0; - else if (M == r) - h = ((g-b)/c) % 6; - else if (M == g) - h = (b-r)/c + 2; - else - h = (r-g)/c + 4; - - h = h/6; - v = M/255; - if (M !== 0) - s = c/M; - else - s = 0; - - return { - h: h, - s: s, - v: v - }; - } -}; - -/** - * Manage function injection: both instances and prototype can be overridden - * and restored - */ -var InjectionsHandler = class DashToDock_InjectionsHandler extends BasicHandler { - - _create(item) { - let object = item[0]; - let name = item[1]; - let injectedFunction = item[2]; - let original = object[name]; - - object[name] = injectedFunction; - return [object, name, injectedFunction, original]; - } - - _remove(item) { - let object = item[0]; - let name = item[1]; - let original = item[3]; - object[name] = original; - } -}; - -/** - * Return the actual position reverseing left and right in rtl - */ -function getPosition() { - let position = Docking.DockManager.settings.get_enum('dock-position'); - if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL) { - if (position == St.Side.LEFT) - position = St.Side.RIGHT; - else if (position == St.Side.RIGHT) - position = St.Side.LEFT; - } - return position; -} - -function drawRoundedLine(cr, x, y, width, height, isRoundLeft, isRoundRight, stroke, fill) { - if (height > width) { - y += Math.floor((height - width) / 2.0); - height = width; - } - - height = 2.0 * Math.floor(height / 2.0); - - var leftRadius = isRoundLeft ? height / 2.0 : 0.0; - var rightRadius = isRoundRight ? height / 2.0 : 0.0; - - cr.moveTo(x + width - rightRadius, y); - cr.lineTo(x + leftRadius, y); - if (isRoundLeft) - cr.arcNegative(x + leftRadius, y + leftRadius, leftRadius, -Math.PI/2, Math.PI/2); - else - cr.lineTo(x, y + height); - cr.lineTo(x + width - rightRadius, y + height); - if (isRoundRight) - cr.arcNegative(x + width - rightRadius, y + rightRadius, rightRadius, Math.PI/2, -Math.PI/2); - else - cr.lineTo(x + width, y); - cr.closePath(); - - if (fill != null) { - cr.setSource(fill); - cr.fillPreserve(); - } - if (stroke != null) - cr.setSource(stroke); - cr.stroke(); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js deleted file mode 100644 index a34cb080..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/dash-to-dock@micxgx.gmail.com/windowPreview.js +++ /dev/null @@ -1,586 +0,0 @@ -/* - * Credits: - * This file is based on code from the Dash to Panel extension by Jason DeRose - * and code from the Taskbar extension by Zorin OS - * Some code was also adapted from the upstream Gnome Shell source code. - */ -const Clutter = imports.gi.Clutter; -const GLib = imports.gi.GLib; -const GObject = imports.gi.GObject; -const St = imports.gi.St; -const Mainloop = imports.mainloop; -const Main = imports.ui.main; -const Gtk = imports.gi.Gtk; - -const Params = imports.misc.params; -const PopupMenu = imports.ui.popupMenu; -const Workspace = imports.ui.workspace; - -const Me = imports.misc.extensionUtils.getCurrentExtension(); -const Utils = Me.imports.utils; - -const PREVIEW_MAX_WIDTH = 250; -const PREVIEW_MAX_HEIGHT = 150; - -const PREVIEW_ANIMATION_DURATION = 250; - -var WindowPreviewMenu = class DashToDock_WindowPreviewMenu extends PopupMenu.PopupMenu { - - constructor(source) { - let side = Utils.getPosition(); - super(source.actor, 0.5, side); - - // We want to keep the item hovered while the menu is up - this.blockSourceEvents = true; - - this._source = source; - this._app = this._source.app; - let monitorIndex = this._source.monitorIndex; - - this.actor.add_style_class_name('app-well-menu'); - this.actor.set_style('max-width: ' + (Main.layoutManager.monitors[monitorIndex].width - 22) + 'px; ' + - 'max-height: ' + (Main.layoutManager.monitors[monitorIndex].height - 22) + 'px;'); - this.actor.hide(); - - // Chain our visibility and lifecycle to that of the source - this._mappedId = this._source.actor.connect('notify::mapped', () => { - if (!this._source.actor.mapped) - this.close(); - }); - this._destroyId = this._source.actor.connect('destroy', this.destroy.bind(this)); - - Main.uiGroup.add_actor(this.actor); - - // Change the initialized side where required. - this._arrowSide = side; - this._boxPointer._arrowSide = side; - this._boxPointer._userArrowSide = side; - - this.connect('destroy', this._onDestroy.bind(this)); - } - - _redisplay() { - if (this._previewBox) - this._previewBox.destroy(); - this._previewBox = new WindowPreviewList(this._source); - this.addMenuItem(this._previewBox); - this._previewBox._redisplay(); - } - - popup() { - let windows = this._source.getInterestingWindows(); - if (windows.length > 0) { - this._redisplay(); - this.open(); - this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false); - this._source.emit('sync-tooltip'); - } - } - - _onDestroy() { - if (this._mappedId) - this._source.actor.disconnect(this._mappedId); - - if (this._destroyId) - this._source.actor.disconnect(this._destroyId); - } -}; - -var WindowPreviewList = class DashToDock_WindowPreviewList extends PopupMenu.PopupMenuSection { - - constructor(source) { - super(); - this.actor = new St.ScrollView({ name: 'dashtodockWindowScrollview', - hscrollbar_policy: Gtk.PolicyType.NEVER, - vscrollbar_policy: Gtk.PolicyType.NEVER, - enable_mouse_scrolling: true }); - - this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); - - let position = Utils.getPosition(); - this.isHorizontal = position == St.Side.BOTTOM || position == St.Side.TOP; - this.box.set_vertical(!this.isHorizontal); - this.box.set_name('dashtodockWindowList'); - this.actor.add_actor(this.box); - this.actor._delegate = this; - - this._shownInitially = false; - - this._source = source; - this.app = source.app; - - this._redisplayId = Main.initializeDeferredWork(this.actor, this._redisplay.bind(this)); - - this.actor.connect('destroy', this._onDestroy.bind(this)); - this._stateChangedId = this.app.connect('windows-changed', - this._queueRedisplay.bind(this)); - } - - _queueRedisplay () { - Main.queueDeferredWork(this._redisplayId); - } - - _onScrollEvent(actor, event) { - // Event coordinates are relative to the stage but can be transformed - // as the actor will only receive events within his bounds. - let stage_x, stage_y, ok, event_x, event_y, actor_w, actor_h; - [stage_x, stage_y] = event.get_coords(); - [ok, event_x, event_y] = actor.transform_stage_point(stage_x, stage_y); - [actor_w, actor_h] = actor.get_size(); - - // If the scroll event is within a 1px margin from - // the relevant edge of the actor, let the event propagate. - if (event_y >= actor_h - 2) - return Clutter.EVENT_PROPAGATE; - - // Skip to avoid double events mouse - if (event.is_pointer_emulated()) - return Clutter.EVENT_STOP; - - let adjustment, delta; - - if (this.isHorizontal) - adjustment = this.actor.get_hscroll_bar().get_adjustment(); - else - adjustment = this.actor.get_vscroll_bar().get_adjustment(); - - let increment = adjustment.step_increment; - - switch ( event.get_scroll_direction() ) { - case Clutter.ScrollDirection.UP: - delta = -increment; - break; - case Clutter.ScrollDirection.DOWN: - delta = +increment; - break; - case Clutter.ScrollDirection.SMOOTH: - let [dx, dy] = event.get_scroll_delta(); - delta = dy*increment; - delta += dx*increment; - break; - - } - - adjustment.set_value(adjustment.get_value() + delta); - - return Clutter.EVENT_STOP; - } - - _onDestroy() { - this.app.disconnect(this._stateChangedId); - this._stateChangedId = 0; - } - - _createPreviewItem(window) { - let preview = new WindowPreviewMenuItem(window); - return preview; - } - - _redisplay () { - let children = this._getMenuItems().filter(function(actor) { - return actor._window; - }); - - // Windows currently on the menu - let oldWin = children.map(function(actor) { - return actor._window; - }); - - // All app windows with a static order - let newWin = this._source.getInterestingWindows().sort(function(a, b) { - return a.get_stable_sequence() > b.get_stable_sequence(); - }); - - let addedItems = []; - let removedActors = []; - - let newIndex = 0; - let oldIndex = 0; - - while (newIndex < newWin.length || oldIndex < oldWin.length) { - // No change at oldIndex/newIndex - if (oldWin[oldIndex] && - oldWin[oldIndex] == newWin[newIndex]) { - oldIndex++; - newIndex++; - continue; - } - - // Window removed at oldIndex - if (oldWin[oldIndex] && - newWin.indexOf(oldWin[oldIndex]) == -1) { - removedActors.push(children[oldIndex]); - oldIndex++; - continue; - } - - // Window added at newIndex - if (newWin[newIndex] && - oldWin.indexOf(newWin[newIndex]) == -1) { - addedItems.push({ item: this._createPreviewItem(newWin[newIndex]), - pos: newIndex }); - newIndex++; - continue; - } - - // Window moved - let insertHere = newWin[newIndex + 1] && - newWin[newIndex + 1] == oldWin[oldIndex]; - let alreadyRemoved = removedActors.reduce(function(result, actor) { - let removedWin = actor._window; - return result || removedWin == newWin[newIndex]; - }, false); - - if (insertHere || alreadyRemoved) { - addedItems.push({ item: this._createPreviewItem(newWin[newIndex]), - pos: newIndex + removedActors.length }); - newIndex++; - } else { - removedActors.push(children[oldIndex]); - oldIndex++; - } - } - - for (let i = 0; i < addedItems.length; i++) - this.addMenuItem(addedItems[i].item, - addedItems[i].pos); - - for (let i = 0; i < removedActors.length; i++) { - let item = removedActors[i]; - if (this._shownInitially) - item._animateOutAndDestroy(); - else - item.actor.destroy(); - } - - // Skip animations on first run when adding the initial set - // of items, to avoid all items zooming in at once - let animate = this._shownInitially; - - if (!this._shownInitially) - this._shownInitially = true; - - for (let i = 0; i < addedItems.length; i++) - addedItems[i].item.show(animate); - - // Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=692744 - // Without it, StBoxLayout may use a stale size cache - this.box.queue_relayout(); - - if (newWin.length < 1) - this._getTopMenu().close(~0); - - // As for upstream: - // St.ScrollView always requests space horizontally for a possible vertical - // scrollbar if in AUTOMATIC mode. Doing better would require implementation - // of width-for-height in St.BoxLayout and St.ScrollView. This looks bad - // when we *don't* need it, so turn off the scrollbar when that's true. - // Dynamic changes in whether we need it aren't handled properly. - let needsScrollbar = this._needsScrollbar(); - let scrollbar_policy = needsScrollbar ? Gtk.PolicyType.AUTOMATIC : Gtk.PolicyType.NEVER; - if (this.isHorizontal) - this.actor.hscrollbar_policy = scrollbar_policy; - else - this.actor.vscrollbar_policy = scrollbar_policy; - - if (needsScrollbar) - this.actor.add_style_pseudo_class('scrolled'); - else - this.actor.remove_style_pseudo_class('scrolled'); - } - - _needsScrollbar() { - let topMenu = this._getTopMenu(); - let topThemeNode = topMenu.actor.get_theme_node(); - if (this.isHorizontal) { - let [topMinWidth, topNaturalWidth] = topMenu.actor.get_preferred_width(-1); - let topMaxWidth = topThemeNode.get_max_width(); - return topMaxWidth >= 0 && topNaturalWidth >= topMaxWidth; - } else { - let [topMinHeight, topNaturalHeight] = topMenu.actor.get_preferred_height(-1); - let topMaxHeight = topThemeNode.get_max_height(); - return topMaxHeight >= 0 && topNaturalHeight >= topMaxHeight; - } - - } - - isAnimatingOut() { - return this.actor.get_children().reduce(function(result, actor) { - return result || actor.animatingOut; - }, false); - } -}; - -var WindowPreviewMenuItem = GObject.registerClass( -class DashToDock_WindowPreviewMenuItem extends PopupMenu.PopupBaseMenuItem { - _init(window, params) { - super._init(params); - - this._window = window; - this._destroyId = 0; - this._windowAddedId = 0; - - // We don't want this: it adds spacing on the left of the item. - this.remove_child(this._ornamentLabel); - this.add_style_class_name('dashtodock-app-well-preview-menu-item'); - - this._cloneBin = new St.Bin(); - this._cloneBin.set_size(PREVIEW_MAX_WIDTH, PREVIEW_MAX_HEIGHT); - - // TODO: improve the way the closebutton is layout. Just use some padding - // for the moment. - this._cloneBin.set_style('padding-bottom: 0.5em'); - - this.closeButton = new St.Button({ style_class: 'window-close', - x_expand: true, - y_expand: true}); - this.closeButton.add_actor(new St.Icon({ icon_name: 'window-close-symbolic' })); - this.closeButton.set_x_align(Clutter.ActorAlign.END); - this.closeButton.set_y_align(Clutter.ActorAlign.START); - - - this.closeButton.opacity = 0; - this.closeButton.connect('clicked', this._closeWindow.bind(this)); - - let overlayGroup = new Clutter.Actor({layout_manager: new Clutter.BinLayout() }); - - overlayGroup.add_actor(this._cloneBin); - overlayGroup.add_actor(this.closeButton); - - let label = new St.Label({ text: window.get_title()}); - label.set_style('max-width: '+PREVIEW_MAX_WIDTH +'px'); - let labelBin = new St.Bin({ child: label, - x_align: St.Align.MIDDLE}); - - this._windowTitleId = this._window.connect('notify::title', () => { - label.set_text(this._window.get_title()); - }); - - let box = new St.BoxLayout({ vertical: true, - reactive:true, - x_expand:true }); - box.add(overlayGroup); - box.add(labelBin); - this.add_actor(box); - - this.connect('enter-event', this._onEnter.bind(this)); - this.connect('leave-event', this._onLeave.bind(this)); - this.connect('key-focus-in', this._onEnter.bind(this)); - this.connect('key-focus-out', this._onLeave.bind(this)); - - this._cloneTexture(window); - - } - - _cloneTexture(metaWin){ - - let mutterWindow = metaWin.get_compositor_private(); - - // Newly-created windows are added to a workspace before - // the compositor finds out about them... - // Moreover sometimes they return an empty texture, thus as a workarounf also check for it size - if (!mutterWindow || !mutterWindow.get_texture() || !mutterWindow.get_size()[0]) { - this._cloneTextureId = Mainloop.idle_add(() => { - // Check if there's still a point in getting the texture, - // otherwise this could go on indefinitely - if (metaWin.get_workspace()) - this._cloneTexture(metaWin); - this._cloneTextureId = 0; - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(this._cloneTextureId, '[dash-to-dock] this._cloneTexture'); - return; - } - - let [width, height] = mutterWindow.get_size(); - let scale = Math.min(1.0, PREVIEW_MAX_WIDTH/width, PREVIEW_MAX_HEIGHT/height); - let clone = new Clutter.Clone ({ source: mutterWindow, - reactive: true, - width: width * scale, - height: height * scale }); - - // when the source actor is destroyed, i.e. the window closed, first destroy the clone - // and then destroy the menu item (do this animating out) - this._destroyId = mutterWindow.connect('destroy', () => { - clone.destroy(); - this._destroyId = 0; // avoid to try to disconnect this signal from mutterWindow in _onDestroy(), - // as the object was just destroyed - this._animateOutAndDestroy(); - }); - - this._clone = clone; - this._mutterWindow = mutterWindow; - this._cloneBin.set_child(this._clone); - - this._clone.connect('destroy', () => { - if (this._destroyId) { - mutterWindow.disconnect(this._destroyId); - this._destroyId = 0; - } - this._clone = null; - }) - } - - _windowCanClose() { - return this._window.can_close() && - !this._hasAttachedDialogs(); - } - - _closeWindow(actor) { - this._workspace = this._window.get_workspace(); - - // This mechanism is copied from the workspace.js upstream code - // It forces window activation if the windows don't get closed, - // for instance because asking user confirmation, by monitoring the opening of - // such additional confirmation window - this._windowAddedId = this._workspace.connect('window-added', - this._onWindowAdded.bind(this)); - - this.deleteAllWindows(); - } - - deleteAllWindows() { - // Delete all windows, starting from the bottom-most (most-modal) one - //let windows = this._window.get_compositor_private().get_children(); - let windows = this._clone.get_children(); - for (let i = windows.length - 1; i >= 1; i--) { - let realWindow = windows[i].source; - let metaWindow = realWindow.meta_window; - - metaWindow.delete(global.get_current_time()); - } - - this._window.delete(global.get_current_time()); - } - - _onWindowAdded(workspace, win) { - let metaWindow = this._window; - - if (win.get_transient_for() == metaWindow) { - workspace.disconnect(this._windowAddedId); - this._windowAddedId = 0; - - // use an idle handler to avoid mapping problems - - // see comment in Workspace._windowAdded - let activationEvent = Clutter.get_current_event(); - let id = Mainloop.idle_add(() => { - this.emit('activate', activationEvent); - return GLib.SOURCE_REMOVE; - }); - GLib.Source.set_name_by_id(id, '[dash-to-dock] this.emit'); - } - } - - _hasAttachedDialogs() { - // count trasient windows - let n=0; - this._window.foreach_transient(function(){n++;}); - return n>0; - } - - _onEnter() { - this._showCloseButton(); - return Clutter.EVENT_PROPAGATE; - } - - _onLeave() { - if (!this._cloneBin.has_pointer && - !this.closeButton.has_pointer) - this._hideCloseButton(); - - return Clutter.EVENT_PROPAGATE; - } - - _idleToggleCloseButton() { - this._idleToggleCloseId = 0; - - if (!this._cloneBin.has_pointer && - !this.closeButton.has_pointer) - this._hideCloseButton(); - - return GLib.SOURCE_REMOVE; - } - - _showCloseButton() { - - if (this._windowCanClose()) { - this.closeButton.show(); - this.closeButton.remove_all_transitions(); - this.closeButton.ease({ - opacity: 255, - duration: Workspace.WINDOW_OVERLAY_FADE_TIME, - mode: Clutter.AnimationMode.EASE_OUT_QUAD - }); - } - } - - _hideCloseButton() { - this.closeButton.remove_all_transitions(); - this.closeButton.ease({ - opacity: 0, - duration: Workspace.WINDOW_OVERLAY_FADE_TIME, - mode: Clutter.AnimationMode.EASE_IN_QUAD - }); - } - - show(animate) { - let fullWidth = this.get_width(); - - this.opacity = 0; - this.set_width(0); - - let time = animate ? PREVIEW_ANIMATION_DURATION : 0; - this.remove_all_transitions(); - this.ease({ - opacity: 255, - width: fullWidth, - duration: time, - mode: Clutter.AnimationMode.EASE_IN_OUT_QUAD, - }); - } - - _animateOutAndDestroy() { - this.remove_all_transitions(); - this.ease({ - opacity: 0, - duration: PREVIEW_ANIMATION_DURATION, - }); - - this.ease({ - width: 0, - height: 0, - duration: PREVIEW_ANIMATION_DURATION, - delay: PREVIEW_ANIMATION_DURATION, - onComplete: () => this.destroy() - }); - } - - activate() { - this._getTopMenu().close(); - Main.activateWindow(this._window); - } - - _onDestroy() { - super._onDestroy(); - - if (this._cloneTextureId) { - GLib.source_remove(this._cloneTextureId); - this._cloneTextureId = 0; - } - - if (this._windowAddedId > 0) { - this._workspace.disconnect(this._windowAddedId); - this._windowAddedId = 0; - } - - if (this._destroyId > 0) { - this._mutterWindow.disconnect(this._destroyId); - this._destroyId = 0; - } - - if (this._windowTitleId > 0) { - this._window.disconnect(this._windowTitleId); - this._windowTitleId = 0; - } - } -}); diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js deleted file mode 100644 index 9e701c83..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/convenience.js +++ /dev/null @@ -1,124 +0,0 @@ -const Gettext = imports.gettext -const GObject = imports.gi.GObject -const Gio = imports.gi.Gio -const Config = imports.misc.config -const Unite = imports.misc.extensionUtils.getCurrentExtension() - -var SettingsManager = GObject.registerClass( - class UniteSettings extends Gio.Settings { - get DEFAULT_BINDING() { - return Gio.SettingsBindFlags.DEFAULT - } - - get _types() { - return { - 'autofocus-windows': 'boolean', - 'hide-activities-button': 'enum', - 'show-window-title': 'enum', - 'show-desktop-name': 'boolean', - 'desktop-name-text': 'string', - 'extend-left-box': 'boolean', - 'notifications-position': 'enum', - 'use-system-fonts': 'boolean', - 'show-legacy-tray': 'boolean', - 'greyscale-tray-icons': 'boolean', - 'show-window-buttons': 'enum', - 'window-buttons-theme': 'enum', - 'hide-window-titlebars': 'enum', - 'window-buttons-placement': 'select', - 'hide-dropdown-arrows': 'boolean', - 'hide-aggregate-menu-arrow': 'boolean', - 'hide-app-menu-arrow': 'boolean', - 'hide-app-menu-icon': 'boolean', - 'reduce-panel-spacing': 'boolean', - 'restrict-to-primary-screen': 'boolean' - } - } - - exists(key) { - return Object.keys(this._types).includes(key) - } - - getSettingType(key) { - return this._types[key] || 'invalid' - } - - getTypeSettings(type) { - return Object.keys(this._types).filter(key => this._types[key] == type) - } - - getSetting(key) { - if (!this.exists(key)) return - - let boolean = this.getSettingType(key) == 'boolean' - return boolean ? this.get_boolean(key) : this.get_string(key) - } - } -) - -var PreferencesManager = GObject.registerClass( - class UnitePreferences extends Gio.Settings { - get window_buttons_position() { - let setting = this.get_string('button-layout') - return /(close|minimize|maximize).*:/.test(setting) ? 'left' : 'right' - } - - get window_buttons_layout() { - let setting = this.get_string('button-layout') - return setting.match(/(close|minimize|maximize)/g) - } - - exists(key) { - let fun = key.replace(/-/g, '_') - return (fun in this) || this.list_keys().includes(key) - } - - getSetting(key) { - let fun = key.replace(/-/g, '_') - - if (this.exists(fun)) return this[fun] - if (this.exists(key)) return this.get_string(key) - } - } -) - -function initTranslations(domain) { - let textDomain = domain || Unite.metadata['gettext-domain'] - let localeDir = Unite.dir.get_child('locale') - - if (localeDir.query_exists(null)) - localeDir = localeDir.get_path() - else - localeDir = Config.LOCALEDIR - - Gettext.bindtextdomain(textDomain, localeDir) -} - -function getSettings(schema) { - schema = schema || Unite.metadata['settings-schema'] - - let gioSSS = Gio.SettingsSchemaSource - let schemaDir = Unite.dir.get_child('schemas') - let schemaSource = gioSSS.get_default() - - if (schemaDir.query_exists(null)) { - schemaDir = schemaDir.get_path() - schemaSource = gioSSS.new_from_directory(schemaDir, schemaSource, false) - } - - let schemaObj = schemaSource.lookup(schema, true) - - if (!schemaObj) { - let metaId = Unite.metadata.uuid - let message = `Schema ${schema} could not be found for extension ${metaId}.` - - throw new Error(`${message} Please check your installation.`) - } - - return new SettingsManager({ settings_schema: schemaObj }) -} - -function getPreferences() { - let schemaId = 'org.gnome.desktop.wm.preferences' - return new PreferencesManager({ schema_id: schemaId }) -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js deleted file mode 100644 index 1d5a8849..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/extension.js +++ /dev/null @@ -1,55 +0,0 @@ -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const ActivateWindow = Unite.imports.modules.activateWindow.ActivateWindow -const ExtendLeftBox = Unite.imports.modules.extendLeftBox.ExtendLeftBox -const DesktopName = Unite.imports.modules.desktopName.DesktopName -const MessageTray = Unite.imports.modules.messageTray.MessageTray -const ActivitiesButton = Unite.imports.modules.activitiesButton.ActivitiesButton -const ApplicationMenu = Unite.imports.modules.applicationMenu.ApplicationMenu -const WindowButtons = Unite.imports.modules.windowButtons.WindowButtons -const WindowDecoration = Unite.imports.modules.windowDecoration.WindowDecoration -const TopIcons = Unite.imports.modules.topIcons.TopIcons -const ThemeMods = Unite.imports.modules.themeMods.ThemeMods - -class UniteExtension { - constructor() { - this._activateWindow = new ActivateWindow() - this._extendLeftBox = new ExtendLeftBox() - this._desktopName = new DesktopName() - this._messageTray = new MessageTray() - this._activitiesButton = new ActivitiesButton() - this._applicationMenu = new ApplicationMenu() - this._windowButtons = new WindowButtons() - this._windowDecoration = new WindowDecoration() - this._topIcons = new TopIcons() - this._themeMods = new ThemeMods() - - Main.panel._addStyleClassName('unite-shell') - } - - destroy() { - this._activateWindow.destroy() - this._extendLeftBox.destroy() - this._desktopName.destroy() - this._messageTray.destroy() - this._activitiesButton.destroy() - this._applicationMenu.destroy() - this._windowButtons.destroy() - this._windowDecoration.destroy() - this._topIcons.destroy() - this._themeMods.destroy() - - Main.panel._removeStyleClassName('unite-shell') - } -} - -let uniteExtension - -function enable() { - uniteExtension = new UniteExtension() -} - -function disable() { - uniteExtension.destroy() - uniteExtension = null -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js deleted file mode 100644 index 840f2308..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/handlers.js +++ /dev/null @@ -1,100 +0,0 @@ -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Convenience = Unite.imports.convenience - -var SignalsHandler = class SignalsHandler { - constructor(context) { - this._init(context) - } - - _init(context) { - this._signals = {} - this._context = context - } - - _getCallbackFunction(callback) { - if (typeof callback == 'string') - callback = this._context[callback] || this._context[`_${callback}`] - - return callback - } - - _connectHandler(object, name, callbackObj) { - let callback = this._getCallbackFunction(callbackObj) - let signalId = object.connect(name, callback.bind(this._context)) - - return { object: object, signalId: signalId } - } - - _addHandler(object, name, callback) { - let signalKey = `${object}[${name}#${callback}]` - - if (!this._signals[signalKey]) - this._signals[signalKey] = this._connectHandler(object, name, callback) - - return signalKey - } - - connect(object, name, callback) { - return this._addHandler(object, name, callback) - } - - disconnect(signalKey) { - let signalData = this._signals[signalKey] - if (!signalData) return - - signalData.object.disconnect(signalData.signalId) - delete this._signals[signalKey] - } - - disconnectMany(signalKeys) { - signalKeys.forEach(signalKey => { this.disconnect(signalKey) }) - } - - disconnectAll() { - this.disconnectMany(Object.keys(this._signals)) - } -} - -var SettingsHandler = class SettingsHandler extends SignalsHandler { - _init(context) { - this._enabler = null - this._signals = {} - this._context = context - this._settings = Convenience.getSettings() - this._wmPrefs = Convenience.getPreferences() - } - - _getSettingObject(settingKey) { - if (this._settings.exists(settingKey)) - return this._settings - - if (this._wmPrefs.exists(settingKey)) - return this._wmPrefs - } - - connect(name, callback) { - let object = this._getSettingObject(name) - return this._addHandler(object, `changed::${name}`, callback) - } - - enable(name, callback) { - if (this._enabler) return - - let signalObj = this._settings - this._enabler = this._connectHandler(signalObj, `changed::${name}`, callback) - } - - disable() { - if (!this._enabler) return - - this._settings.disconnect(this._enabler.signalId) - this._enabler = null - } - - get(settingKey) { - if (settingKey == null) return - - let object = this._getSettingObject(settingKey) - if (object) return object.getSetting(settingKey) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js deleted file mode 100644 index a338a714..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/helpers.js +++ /dev/null @@ -1,101 +0,0 @@ -const Gio = imports.gi.Gio -const GLib = imports.gi.GLib -const St = imports.gi.St -const Meta = imports.gi.Meta -const Config = imports.misc.config -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Settings = Unite.imports.convenience.getSettings() - -const USER_CONFIG = GLib.get_user_config_dir() -const USER_STYLES = `${USER_CONFIG}/gtk-3.0/gtk.css` - -var minorVersion = parseInt(Config.PACKAGE_VERSION.split('.')[1]) - -function fileExists(path) { - return GLib.file_test(path, GLib.FileTest.EXISTS) -} - -function getUserStyles() { - if (!fileExists(USER_STYLES)) return '' - - let file = GLib.file_get_contents(USER_STYLES) - let style = String.fromCharCode.apply(null, file[1]) - - return style.replace(/@import.*unite@hardpixel\.eu.*css['"]\);\n/g, '') -} - -function loadUserStyles(styles) { - let existing = getUserStyles() - GLib.file_set_contents(USER_STYLES, styles + existing) -} - -function getThemeContext() { - return St.ThemeContext.get_for_stage(global.stage) -} - -function getTheme() { - let context = getThemeContext() - return context.get_theme() -} - -function getGioFile(filePath) { - let absPath = GLib.build_filenamev([Unite.path, filePath]) - - if (fileExists(absPath)) - return Gio.file_new_for_path(absPath) -} - -function loadStyles(filePath) { - let gioFile = getGioFile(filePath) - if (!gioFile) return - - let theme = getTheme() - theme.load_stylesheet(gioFile) - - return gioFile -} - -function unloadStyles(gioFile) { - let theme = getTheme() - theme.unload_stylesheet(gioFile) - - return null -} - -function scaleSize(initialSize) { - let context = getThemeContext() - return initialSize * context.scale_factor -} - -function getWindowXID(win) { - let desc = win.get_description() || '' - let match = desc.match(/0x[0-9a-f]+/) || [null] - - return match[0] -} - -function isWindow(win) { - if (!win) return - - let meta = Meta.WindowType - let types = [meta.NORMAL, meta.DIALOG, meta.MODAL_DIALOG, meta.UTILITY] - - return types.includes(win.window_type) -} - -function isMaximized(win, matchState) { - if (!win) return - - let flags = Meta.MaximizeFlags - let maximized = win.get_maximized() - let primaryScreen = win.is_on_primary_monitor() || !(Settings.getSetting('restrict-to-primary-screen')) - let tileMaximized = maximized == flags.HORIZONTAL || maximized == flags.VERTICAL - let fullMaximized = maximized == flags.BOTH - let bothMaximized = fullMaximized || tileMaximized - - switch (matchState) { - case 'both': return primaryScreen && bothMaximized - case 'maximized': return primaryScreen && fullMaximized - case 'tiled': return primaryScreen && tileMaximized - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json deleted file mode 100644 index debdbd60..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/metadata.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "_generated": "Generated by SweetTooth, do not edit", - "description": "Unite is a GNOME Shell extension which makes a few layout tweaks to the top panel and removes window decorations to make it look like Ubuntu Unity Shell.\n\n- Adds window buttons to the top panel for maximized windows.\n- Shows current window title in the app menu for maximized windows.\n- Removes titlebars on maximized windows.\n- Hides window controls on maximized windows with headerbars.\n- Moves the date to the right, reduces panel spacing and removes dropdown arrows.\n- Moves legacy tray icons to the top panel.\n- Moves notifications to the right.\n- Hides activities button.\n- Adds desktop name to the top panel.\n\nThis extension depends on some Xorg utilities. To install them:\n- Debian/Ubuntu: apt install x11-utils\n- Fedora/RHEL: dnf install xorg-x11-utils\n- Arch: pacman -S xorg-xprop\n\n*Settings are provided to enable/disable or customize the available tweaks.\n* Since version 2 applications on wayland with client side decorations are supported using CSS.", - "gettext-domain": "unite", - "name": "Unite", - "settings-schema": "org.gnome.shell.extensions.unite", - "shell-version": [ - "3.34", - "3.32" - ], - "url": "https://github.com/hardpixel/unite-shell", - "uuid": "unite@hardpixel.eu", - "version": 34 -} \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js deleted file mode 100644 index 4c4316df..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/module.js +++ /dev/null @@ -1,82 +0,0 @@ -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Signals = Unite.imports.handlers.SignalsHandler -const Settings = Unite.imports.handlers.SettingsHandler - -var BaseModule = class UniteBaseModule { - constructor() { - this._setup() - this._init() - } - - _setup() { - this._enableKey = null - this._enableValue = null - this._disableValue = null - - this._runCallback('_onSetup') - } - - _init() { - this._signals = new Signals(this) - this._settings = new Settings(this) - this._setting = this._settings.get(this._enableKey) - - this._runCallback('_onInitialize') - this._activate() - - this._settings.enable(this._enableKey, 'reload') - } - - get _enabled() { - if (this._enableKey == null) - return true - - if (this._enableValue != null) - return this._setting == this._enableValue - - if (this._disableValue != null) - return this._setting != this._disableValue - } - - _hasCallback(name) { - return typeof(this[name]) === 'function' - } - - _runCallback(name) { - if (this._hasCallback(name)) - this[name]() - } - - _activate() { - if (this._enabled) - this._runCallback('_onActivate') - } - - _deactivate() { - this._runCallback('_onDeactivate') - - this._settings.disconnectAll() - this._signals.disconnectAll() - } - - _reload() { - let prevState = this._enabled - this._setting = this._settings.get(this._enableKey) - - if (prevState == this._enabled) { - this._runCallback('_onReset') - } else { - this._deactivate() - this._activate() - - this._runCallback('_onReload') - } - } - - destroy() { - this._deactivate() - this._runCallback('_onDestroy') - - this._settings.disable() - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js deleted file mode 100644 index bb63e854..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activateWindow.js +++ /dev/null @@ -1,18 +0,0 @@ -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule - -var ActivateWindow = class ActivateWindow extends Base { - _onSetup() { - this._enableKey = 'autofocus-windows' - this._enableValue = true - } - - _onActivate() { - this._signals.connect(global.display, 'window-demands-attention', 'focusWindow') - } - - _focusWindow(actor, win) { - Main.activateWindow(win, global.get_current_time()) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js deleted file mode 100644 index 6d322934..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/activitiesButton.js +++ /dev/null @@ -1,46 +0,0 @@ -const Shell = imports.gi.Shell -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule - -var ActivitiesButton = class ActivitiesButton extends Base { - _onSetup() { - this._enableKey = 'hide-activities-button' - this._disableValue = 'never' - } - - _onInitialize() { - this._container = Main.panel.statusArea.activities.container - this.appSystem = Shell.AppSystem.get_default() - this.winTracker = Shell.WindowTracker.get_default() - } - - _onActivate() { - this._signals.connect(this.appSystem, 'app-state-changed', 'toggleButton') - this._signals.connect(this.winTracker, 'notify::focus-app', 'toggleButton') - - this._signals.connect(Main.overview, 'showing', 'toggleButton') - this._signals.connect(Main.overview, 'hiding', 'toggleButton') - - this._toggleButton() - } - - _onReset() { - this._toggleButton() - } - - _onDeactivate() { - this._container.show() - } - - _toggleButton() { - let appMenu = Main.panel.statusArea.appMenu._targetApp != null - let overview = Main.overview.visibleTarget - let hidden = this._setting == 'always' || (appMenu && !overview) - - if (!hidden && this._settings.get('show-desktop-name')) - hidden = !appMenu && !overview - - this._container.visible = !hidden - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js deleted file mode 100644 index 4916db53..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/applicationMenu.js +++ /dev/null @@ -1,73 +0,0 @@ -const Shell = imports.gi.Shell -const Meta = imports.gi.Meta -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const isWindow = Unite.imports.helpers.isWindow -const isMaximized = Unite.imports.helpers.isMaximized - -var ApplicationMenu = class ApplicationMenu extends Base { - _onSetup() { - this._enableKey = 'show-window-title' - this._disableValue = 'never' - } - - _onInitialize() { - this.appMenu = Main.panel.statusArea.appMenu - this.winTracker = Shell.WindowTracker.get_default() - this.monitorManager = Meta.MonitorManager.get() - this._isUpdating = false - } - - _onActivate() { - this._signals.connect(global.display, 'notify::focus-window', 'updateTitle') - this._signals.connect(this.monitorManager, 'monitors-changed', 'updateTitle') - - this._signals.connect(global.window_manager, 'size-change', 'updateTitleText') - this._signals.connect(this.appMenu._label, 'notify::text', 'updateTitleText') - - this._updateTitle() - } - - _onReset() { - this._updateTitle() - } - - _handleWindowTitle(win) { - if (!isWindow(win) || win._updateTitleID) return - - win._updateTitleID = win.connect( - 'notify::title', () => { this._updateTitleText() } - ) - } - - _updateTitle() { - let focusWindow = global.display.focus_window - - this._handleWindowTitle(focusWindow) - this._updateTitleText() - } - - _updateTitleText() { - if (this._isUpdating) return - - let focusApp = this.winTracker.focus_app - let focusWindow = global.display.focus_window - let current = this.appMenu._label.get_text() - let maximized = isMaximized(focusWindow, this._setting) - let always = this._setting == 'always' && focusWindow - let title = null - - if (always || maximized) - title = focusWindow.title - - if (!title && focusApp) - title = focusApp.get_name() - - if (title && title != current) { - this._isUpdating = true - this.appMenu._label.set_text(title) - this._isUpdating = false - } - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js deleted file mode 100644 index 7af25ff2..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/desktopName.js +++ /dev/null @@ -1,73 +0,0 @@ -const Shell = imports.gi.Shell -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const DesktopLabel = Unite.imports.panel.DesktopLabel - -var DesktopName = class DesktopName extends Base { - _onSetup() { - this._enableKey = 'show-desktop-name' - this._enableValue = true - } - - _onInitialize() { - this.appSystem = Shell.AppSystem.get_default() - this.winTracker = Shell.WindowTracker.get_default() - } - - _onActivate() { - this._signals.connect(this.appSystem, 'app-state-changed', 'toggleLabel') - this._signals.connect(this.winTracker, 'notify::focus-app', 'toggleLabel') - - this._signals.connect(Main.overview, 'showing', 'toggleLabel') - this._signals.connect(Main.overview, 'hiding', 'toggleLabel') - - this._settings.connect('desktop-name-text', 'setLabelText') - - this._createLabel() - } - - _onDeactivate() { - if (!this._label) return - - this._label.destroy() - this._label = null - } - - _visibleWindows() { - let windows = global.get_window_actors().find(win => { - let visible = win.metaWindow.showing_on_its_workspace() - let skipped = win.metaWindow.skip_taskbar - - return visible && !skipped - }) - - return windows - } - - _setLabelText() { - let text = this._settings.get('desktop-name-text') - this._label.setText(text) - } - - _toggleLabel() { - let appMenu = Main.panel.statusArea.appMenu._targetApp != null - let overview = Main.overview.visibleTarget - let visible = !appMenu && !overview - - if (visible) - visible = visible && !this._visibleWindows() - - this._label.setVisible(visible) - } - - _createLabel() { - if (this._label) return - - this._label = new DesktopLabel() - Main.panel.addToStatusArea('uniteDesktopLabel', this._label, 1, 'left') - - this._setLabelText() - this._toggleLabel() - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js deleted file mode 100644 index e9faa5b1..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/extendLeftBox.js +++ /dev/null @@ -1,87 +0,0 @@ -const Gi = imports._gi -const Clutter = imports.gi.Clutter -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule - -var ExtendLeftBox = class ExtendLeftBox extends Base { - _onSetup() { - this._enableKey = 'extend-left-box' - this._enableValue = true - } - - _onActivate() { - this._oldAllocate = Main.panel.__proto__.vfunc_allocate - - Main.panel.__proto__[Gi.hook_up_vfunc_symbol]('allocate', (box, flags) => { - Main.panel.vfunc_allocate.call(Main.panel, box, flags) - this._extendBox(Main.panel, box, flags) - }) - } - - _onDeactivate() { - if (this._oldAllocate) { - Main.panel.__proto__[Gi.hook_up_vfunc_symbol]('allocate', this._oldAllocate) - this._oldAllocate = null - } - } - - _onReload() { - Main.panel.queue_relayout() - } - - _extendBox(actor, box, flags) { - let leftBox = Main.panel._leftBox - let centerBox = Main.panel._centerBox - let rightBox = Main.panel._rightBox - - let allocWidth = box.x2 - box.x1 - let allocHeight = box.y2 - box.y1 - - let [leftMinWidth, leftNaturalWidth] = leftBox.get_preferred_width(-1) - let [centerMinWidth, centerNaturalWidth] = centerBox.get_preferred_width(-1) - let [rightMinWidth, rightNaturalWidth] = rightBox.get_preferred_width(-1) - - let sideWidth = allocWidth - rightNaturalWidth - centerNaturalWidth - let childBox = new Clutter.ActorBox() - - childBox.y1 = 0 - childBox.y2 = allocHeight - - if (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 = Math.min(Math.floor(sideWidth), leftNaturalWidth) - } - - leftBox.allocate(childBox, flags) - - childBox.y1 = 0 - childBox.y2 = allocHeight - - if (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 - } - - centerBox.allocate(childBox, flags) - - childBox.y1 = 0 - childBox.y2 = allocHeight - - if (actor.get_text_direction() == Clutter.TextDirection.RTL) { - childBox.x1 = 0 - childBox.x2 = rightNaturalWidth - } else { - childBox.x1 = allocWidth - rightNaturalWidth - childBox.x2 = allocWidth - } - - rightBox.allocate(childBox, flags) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js deleted file mode 100644 index d2b17504..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/messageTray.js +++ /dev/null @@ -1,29 +0,0 @@ -const Clutter = imports.gi.Clutter -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const scaleSize = Unite.imports.helpers.scaleSize - -var MessageTray = class MessageTray extends Base { - _onSetup() { - this._enableKey = 'notifications-position' - this._disableValue = 'center' - } - - _onInitialize() { - this._banner = Main.messageTray._bannerBin - } - - _onActivate() { - let mappings = { center: 'CENTER', left: 'START', right: 'END' } - let position = mappings[this._setting] || 'CENTER' - - this._banner.set_x_align(Clutter.ActorAlign[position]) - this._banner.set_width(scaleSize(390)) - } - - _onDeactivate() { - this._banner.set_x_align(Clutter.ActorAlign.CENTER) - this._banner.set_width(-1) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js deleted file mode 100644 index b3360a98..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/themeMods.js +++ /dev/null @@ -1,230 +0,0 @@ -const Gtk = imports.gi.Gtk -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const minorVersion = Unite.imports.helpers.minorVersion - -var ThemeMods = class ThemeMods extends Base { - _onInitialize() { - this.gtkSettings = Gtk.Settings.get_default() - this._extraSpace = minorVersion < 34 - this._appMenu = Main.panel.statusArea.appMenu - this._aggMenu = Main.panel.statusArea.aggregateMenu - this._leftBox = Main.panel._leftBox - this._centerBox = Main.panel._centerBox - this._rightBox = Main.panel._rightBox - this._uiStyles = {} - } - - _onActivate() { - this._signals.connect(this.gtkSettings, 'notify::gtk-font-name', 'setPanelStyle') - this._signals.connect(this._leftBox, 'actor_added', 'removePanelArrows') - this._signals.connect(this._centerBox, 'actor_added', 'removePanelArrows') - this._signals.connect(this._rightBox, 'actor_added', 'removePanelArrows') - - this._settings.connect('use-system-fonts', 'setPanelStyle') - this._settings.connect('reduce-panel-spacing', 'setPanelStyle') - this._settings.connect('hide-app-menu-icon', 'toggleAppMenuIcon') - this._settings.connect('hide-dropdown-arrows', 'togglePanelArrows') - this._settings.connect('hide-aggregate-menu-arrow', 'toggleAggMenuArrow') - this._settings.connect('hide-app-menu-arrow', 'toggleAppMenuArrow') - - this._setExtraSpace() - - this._toggleAppMenuIcon() - this._togglePanelArrows() - this._toggleAggMenuArrow() - this._toggleAppMenuArrow() - - this._setPanelStyle() - } - - _onDeactivate() { - this._unsetExtraSpace() - - this._resetAppMenuIcon() - this._resetPanelArrows() - this._resetAggMenuArrow() - this._resetAppMenuArrow() - - this._unsetPanelStyle() - } - - _setExtraSpace() { - if (this._extraSpace) { - this._addClass('extra-spacing') - } - } - - _unsetExtraSpace() { - if (this._extraSpace) { - this._removeClass('extra-spacing') - } - } - - _setPanelStyle() { - this._unsetPanelStyle() - - const fonts = this._settings.get('use-system-fonts') - const space = this._settings.get('reduce-panel-spacing') - - if (!fonts && !space) return - - if (fonts) { - const gtkFont = this.gtkSettings.gtk_font_name - const cssFont = gtkFont.replace(/\s\d+$/, '') - - this._addStyle('uiGroup', `font-family: ${cssFont};`) - this._addClass('system-fonts') - } - - if (space) { - this._addClass('small-spacing') - } - - this._addStyle('panel', 'font-size: 11.25pt;') - } - - _unsetPanelStyle() { - this._removeClass('small-spacing') - this._removeClass('system-fonts') - - this._removeStyle('uiGroup') - this._removeStyle('panel') - } - - _toggleAppMenuIcon() { - const enabled = this._settings.get('hide-app-menu-icon') - - if (enabled) { - this._appMenu._iconBox.hide() - } else { - this._resetAppMenuIcon() - } - } - - _resetAppMenuIcon() { - this._appMenu._iconBox.show() - } - - _getWidgetArrow(widget) { - let arrow = widget._arrow - - if (!arrow) { - const last = widget.get_n_children() - 1 - const actor = widget.get_children()[last] - - if (!actor) return - - if (actor.has_style_class_name && actor.has_style_class_name('popup-menu-arrow')) - arrow = actor - else - arrow = this._getWidgetArrow(actor) - } - - if (arrow && !widget.hasOwnProperty('_arrow')) - widget._arrow = arrow - - return arrow - } - - _toggleWidgetArrow(widget, hide) { - if (!widget) return - - const arrow = this._getWidgetArrow(widget) - if (!arrow) return - - if (hide && !widget._arrowHandled) { - arrow.visible = false - widget._arrowHandled = true - } - - if (!hide && widget._arrowHandled) { - arrow.visible = true - delete widget._arrowHandled - } - } - - _removePanelArrows() { - for (const [name, widget] of Object.entries(Main.panel.statusArea)) { - if (name != 'aggregateMenu' && name != 'appMenu') { - this._toggleWidgetArrow(widget, true) - } - } - } - - _resetPanelArrows() { - for (const [name, widget] of Object.entries(Main.panel.statusArea)) { - if (name != 'aggregateMenu' && name != 'appMenu') { - this._toggleWidgetArrow(widget, false) - } - } - } - - _togglePanelArrows() { - const enabled = this._settings.get('hide-dropdown-arrows') - - if (enabled) { - this._removePanelArrows() - } else { - this._resetPanelArrows() - } - } - - _toggleAggMenuArrow() { - const enabled = this._settings.get('hide-aggregate-menu-arrow') - - if (enabled) { - this._toggleWidgetArrow(this._aggMenu, true) - } else { - this._resetAggMenuArrow() - } - } - - _resetAggMenuArrow() { - this._toggleWidgetArrow(this._aggMenu, false) - } - - _toggleAppMenuArrow() { - const enabled = this._settings.get('hide-app-menu-arrow') - - if (enabled) { - this._toggleWidgetArrow(this._appMenu, true) - } else { - this._resetAppMenuArrow() - } - } - - _resetAppMenuArrow() { - this._toggleWidgetArrow(this._appMenu, false) - } - - _addClass(name) { - Main.panel._addStyleClassName(name) - } - - _removeClass(name) { - Main.panel._removeStyleClassName(name) - } - - _addStyle(name, style) { - this._uiStyles[name] = style - - let widget = Main[name] - let styles = widget.get_style() || '' - - widget.set_style(style + styles) - } - - _removeStyle(name) { - let style = this._uiStyles[name] - if (!style) return - - let widget = Main[name] - let styles = widget.get_style() || '' - - widget.set_style(styles.replace(style, '')) - - delete this._uiStyles[name] - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js deleted file mode 100644 index bf6b099f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/topIcons.js +++ /dev/null @@ -1,83 +0,0 @@ -const System = imports.system -const Clutter = imports.gi.Clutter -const Shell = imports.gi.Shell -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const TrayIndicator = Unite.imports.panel.TrayIndicator -const scaleSize = Unite.imports.helpers.scaleSize - -var TopIcons = class TopIcons extends Base { - _onSetup() { - this._enableKey = 'show-legacy-tray' - this._enableValue = true - } - - _onActivate() { - this._settings.connect('greyscale-tray-icons', 'desaturateIcons') - - this._createContainer() - this._createTray() - } - - _onDeactivate() { - this._destroyContainer() - this._destroyTray() - } - - _createTray() { - this._tray = new Shell.TrayManager() - - this._tray.connect('tray-icon-added', (trayManager, icon) => { - this._indicators.addIcon(icon) - this._desaturateIcon(icon) - }) - - this._tray.connect('tray-icon-removed', (trayManager, icon) => { - this._indicators.removeIcon(icon) - }) - - this._tray.manage_screen(Main.panel) - } - - _destroyTray() { - this._tray = null - System.gc() - } - - _createContainer() { - if (this._indicators) return - - this._indicators = new TrayIndicator({ size: scaleSize(20) }) - Main.panel.addToStatusArea('uniteTrayIndicator', this._indicators) - } - - _destroyContainer() { - if (!this._indicators) return - - this._indicators.destroy() - this._indicators = null - } - - _desaturateIcon(icon) { - let greyscale = this._settings.get('greyscale-tray-icons') - icon.clear_effects() - - if (!greyscale) return - - let desEffect = new Clutter.DesaturateEffect({ factor : 1.0 }) - let briEffect = new Clutter.BrightnessContrastEffect({}) - - briEffect.set_brightness(0.2) - briEffect.set_contrast(0.3) - - icon.add_effect_with_name('desaturate', desEffect) - icon.add_effect_with_name('brightness-contrast', briEffect) - } - - _desaturateIcons() { - if (!this._indicators) return - - this._indicators.forEach(icon => { this._desaturateIcon(icon) }) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js deleted file mode 100644 index 626d979b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowButtons.js +++ /dev/null @@ -1,181 +0,0 @@ -const St = imports.gi.St -const Shell = imports.gi.Shell -const Meta = imports.gi.Meta -const Main = imports.ui.main -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const WindowControls = Unite.imports.panel.WindowControls -const isWindow = Unite.imports.helpers.isWindow -const isMaximized = Unite.imports.helpers.isMaximized -const loadStyles = Unite.imports.helpers.loadStyles -const unloadStyles = Unite.imports.helpers.unloadStyles - -var WindowButtons = class WindowButtons extends Base { - _onSetup() { - this._enableKey = 'show-window-buttons' - this._disableValue = 'never' - } - - _onInitialize() { - this.monitorManager = Meta.MonitorManager.get() - } - - _onActivate() { - this._signals.connect(global.display, 'notify::focus-window', 'toggleButtons') - this._signals.connect(global.window_manager, 'size-change', 'toggleButtons') - this._signals.connect(global.window_manager, 'destroy', 'toggleButtons') - this._signals.connect(this.monitorManager, 'monitors-changed', 'toggleButtons') - - this._signals.connect(Main.overview, 'showing', 'toggleButtons') - this._signals.connect(Main.overview, 'hiding', 'toggleButtons') - - this._settings.connect('window-buttons-theme', 'updateTheme') - this._settings.connect('button-layout', 'updateButtons') - this._settings.connect('window-buttons-placement', 'updateButtons') - this._settings.connect('restrict-to-primary-screen', 'updateButtons') - - this._createButtons() - this._toggleButtons() - this._loadTheme() - } - - _onReset() { - this._toggleButtons() - } - - _onDeactivate() { - this._unloadTheme() - this._destroyButtons() - } - - _createButtons() { - let buttons = this._settings.get('window-buttons-layout') - let side = this._settings.get('window-buttons-position') - let place = this._settings.get('window-buttons-placement') - let index = side == 'left' ? 1 : -1 - - if (!buttons || this._controls) return - - if ((place == 'right' || place == 'last') && side == 'left') { - buttons = buttons.reverse() - } - - if (place == 'left' || place == 'first') { - side = 'left' - index = 0 - } - - if (place == 'right' || place == 'last') { - side = 'right' - index = -1 - } - - this._controls = new WindowControls() - - this._controls.addButtons(buttons, (actor, event) => { - this._onButtonClick(actor, event) - }) - - Main.panel.addToStatusArea('uniteWindowControls', this._controls, index, side) - - const widget = this._controls.get_parent() - const appMenu = Main.panel.statusArea.appMenu.get_parent() - const aggMenu = Main.panel.statusArea.aggregateMenu.get_parent() - - if (side == 'left' && place != 'first') { - Main.panel._leftBox.set_child_below_sibling(widget, appMenu) - } - - if (side == 'right' && place != 'last') { - Main.panel._rightBox.set_child_below_sibling(widget, aggMenu) - } - } - - _destroyButtons() { - if (!this._controls) return - - this._controls.destroy() - this._controls = null - } - - _updateButtons() { - this._destroyButtons() - this._createButtons() - } - - _updateTheme() { - this._unloadTheme() - this._loadTheme() - } - - _loadTheme() { - if (this._themeFile || !this._controls) return - - this._themeName = this._settings.get('window-buttons-theme') - this._themeFile = loadStyles(`themes/${this._themeName}/stylesheet.css`) - - this._controls.add_style_class_name(`${this._themeName}-buttons`) - } - - _unloadTheme() { - if (!this._themeFile || !this._controls) return - - this._controls.remove_style_class_name(`${this._themeName}-buttons`) - - this._themeName = this._settings.get('window-buttons-theme') - this._themeFile = unloadStyles(this._themeFile) - } - - _onButtonClick(actor, event) { - let focusWindow = global.display.focus_window - if (!focusWindow) return - - switch (actor._windowAction) { - case 'minimize': return this._minimizeWindow(focusWindow) - case 'maximize': return this._maximizeWindow(focusWindow) - case 'close': return this._closeWindow(focusWindow) - } - } - - _minimizeWindow(win) { - if (!win.minimized) win.minimize() - } - - _maximizeWindow(win) { - let bothMaximized = Meta.MaximizeFlags.BOTH - let maximizeState = win.get_maximized() - - if (maximizeState === bothMaximized) - win.unmaximize(bothMaximized) - else - win.maximize(bothMaximized) - } - - _closeWindow(win) { - win.delete(global.get_current_time()) - } - - _toggleButtons() { - if (!this._controls) return - - let focusWindow = global.display.focus_window - let overview = Main.overview.visibleTarget - let valid = isWindow(focusWindow) - let visible = false - - if (!overview && valid) { - let maxed = isMaximized(focusWindow, this._setting) - let always = this._setting == 'always' && focusWindow - - visible = always || maxed - } else { - let target = Main.panel.statusArea.appMenu._targetApp - let state = target != null && target.get_state() - let running = state == Shell.AppState.RUNNING - - visible = running && !overview - } - - this._controls.setVisible(visible) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js deleted file mode 100644 index 1731df8b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/modules/windowDecoration.js +++ /dev/null @@ -1,196 +0,0 @@ -const ByteArray = imports.byteArray -const GLib = imports.gi.GLib -const Meta = imports.gi.Meta -const Util = imports.misc.util -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Base = Unite.imports.module.BaseModule -const getWindowXID = Unite.imports.helpers.getWindowXID -const isWindow = Unite.imports.helpers.isWindow -const isMaximized = Unite.imports.helpers.isMaximized -const loadUserStyles = Unite.imports.helpers.loadUserStyles - -var WindowDecoration = class WindowDecoration extends Base { - _onSetup() { - this._enableKey = 'hide-window-titlebars' - this._disableValue = 'never' - } - - _onInitialize() { - this.monitorManager = Meta.MonitorManager.get() - } - - _onActivate() { - this._signals.connect(global.display, 'notify::focus-window', 'updateTitlebar') - this._signals.connect(global.window_manager, 'size-change', 'updateTitlebar') - this._signals.connect(this.monitorManager, 'monitors-changed', 'undecorateWindows') - - this._settings.connect('hide-window-titlebars', 'updateUserStyles') - this._settings.connect('button-layout', 'updateUserStyles') - this._settings.connect('restrict-to-primary-screen', 'undecorateWindows') - - this._updateUserStyles() - this._undecorateWindows() - } - - _onDeactivate() { - this._removeUserStyles() - this._decorateWindows() - } - - _onReset() { - this._removeUserStyles() - this._updateUserStyles() - - this._undecorateWindows() - } - - _getWindowXID(win) { - win._windowXID = win._windowXID || getWindowXID(win) - return win._windowXID - } - - _getHintValue(win, hint) { - let winId = this._getWindowXID(win) - if (!winId) return - - let result = GLib.spawn_command_line_sync(`xprop -id ${winId} ${hint}`) - let string = ByteArray.toString(result[1]) - if (!string.match(/=/)) return - - string = string.split('=')[1].trim().split(',').map(part => { - part = part.trim() - return part.match(/\dx/) ? part : `0x${part}` - }) - - return string - } - - _setHintValue(win, hint, value) { - let winId = this._getWindowXID(win) - if (!winId) return - - Util.spawn(['xprop', '-id', winId, '-f', hint, '32c', '-set', hint, value]) - } - - _getMotifHints(win) { - if (!win._uniteOriginalState) { - let state = this._getHintValue(win, '_UNITE_ORIGINAL_STATE') - - if (!state) { - state = this._getHintValue(win, '_MOTIF_WM_HINTS') - state = state || ['0x2', '0x0', '0x1', '0x0', '0x0'] - - this._setHintValue(win, '_UNITE_ORIGINAL_STATE', state.join(', ')) - } - - win._uniteOriginalState = state - } - - return win._uniteOriginalState - } - - _getAllWindows() { - let windows = global.get_window_actors().map(win => win.meta_window) - return windows.filter(win => this._handleWindow(win)) - } - - _handleWindow(win) { - let handleWin = false - if (!isWindow(win)) return - - let state = this._getMotifHints(win) - handleWin = !win.is_client_decorated() - handleWin = handleWin && (state[2] != '0x2' && state[2] != '0x0') - - return handleWin - } - - _toggleDecorations(win, hide) { - let winId = this._getWindowXID(win) - if (!winId) return - - let prop = '_MOTIF_WM_HINTS' - let flag = '0x2, 0x0, %s, 0x0, 0x0' - let value = hide ? flag.format('0x2') : flag.format('0x1') - - Util.spawn(['xprop', '-id', winId, '-f', prop, '32c', '-set', prop, value]) - } - - _resetDecorations(win) { - if (!this._handleWindow(win)) - return - - this._toggleDecorations(win, false) - - delete win._decorationOFF - delete win._windowXID - } - - _updateTitlebar() { - let focusWindow = global.display.focus_window - if (!focusWindow) return - - this._toggleTitlebar(focusWindow) - } - - _showTitlebar(win) { - if (!win._decorationOFF) return - - win._decorationOFF = false - this._toggleDecorations(win, false) - } - - _hideTitlebar(win) { - if (win._decorationOFF) return - - win._decorationOFF = true - this._toggleDecorations(win, true) - } - - _toggleTitlebar(win) { - if (!this._handleWindow(win)) - return - - let maxed = isMaximized(win, this._setting) - let always = this._setting == 'always' - - if (always || maxed) - this._hideTitlebar(win) - else - this._showTitlebar(win) - } - - _getCssImports() { - let position = this._settings.get('window-buttons-position') - let filePath = `${Unite.path}/styles/buttons-${position}` - let maximized = `@import url('${filePath}.css');\n` - let tiled = `@import url('${filePath}-tiled.css');\n` - let always = `@import url('${filePath}-always.css');\n` - - switch (this._setting) { - case 'both': return maximized + tiled - case 'maximized': return maximized - case 'tiled': return tiled - case 'always': return always - } - } - - _updateUserStyles() { - let styles = this._getCssImports() - loadUserStyles(styles || '') - } - - _removeUserStyles() { - loadUserStyles('') - } - - _undecorateWindows() { - let windows = this._getAllWindows() - windows.forEach(win => { this._toggleTitlebar(win) }) - } - - _decorateWindows() { - let windows = this._getAllWindows() - windows.forEach(win => { this._resetDecorations(win) }) - } -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js deleted file mode 100644 index ab44ddb7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/panel.js +++ /dev/null @@ -1,121 +0,0 @@ -const GObject = imports.gi.GObject -const St = imports.gi.St -const Clutter = imports.gi.Clutter -const Main = imports.ui.main -const PanelMenu = imports.ui.panelMenu - -var DesktopLabel = GObject.registerClass( - class UniteDesktopLabel extends PanelMenu.Button { - _init(params = { text: 'Desktop' }) { - this.params = params - this.appMenu = Main.panel.statusArea.appMenu - - super._init(0.0, null, true) - - this._label = new St.Label({ y_align: Clutter.ActorAlign.CENTER }) - this.add_actor(this._label) - - this.reactive = false - this.label_actor = this._label - - this.setText(params.text) - } - - setText(text) { - this._label.set_text(text) - } - - setVisible(visible) { - this.container.visible = visible - this.appMenu.container.visible = !visible - } - } -) - -var TrayIndicator = GObject.registerClass( - class UniteTrayIndicator extends PanelMenu.Button { - _init(params = { size: 20 }) { - this._icons = [] - this.params = params - - super._init(0.0, null, true) - - this._indicators = new St.BoxLayout({ style_class: 'panel-status-indicators-box' }) - this.add_child(this._indicators) - - this._sync() - } - - _sync() { - this.visible = this._icons.length - } - - addIcon(icon) { - this._icons.push(icon) - - const mask = St.ButtonMask.ONE | St.ButtonMask.TWO | St.ButtonMask.THREE - const ibtn = new St.Button({ child: icon, button_mask: mask }) - - this._indicators.add_child(ibtn) - - icon.connect('destroy', () => { ibtn.destroy() }) - ibtn.connect('button-release-event', (actor, event) => { icon.click(event) }) - - icon.set_reactive(true) - icon.set_size(this.params.size, this.params.size) - - this._sync() - } - - removeIcon(icon) { - const actor = icon.get_parent() || icon - actor.destroy() - - const index = this._icons.indexOf(icon) - this._icons.splice(index, 1) - - this._sync() - } - - forEach(callback) { - this._icons.forEach(icon => { callback.call(null, icon) }) - } - } -) - -var WindowControls = GObject.registerClass( - class UniteWindowControls extends PanelMenu.Button { - _init() { - super._init(0.0, null, true) - - this._controls = new St.BoxLayout({ style_class: 'window-controls-box' }) - this.add_child(this._controls) - - this.add_style_class_name('window-controls') - } - - _addButton(action, callback) { - const bin = new St.Bin({ style_class: 'icon' }) - const btn = new St.Button({ track_hover: true }) - - btn._windowAction = action - - btn.add_style_class_name(`window-button ${action}`) - btn.add_actor(bin) - - btn.connect('clicked', (actor, event) => { - callback.call(null, actor, event) - }) - - this._controls.add_child(btn) - } - - addButtons(buttons, callback) { - buttons.forEach(action => { this._addButton(action, callback) }) - } - - setVisible(visible) { - this.container.visible = visible - } - } -) diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js deleted file mode 100644 index 6b8ebb11..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/prefs.js +++ /dev/null @@ -1,74 +0,0 @@ -const GObject = imports.gi.GObject -const Gtk = imports.gi.Gtk -const Unite = imports.misc.extensionUtils.getCurrentExtension() -const Convenience = Unite.imports.convenience - -var PrefsWidget = GObject.registerClass( - class UnitePrefsWidget extends Gtk.Box { - _init(params) { - this._settings = Convenience.getSettings() - super._init(params) - - this._buildable = new Gtk.Builder() - this._buildable.add_from_file(`${Unite.path}/settings.ui`) - - this._container = this._getWidget('prefs_widget') - this.add(this._container) - - this._bindStrings() - this._bindSelects() - this._bindBooleans() - this._bindEnumerations() - } - - _getWidget(name) { - let widgetName = name.replace(/-/g, '_') - return this._buildable.get_object(widgetName) - } - - _bindInput(setting, prop) { - let widget = this._getWidget(setting) - this._settings.bind(setting, widget, prop, this._settings.DEFAULT_BINDING) - } - - _bindEnum(setting) { - let widget = this._getWidget(setting) - widget.set_active(this._settings.get_enum(setting)) - - widget.connect('changed', (combobox) => { - this._settings.set_enum(setting, combobox.get_active()) - }) - } - - _bindStrings() { - let settings = this._settings.getTypeSettings('string') - settings.forEach(setting => { this._bindInput(setting, 'text') }) - } - - _bindSelects() { - let settings = this._settings.getTypeSettings('select') - settings.forEach(setting => { this._bindInput(setting, 'active-id') }) - } - - _bindBooleans() { - let settings = this._settings.getTypeSettings('boolean') - settings.forEach(setting => { this._bindInput(setting, 'active') }) - } - - _bindEnumerations() { - let settings = this._settings.getTypeSettings('enum') - settings.forEach(setting => { this._bindEnum(setting) }) - } - } -) - -function init() { - Convenience.initTranslations() -} - -function buildPrefsWidget() { - let widget = new PrefsWidget() - widget.show_all() - - return widget -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/gschemas.compiled b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/gschemas.compiled deleted file mode 100644 index ac57a70f3e34036050feebd37822f00519d6e3e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2164 zcmcIlO^6&t6s~9{uDjV}lidxg9$W-r=Fl_b5D-N@B)SUz9V7^XSkqlIQ*2LFQ(e6~ z6HG21^pdNXAmU*~5%eY=Jh&cm6TRi?UepMJ7Z0L@_WP=Peirs<3ch)7zN&sz{oePg zw=PSkrSYO38?bLwe)GPXI|jS(Tim4O+@^Rzj9~9zL1SHr62mNj5HE=g)&th{+kIn) zs+|v1nzq%*E0b$$@^)dgS6JLU$4BbHy@>m39EWWH4Ex{_I0S!2SFbIx{`4E*#REb-4&40nhefWZ z&-G8hegNFwSieY~KKajKzXU#e?0Con{Z;V$u(yDd@$;cB^m)z$*k6FJUw`I+ap;G- zz}^M6-Z{TVo<8HOKtR-HKCrt{qVjETv&hJy!WxcaqSUFNCWQO+xNvnbh5WrqAz zFI%#&!vFgDQ~bZ9hk7JR_FFlYu7FvgFP*cduMONY{O?t&&9(!Dw_c~1ta3VAT;;TD{Qz55`Am1^ID{-0r`r~} zit=&p)iCN=<1roT9!?`;uXnW9Dz62=;|N)JOMB#5s>!;(v;7*={hZ3Z)3J}djWVZ) z(v71$c1oGKeX}eYDpN!{wx&8yxFnM(RXrbdZ79lYed25el^Rsf+1>DlINwqF%~Bad z!QoP`j@rzt%*%e?sXmla?HnTUEjiE!_+{-_XX=c4U{0wU-mTOlwMJc28>;{{%fUMr zp91t^b%#@b>?^+)n`x)zXPsh^pyAWkIM;VX{4i{QzF8?v!2V%ge z^uQ#+4?R{bE>BGJKi}vPG|Dp>Ytv_@Fv5H|e~QA# X<4}e}{Nc-Q)>?D9|KIvB97+5KnP40N diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml deleted file mode 100644 index b3fb7c1d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/schemas/org.gnome.shell.extensions.unite.gschema.xml +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true - Apply system fonts to shell interface. - - - - true - Extend top bar left box. - - - - true - Legacy tray icons in top bar. - - - - false - Convert legacy tray icons to greyscale. - - - - true - Autofocus windows that demand attention. - - - - true - Show desktop name in top bar. - - - - "GNOME Desktop" - Set the top bar desktop name text. - - - - true - Restrict functionalities to the primary screen. - - - - true - Hide top bar dropdown arrows. - - - - false - Hide aggregate menu dropdown arrow. - - - - true - Hide app menu dropdown arrow. - - - - true - Hide app menu application icon. - - - - true - Reduce top bar items spacing. - - - - "auto" - Top bar window buttons position. - - - - "maximized" - Use window title to replace the app-menu label. - - - - "maximized" - Active window bottons in top bar. - - - - "default-dark" - Top bar window buttons theme. - - - - "maximized" - Select windows state to hide titlebars. - - - - "right" - Select notification messages position. - - - - "auto" - Hide top bar activities button. - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui deleted file mode 100644 index 605d7844..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/settings.ui +++ /dev/null @@ -1,906 +0,0 @@ - - - - - - True - True - True - False - True - - - True - False - start - 20 - 20 - 20 - 20 - vertical - 15 - True - - - True - False - 50 - - - True - False - center - Extend top bar left box - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 1 - - - - - True - False - 50 - - - True - False - center - Auto focus new windows - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 2 - - - - - True - False - 50 - - - True - False - center - Show system tray in top bar - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 3 - - - - - True - False - 50 - - - True - False - center - Show desktop name in top bar - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 5 - - - - - True - False - 50 - - - True - False - center - Restrict functionalities to the primary screen - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 6 - - - - - True - False - 50 - - - True - False - center - Hide activities button - - - False - True - 0 - - - - - 170 - True - False - 1 - - Never - Auto - Always - - - - False - True - end - 1 - - - - - False - True - 8 - - - - - True - False - 50 - - - True - False - center - Hide window titlebars - - - False - True - 0 - - - - - 170 - True - False - 2 - - Never - Tiled - Maximized - Both - Always - - - - False - True - end - 1 - - - - - False - True - 9 - - - - - True - False - 50 - - - True - False - center - Show window title in app menu - - - False - True - 0 - - - - - 170 - True - False - 2 - - Never - Tiled - Maximized - Both - Always - - - - False - True - end - 1 - - - - - False - True - 10 - - - - - True - False - 50 - - - True - False - center - Show window buttons in top bar - - - False - True - 0 - - - - - 170 - True - False - 2 - - Never - Tiled - Maximized - Both - Always - - - - False - True - end - 1 - - - - - False - True - 11 - - - - - True - False - 50 - - - True - False - center - Notification messages position - - - False - True - 0 - - - - - 170 - True - False - 2 - - Center - Left - Right - - - - False - True - end - 1 - - - - - False - True - 13 - - - - - True - - - - - True - False - General - - - False - - - - - True - False - start - 20 - 20 - 20 - 20 - vertical - 15 - True - - - True - False - 50 - - - True - False - center - Apply system fonts to shell theme - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 0 - - - - - True - False - 50 - - - True - False - center - Convert tray icons to greyscale - - - False - True - 0 - - - - - True - True - center - - - False - True - end - 1 - - - - - False - True - 1 - - - - - True - False - 50 - - - True - False - center - Hide top bar dropdown arrows - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 2 - - - - - True - False - 50 - - - True - False - center - Hide aggregate menu dropdown arrow - - - False - True - 0 - - - - - True - True - center - - - False - True - end - 1 - - - - - False - True - 3 - - - - - True - False - 50 - - - True - False - center - Hide app menu dropdown arrow - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 4 - - - - - True - False - 50 - - - True - False - center - Hide app menu application icon - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 5 - - - - - True - False - 50 - - - True - False - center - Reduce top bar items spacing - - - False - True - 0 - - - - - True - True - center - True - - - False - True - end - 1 - - - - - False - True - 6 - - - - - True - False - 50 - - - True - False - center - Top bar desktop name text - - - False - True - 0 - - - - - 170 - True - True - GNOME Desktop - - - False - True - end - 1 - - - - - False - True - 7 - - - - - True - False - True - 50 - - - True - False - center - Top bar window buttons position - - - False - True - 0 - - - - - 170 - True - False - auto - - Auto - Left - Right - First - Last - - - - False - True - end - 1 - - - - - False - True - 8 - - - - - True - False - True - 50 - - - True - False - center - Top bar window buttons theme - - - False - True - 0 - - - - - 170 - True - False - 0 - - Default Dark - Default Light - Ambiance - Radiance - Arc Dark - Arc Light - United Dark - United Light - Materia Dark - Materia Light - OSX Arc - Vertex - Pop Dark - Pop Light - Vimix - Yaru - Arrongin - Telinkrin - - - - False - True - end - 1 - - - - - False - True - 9 - - - - - 1 - True - - - - - True - False - Appearance - - - 1 - False - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css deleted file mode 100644 index c6a1ef5a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-always.css +++ /dev/null @@ -1,22 +0,0 @@ -window headerbar, -window .titlebar { - padding-left: 0; -} - -window headerbar ~ headerbar, -window headerbar ~ .titlebar, -window .titlebar ~ .titlebar, -window .titlebar ~ headerbar { - padding-left: 6px; -} - -window headerbar > box.left, -window .titlebar > box.left { - margin: 0 0 0 -200px; - opacity: 0; -} - -window .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css deleted file mode 100644 index 703cca12..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left-tiled.css +++ /dev/null @@ -1,22 +0,0 @@ -.tiled headerbar, -.tiled .titlebar { - padding-left: 0; -} - -.tiled headerbar ~ headerbar, -.tiled headerbar ~ .titlebar, -.tiled .titlebar ~ .titlebar, -.tiled .titlebar ~ headerbar { - padding-left: 6px; -} - -.tiled headerbar > box.left, -.tiled .titlebar > box.left { - margin: 0 0 0 -200px; - opacity: 0; -} - -.tiled .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css deleted file mode 100644 index a57eb17b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-left.css +++ /dev/null @@ -1,22 +0,0 @@ -.maximized headerbar, -.maximized .titlebar { - padding-left: 0; -} - -.maximized headerbar ~ headerbar, -.maximized headerbar ~ .titlebar, -.maximized .titlebar ~ .titlebar, -.maximized .titlebar ~ headerbar { - padding-left: 6px; -} - -.maximized headerbar > box.left, -.maximized .titlebar > box.left { - margin: 0 0 0 -200px; - opacity: 0; -} - -.maximized .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css deleted file mode 100644 index 801de7b4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-always.css +++ /dev/null @@ -1,20 +0,0 @@ -window > headerbar, -window > .titlebar, -window > headerbar > headerbar, -window > .titlebar > .titlebar, -window > .titlebar > stack > headerbar, -window headerbar:last-child, -window .titlebar:last-child { - padding-right: 0; -} - -window headerbar > box.right, -window .titlebar > box.right { - margin: 0 -200px 0 0; - opacity: 0; -} - -window .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css deleted file mode 100644 index fff4fecb..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right-tiled.css +++ /dev/null @@ -1,20 +0,0 @@ -.tiled > headerbar, -.tiled > .titlebar, -.tiled > headerbar > headerbar, -.tiled > .titlebar > .titlebar, -.tiled > .titlebar > stack > headerbar, -.tiled headerbar:last-child, -.tiled .titlebar:last-child { - padding-right: 0; -} - -.tiled headerbar > box.right, -.tiled .titlebar > box.right { - margin: 0 -200px 0 0; - opacity: 0; -} - -.tiled .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css deleted file mode 100644 index 20b20a29..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/styles/buttons-right.css +++ /dev/null @@ -1,20 +0,0 @@ -.maximized > headerbar, -.maximized > .titlebar, -.maximized > headerbar > headerbar, -.maximized > .titlebar > .titlebar, -.maximized > .titlebar > stack > headerbar, -.maximized headerbar:last-child, -.maximized .titlebar:last-child { - padding-right: 0; -} - -.maximized headerbar > box.right, -.maximized .titlebar > box.right { - margin: 0 -200px 0 0; - opacity: 0; -} - -.maximized .titlebar.default-decoration { - margin: -200px 0 0; - opacity: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css deleted file mode 100644 index c78b855c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/stylesheet.css +++ /dev/null @@ -1,48 +0,0 @@ -#panel.small-spacing .panel-button { - -natural-hpadding: 8px; - -minimum-hpadding: 6px; -} - -#panel.small-spacing .panel-button .system-status-icon { - padding: 0; -} - -#panel.small-spacing .panel-button .panel-status-indicators-box { - spacing: 12px; -} - -#panel.small-spacing.extra-spacing .panel-button .panel-status-indicators-box { - spacing: 10px; -} - -#panel.small-spacing.extra-spacing #appMenu { - margin: 0 8px; -} - -#panel .panel-button.window-controls { - -natural-hpadding: 0px; - -minimum-hpadding: 0px; -} - -#panel .window-controls-box { - spacing: 2px; -} - -#panel .window-controls-box .window-button { - width: 22px; -} - -#panelLeft .window-controls-box:first-child .window-button:first-child { - padding-left: 3px; -} - -#panelRight .window-controls-box:last-child .window-button:last-child { - padding-right: 3px; -} - -#panel .window-controls-box .icon { - background-color: transparent; - border-radius: 0; - box-shadow: none; - border: 0; -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg deleted file mode 100644 index 6670047c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-active.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg deleted file mode 100644 index 91ab1631..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close-hover.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg deleted file mode 100644 index 5a6c3a75..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/close.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg deleted file mode 100644 index 32b0a4fb..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-active.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg deleted file mode 100644 index 3c15c364..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize-hover.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg deleted file mode 100644 index 668ee389..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/maximize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg deleted file mode 100644 index cee4dcb8..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-active.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg deleted file mode 100644 index 6932125b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize-hover.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg deleted file mode 100644 index 06bb6a3c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/minimize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css deleted file mode 100644 index 91029162..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/ambiance/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 19px; - height: 19px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg deleted file mode 100644 index 2c33f879..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg deleted file mode 100644 index 1f3a7af6..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg deleted file mode 100644 index 3d8ab614..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg deleted file mode 100644 index 2c2ac30e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-active.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg deleted file mode 100644 index 0ca87567..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg deleted file mode 100644 index c629fa13..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg deleted file mode 100644 index 30308a83..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg deleted file mode 100644 index c0ca7f43..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg deleted file mode 100644 index d7bb715f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg deleted file mode 100644 index 65f0d56e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg deleted file mode 100644 index 62fb143b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg deleted file mode 100644 index fb56677f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg deleted file mode 100644 index 2c2ac30e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-active.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg deleted file mode 100644 index 1e4b5742..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg deleted file mode 100644 index 0a40905c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg deleted file mode 100644 index 30308a83..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg deleted file mode 100644 index c3f1cb6e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg deleted file mode 100644 index 3a347b9d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arc-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg deleted file mode 100644 index 326b7d62..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg deleted file mode 100644 index dca791d5..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg deleted file mode 100644 index 8eaf4b1e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/close.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg deleted file mode 100644 index e2dff2e8..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg deleted file mode 100644 index 77272234..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg deleted file mode 100644 index 10f45d52..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/maximize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg deleted file mode 100644 index 0a73dcd1..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg deleted file mode 100644 index 380e42d7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg deleted file mode 100644 index 24ddca09..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/minimize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css deleted file mode 100644 index 0f044fc0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/arrongin/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 14px; - height: 14px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg deleted file mode 100644 index 66bf354b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg deleted file mode 100644 index dba468e4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg deleted file mode 100644 index 592ee7ac..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg deleted file mode 100644 index dfac382c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg deleted file mode 100644 index b8e8704d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg deleted file mode 100644 index 95351854..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg deleted file mode 100644 index 8dde54f4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg deleted file mode 100644 index 5a30c9ab..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg deleted file mode 100644 index 7c8f96e7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css deleted file mode 100644 index 5fd65cb9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 16px; - height: 16px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg deleted file mode 100644 index 66bf354b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg deleted file mode 100644 index dba468e4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg deleted file mode 100644 index 592ee7ac..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg deleted file mode 100644 index 3e6accab..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg deleted file mode 100644 index fd61fd7c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg deleted file mode 100644 index 68c0a29d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg deleted file mode 100644 index 681e3ebb..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg deleted file mode 100644 index 6766f8fa..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg deleted file mode 100644 index 176b6a7a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css deleted file mode 100644 index 5fd65cb9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/default-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 16px; - height: 16px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg deleted file mode 100644 index 58d8cd0e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg deleted file mode 100644 index 3b011079..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg deleted file mode 100644 index 798cedd9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg deleted file mode 100644 index 2fe78a41..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg deleted file mode 100644 index 45eafca3..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg deleted file mode 100644 index 66f1da4a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg deleted file mode 100644 index fda56049..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg deleted file mode 100644 index 2e469471..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg deleted file mode 100644 index d61619ad..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg deleted file mode 100644 index fed664d4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg deleted file mode 100644 index 92b1e466..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg deleted file mode 100644 index 16670425..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg deleted file mode 100644 index 606428f7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg deleted file mode 100644 index 4242e449..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg deleted file mode 100644 index fe75189c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg deleted file mode 100644 index 5a22979b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg deleted file mode 100644 index da834aed..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg deleted file mode 100644 index 73f7204f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/materia-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg deleted file mode 100755 index 633cc5b9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-active.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg deleted file mode 100755 index 633cc5b9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg deleted file mode 100755 index be494f39..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg deleted file mode 100755 index e577176e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-active.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg deleted file mode 100755 index e577176e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg deleted file mode 100755 index 65f1a51a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/maximize.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg deleted file mode 100755 index 003be10a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-active.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg deleted file mode 100755 index 003be10a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize-hover.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg deleted file mode 100755 index 689321d7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/minimize.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/osx-arc/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg deleted file mode 100644 index f19c9724..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg deleted file mode 100644 index cf63936b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg deleted file mode 100644 index a123cfda..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg deleted file mode 100644 index 018dfbe7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg deleted file mode 100644 index 305b1d64..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg deleted file mode 100644 index 96cbd94b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg deleted file mode 100644 index 5189da72..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg deleted file mode 100644 index fb871054..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg deleted file mode 100644 index 7553792d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg deleted file mode 100644 index b20fd451..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg deleted file mode 100644 index 6924f6c7..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg deleted file mode 100644 index fc848ab4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg deleted file mode 100644 index 69d1231f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg deleted file mode 100644 index 4222a3b9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg deleted file mode 100644 index 6ad68e6a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg deleted file mode 100644 index 795bbd1d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg deleted file mode 100644 index 4bb5ecbf..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg deleted file mode 100644 index 21664706..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/pop-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg deleted file mode 100644 index 1d979834..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-active.svg +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg deleted file mode 100644 index 91fbc708..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close-hover.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg deleted file mode 100644 index 14a9bba9..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/close.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg deleted file mode 100644 index 0d162cdd..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-active.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg deleted file mode 100644 index 74d804ad..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize-hover.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg deleted file mode 100644 index d8ac07a4..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/maximize.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg deleted file mode 100644 index 3f827fd0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-active.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg deleted file mode 100644 index fd24aa74..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize-hover.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg deleted file mode 100644 index 6cb1ba4f..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/minimize.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css deleted file mode 100644 index 91029162..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/radiance/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 19px; - height: 19px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg deleted file mode 100644 index 0dba5dda..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg deleted file mode 100644 index d16d52f3..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg deleted file mode 100644 index de8bdd12..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/close.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg deleted file mode 100644 index de8bdd12..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg deleted file mode 100644 index bc7d02db..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg deleted file mode 100644 index b037440e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/maximize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg deleted file mode 100644 index b037440e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-active.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg deleted file mode 100644 index 105f51a3..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize-hover.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg deleted file mode 100644 index d32aa7da..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/minimize.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css deleted file mode 100644 index 0f044fc0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/telinkrin/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 14px; - height: 14px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg deleted file mode 100644 index 53435178..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg deleted file mode 100644 index cd439133..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg deleted file mode 100644 index 81fe1496..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg deleted file mode 100644 index 8eb88633..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg deleted file mode 100644 index 475bf31e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg deleted file mode 100644 index ee76d257..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg deleted file mode 100644 index fb543b3e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg deleted file mode 100644 index f4f26c14..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg deleted file mode 100644 index 1f76de1c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css deleted file mode 100644 index 44ac511b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-dark/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 18px; - height: 18px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg deleted file mode 100644 index 53435178..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg deleted file mode 100644 index cd439133..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg deleted file mode 100644 index 5b29d328..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg deleted file mode 100644 index 8eb88633..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg deleted file mode 100644 index 475bf31e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg deleted file mode 100644 index db27b667..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg deleted file mode 100644 index fb543b3e..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-active.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg deleted file mode 100644 index f4f26c14..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize-hover.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg deleted file mode 100644 index 3b68e665..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css deleted file mode 100644 index 44ac511b..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/united-light/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 18px; - height: 18px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg deleted file mode 100644 index 4aa69050..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-active.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg deleted file mode 100644 index 3463e8a6..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg deleted file mode 100644 index a759cbc0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/close.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg deleted file mode 100644 index cf1c85df..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-active.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg deleted file mode 100644 index a5aacef3..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg deleted file mode 100644 index a759cbc0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/maximize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg deleted file mode 100644 index aecacc46..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-active.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg deleted file mode 100644 index dd298c5a..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize-hover.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg deleted file mode 100644 index a759cbc0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/minimize.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vertex/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg deleted file mode 100644 index dbd8e769..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg deleted file mode 100644 index 236281fd..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg deleted file mode 100644 index d3489c9d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/close.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg deleted file mode 100644 index c204f983..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg deleted file mode 100644 index e4b86e52..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg deleted file mode 100644 index 7967be11..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg deleted file mode 100644 index 2b6d0aa5..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg deleted file mode 100644 index d9537558..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg deleted file mode 100644 index a9d10d1c..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/vimix/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -} diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg deleted file mode 100644 index 8262e591..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg deleted file mode 100644 index 37c7dff5..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg deleted file mode 100644 index b6d42fc0..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/close.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg deleted file mode 100644 index c0fc0483..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg deleted file mode 100644 index 26f22e09..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg deleted file mode 100644 index 4f120c44..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/maximize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg deleted file mode 100644 index ab881907..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-active.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg deleted file mode 100644 index ef5e8450..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize-hover.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg deleted file mode 100644 index bb20c27d..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/minimize.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css b/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css deleted file mode 100644 index d1e55ace..00000000 --- a/tromjaro/gnome/live-overlay/etc/skel/.local/share/gnome-shell/extensions/unite@hardpixel.eu/themes/yaru/stylesheet.css +++ /dev/null @@ -1,40 +0,0 @@ -.window-button .icon { - width: 24px; - height: 24px; -} - -.close .icon { - background-image: url("close.svg"); -} - -.close:hover .icon { - background-image: url("close-hover.svg"); -} - -.close:active .icon { - background-image: url("close-active.svg"); -} - -.minimize .icon { - background-image: url("minimize.svg"); -} - -.minimize:hover .icon { - background-image: url("minimize-hover.svg"); -} - -.minimize:active .icon { - background-image: url("minimize-active.svg"); -} - -.maximize .icon { - background-image: url("maximize.svg"); -} - -.maximize:hover .icon { - background-image: url("maximize-hover.svg"); -} - -.maximize:active .icon { - background-image: url("maximize-active.svg"); -}