Compare commits
84 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5edffcd859 | |||
| d8b526a715 | |||
| a5b6871562 | |||
| deb6031381 | |||
| 486cb59aff | |||
| de9a3df7bd | |||
| db131fc7da | |||
| 80c6656c4f | |||
| a5a3523df8 | |||
| 06acd9ff25 | |||
| 1a1d45d9e4 | |||
| 1d3775b3d1 | |||
| 15c83db793 | |||
| cc021589b8 | |||
| 5e316d37cb | |||
| 28dbb47937 | |||
| 619de9d5ee | |||
| 561b8aeb03 | |||
| 4286fd1bcc | |||
| 3bb0897bc1 | |||
| 12eedcf6f7 | |||
| 08d382facc | |||
| d9ae9a023a | |||
| 96a1de92db | |||
| cc2f46b837 | |||
| 9f25047e24 | |||
| fb66afbf71 | |||
| 365fa6abc9 | |||
| d7a824f35f | |||
| 0d8e412220 | |||
| 991f6ef508 | |||
| 37f03f5e2e | |||
| b4a4ff0a06 | |||
| de8876bd5e | |||
| 5ad272e628 | |||
| 3b22582752 | |||
| e734fcbd21 | |||
| 435879c121 | |||
| ed81650f55 | |||
| 1276a880de | |||
| 584016c291 | |||
| 41664b152c | |||
| 8957c277a1 | |||
| 8b9be8f120 | |||
| d3b687df8b | |||
| df463177e7 | |||
| 62af36ebfa | |||
| c5246b7415 | |||
| d39c1fd685 | |||
| 665a7fbbcb | |||
| a4987d03b8 | |||
| c477f10bfb | |||
| 2ae0f368b9 | |||
| ac33058086 | |||
| c7a08aaf74 | |||
| 8c1d6d88cf | |||
| 33b16681c6 | |||
| 3c51716268 | |||
| e5421b6cc6 | |||
| f1e7ae1010 | |||
| 10fe907c83 | |||
| ae9809caba | |||
| c95d197c5c | |||
| ae8749b7e1 | |||
| 84a548c0b9 | |||
| f047cb0baf | |||
| 28494941e1 | |||
| b70059ac4d | |||
| eb567c1120 | |||
| b1eb9b9080 | |||
| a0b6535210 | |||
| 9a9b3afa31 | |||
| 59bc054ef6 | |||
| 57e9dfe722 | |||
| f17a519c38 | |||
| 8223ca9739 | |||
| fe20c27b60 | |||
| 5ba59d1096 | |||
| 0ad1e9bbc1 | |||
| 5ea14f063f | |||
| 3cc3d03f0b | |||
| 057e5bb0c1 | |||
| 07fc66765d | |||
| daa7b9b6ab |
-29
@@ -1,29 +0,0 @@
|
|||||||
ABOUT-NLS
|
|
||||||
Makefile
|
|
||||||
Makefile.in
|
|
||||||
Makefile.in.in
|
|
||||||
aclocal.m4
|
|
||||||
autom4te.cache/
|
|
||||||
config/
|
|
||||||
configure
|
|
||||||
config.log
|
|
||||||
config.status
|
|
||||||
data/*.json
|
|
||||||
m4/
|
|
||||||
po/*.header
|
|
||||||
po/*.sed
|
|
||||||
po/*.sin
|
|
||||||
po/Makevars.template
|
|
||||||
po/POTFILES
|
|
||||||
po/Rules-quot
|
|
||||||
po/gnome-shell-extensions.pot
|
|
||||||
po/stamp-it
|
|
||||||
staging/
|
|
||||||
zip-files/
|
|
||||||
|
|
||||||
*~
|
|
||||||
*.gmo
|
|
||||||
metadata.json
|
|
||||||
*.desktop
|
|
||||||
*.gschema.valid
|
|
||||||
*.session
|
|
||||||
+13
-6
@@ -2,6 +2,8 @@ include:
|
|||||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||||
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
||||||
|
|
||||||
|
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/34:2021-08-12.0
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- pre_review
|
- pre_review
|
||||||
- prepare
|
- prepare
|
||||||
@@ -10,7 +12,6 @@ stages:
|
|||||||
- deploy
|
- deploy
|
||||||
|
|
||||||
default:
|
default:
|
||||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
|
|
||||||
# Cancel jobs if newer commits are pushed to the branch
|
# Cancel jobs if newer commits are pushed to the branch
|
||||||
interruptible: true
|
interruptible: true
|
||||||
# Auto-retry jobs in case of infra failures
|
# Auto-retry jobs in case of infra failures
|
||||||
@@ -25,6 +26,7 @@ default:
|
|||||||
variables:
|
variables:
|
||||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
||||||
LINT_LOG: "eslint-report.xml"
|
LINT_LOG: "eslint-report.xml"
|
||||||
|
JS_LOG: "js-report.txt"
|
||||||
|
|
||||||
workflow:
|
workflow:
|
||||||
rules:
|
rules:
|
||||||
@@ -101,7 +103,12 @@ js_check:
|
|||||||
stage: review
|
stage: review
|
||||||
<<: *prereview_req
|
<<: *prereview_req
|
||||||
script:
|
script:
|
||||||
- gjs-check-syntax
|
- find extensions -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
|
||||||
|
- (! grep -q . $JS_LOG)
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- ${JS_LOG}
|
||||||
|
when: on_failure
|
||||||
|
|
||||||
eslint:
|
eslint:
|
||||||
stage: review
|
stage: review
|
||||||
@@ -132,8 +139,8 @@ fedora-build:
|
|||||||
stage: build
|
stage: build
|
||||||
needs:
|
needs:
|
||||||
- build-fedora-container
|
- build-fedora-container
|
||||||
variables:
|
before_script:
|
||||||
GIT_SUBMODULE_STRATEGY: normal
|
- git submodule update --init
|
||||||
script:
|
script:
|
||||||
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
||||||
- meson compile -C build
|
- meson compile -C build
|
||||||
@@ -150,8 +157,8 @@ fedora-dist:
|
|||||||
stage: deploy
|
stage: deploy
|
||||||
needs:
|
needs:
|
||||||
- fedora-build
|
- fedora-build
|
||||||
variables:
|
before_script:
|
||||||
GIT_SUBMODULE_STRATEGY: normal
|
- git submodule update --init
|
||||||
script:
|
script:
|
||||||
- meson dist -C build
|
- meson dist -C build
|
||||||
rules:
|
rules:
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
[submodule "data/gnome-shell-sass"]
|
|
||||||
path = data/gnome-shell-sass
|
|
||||||
url = https://gitlab.gnome.org/GNOME/gnome-shell-sass.git
|
|
||||||
@@ -1,108 +1,3 @@
|
|||||||
44.beta
|
|
||||||
=======
|
|
||||||
* Tweak menu alignment [robxnano; !246]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner, robxnano
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Vasil Pupkin [be]
|
|
||||||
|
|
||||||
43.1
|
|
||||||
====
|
|
||||||
* Fixed crash [Florian; !243]
|
|
||||||
* Misc. bug fixes and cleanups [mowemcfc; !244]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner, mowemcfc
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Sabri Ünal [tr]
|
|
||||||
|
|
||||||
43.0
|
|
||||||
====
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Pawan Chitrakar [ne], Zurab Kargareteli [ka], Aleksandr Melman [ru]
|
|
||||||
|
|
||||||
43.rc
|
|
||||||
=====
|
|
||||||
* Misc. bug fixes and cleanups [Florian; !240]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
43.beta
|
|
||||||
=======
|
|
||||||
* Misc. bug fixes and cleanups [Florian; !237, !238]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Nart Tlisha [ab]
|
|
||||||
|
|
||||||
43.alpha
|
|
||||||
========
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Marco Ciampa [it]
|
|
||||||
|
|
||||||
42.3
|
|
||||||
====
|
|
||||||
* screenshot-window-sizer: Fix reported sizes on wayland [Florian; !232]
|
|
||||||
* window-list: Improve touch support [Florian; !233]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
42.2
|
|
||||||
====
|
|
||||||
* native-window-placement: Adjust to gnome-shell 42 changes [Florian; !229]
|
|
||||||
* window-list: Fix visibility on non-primary monitors [Jason; !230]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Jason Lynch, Florian Müllner
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Cheng-Chia Tseng [zh_TW]
|
|
||||||
|
|
||||||
42.1
|
|
||||||
====
|
|
||||||
* Misc. bug fixes and cleanups [Florian; !223, !222, !225]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Milo Casagrande [it], Rūdolfs Mazurs [lv], Nathan Follens [nl],
|
|
||||||
Ngọc Quân Trần [vi], Zurab Kargareteli [ka]
|
|
||||||
|
|
||||||
42.0
|
|
||||||
====
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Philipp Kiemle [de], Balázs Úr [hu], Марко Костић [sr], sicklylife [ja],
|
|
||||||
Baurzhan Muftakhidinov [kk]
|
|
||||||
|
|
||||||
42.rc
|
|
||||||
=====
|
|
||||||
* Misc. bug fixes and cleanups [Florian; !215, !218]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Florian Müllner
|
|
||||||
|
|
||||||
Translators:
|
|
||||||
Marek Černocký [cs], Dušan Kazik [sk], Piotr Drąg [pl], Jiri Grönroos [fi],
|
|
||||||
Luna Jernberg [sv], Alan Mortensen [da], Charles Monzat [fr],
|
|
||||||
Changwoo Ryu [ko]
|
|
||||||
|
|
||||||
42.beta
|
42.beta
|
||||||
=======
|
=======
|
||||||
* workspace-indicator: Fix cancelling editing with Esc [Florian; !208]
|
* workspace-indicator: Fix cancelling editing with Esc [Florian; !208]
|
||||||
|
|||||||
@@ -0,0 +1,178 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
id="svg10621"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="calendar-today.svg">
|
||||||
|
<defs
|
||||||
|
id="defs10623">
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient99561-1"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient34508-1-3">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop34510-1-9" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop34512-4-5" />
|
||||||
|
</linearGradient>
|
||||||
|
<radialGradient
|
||||||
|
r="42"
|
||||||
|
fy="30"
|
||||||
|
fx="51"
|
||||||
|
cy="30"
|
||||||
|
cx="51"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="radialGradient10592"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient3770"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient3001"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient3007"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient3067"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient3072"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient34508-1-3"
|
||||||
|
id="radialGradient2997"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||||
|
cx="51"
|
||||||
|
cy="30"
|
||||||
|
fx="51"
|
||||||
|
fy="30"
|
||||||
|
r="42" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#d3d3d3"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="8"
|
||||||
|
inkscape:cx="-55.349829"
|
||||||
|
inkscape:cy="-31.442864"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
inkscape:window-width="2133"
|
||||||
|
inkscape:window-height="1241"
|
||||||
|
inkscape:window-x="238"
|
||||||
|
inkscape:window-y="89"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid3109"
|
||||||
|
empspacing="5"
|
||||||
|
visible="true"
|
||||||
|
enabled="true"
|
||||||
|
snapvisiblegridlinesonly="true" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata10626">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-469.08263,-537.99307)">
|
||||||
|
<circle
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#555753;fill-opacity:0.23756906;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="path7305"
|
||||||
|
cx="481.57138"
|
||||||
|
cy="559.4649"
|
||||||
|
r="1.5" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 5.6 KiB |
@@ -0,0 +1,262 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="65"
|
||||||
|
height="22"
|
||||||
|
id="svg10865"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="classic-toggle-off-intl.svg">
|
||||||
|
<defs
|
||||||
|
id="defs10867">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62852-6-5">
|
||||||
|
<stop
|
||||||
|
id="stop62854-6-7"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeeeec;stop-opacity:1"
|
||||||
|
offset="0.97726452"
|
||||||
|
id="stop62858-8-0" />
|
||||||
|
<stop
|
||||||
|
id="stop62860-5-3"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect62989-8-0"
|
||||||
|
effect="spiro" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62821-5-8">
|
||||||
|
<stop
|
||||||
|
id="stop62823-2-4"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||||
|
<stop
|
||||||
|
id="stop62825-3-8"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62852-6-5-3">
|
||||||
|
<stop
|
||||||
|
id="stop62854-6-7-6"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeeeec;stop-opacity:1"
|
||||||
|
offset="0.97726452"
|
||||||
|
id="stop62858-8-0-3" />
|
||||||
|
<stop
|
||||||
|
id="stop62860-5-3-9"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="spiro"
|
||||||
|
id="path-effect62829-6-8-0"
|
||||||
|
is_visible="true" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62821-5-8-1">
|
||||||
|
<stop
|
||||||
|
id="stop62823-2-4-2"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||||
|
<stop
|
||||||
|
id="stop62825-3-8-9"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
y2="507.42715"
|
||||||
|
x2="702.58966"
|
||||||
|
y1="484.49405"
|
||||||
|
x1="702.58966"
|
||||||
|
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="linearGradient11647"
|
||||||
|
xlink:href="#linearGradient62821-5-8-1"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath65663">
|
||||||
|
<rect
|
||||||
|
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
|
||||||
|
id="rect65665"
|
||||||
|
width="96.999924"
|
||||||
|
height="24.292892"
|
||||||
|
x="708.71954"
|
||||||
|
y="406.96973"
|
||||||
|
rx="3.1139846"
|
||||||
|
ry="1.9595497"
|
||||||
|
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/content selection/content-selection.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90" />
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
||||||
|
id="linearGradient65582"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.5250827,0,0,0.72144839,620.16092,156.4917)"
|
||||||
|
x1="207.17195"
|
||||||
|
y1="497.39584"
|
||||||
|
x2="207.17195"
|
||||||
|
y2="531.48669" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#f4f6f4;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop5380-6-1-1-9-3-6-3-6-45-6-4-4-9-9-8-9" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#d7dad7;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop5382-06-3-6-4-2-4-6-8-0-9-6-8-7-7-6-7" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient65584">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#f1f1f1;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop65586" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#a7aba7;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop65588" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
||||||
|
id="linearGradient65582-5"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.5250827,0,0,0.72144839,-75.348673,-359.16458)"
|
||||||
|
x1="207.17195"
|
||||||
|
y1="497.39584"
|
||||||
|
x2="207.17195"
|
||||||
|
y2="531.48669" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient65584"
|
||||||
|
id="linearGradient65590-6"
|
||||||
|
x1="716.62506"
|
||||||
|
y1="537.23358"
|
||||||
|
x2="716.62506"
|
||||||
|
y2="535.23358"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(1.0139469,0,0,1.0139469,-705.52354,-521.99915)" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="23.565368"
|
||||||
|
inkscape:cy="19.596892"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="g62929"
|
||||||
|
showgrid="false"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:snap-nodes="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:snap-others="false"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1342"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="28"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
showborder="false">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid11512" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata10870">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1030.3622)">
|
||||||
|
<g
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||||
|
style="display:inline"
|
||||||
|
id="g62929"
|
||||||
|
transform="translate(-643.91421,517.29894)">
|
||||||
|
<g
|
||||||
|
transform="translate(0,30)"
|
||||||
|
id="g62931">
|
||||||
|
<rect
|
||||||
|
style="fill:#cecece;fill-opacity:1;stroke:#a7a7a7;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;clip-rule:nonzero;opacity:1;isolation:auto;mix-blend-mode:normal;solid-color:#000000;solid-opacity:1;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
|
||||||
|
id="rect62935"
|
||||||
|
width="63.856125"
|
||||||
|
height="21.093594"
|
||||||
|
x="644.5"
|
||||||
|
y="483.5"
|
||||||
|
rx="2"
|
||||||
|
ry="2" />
|
||||||
|
<rect
|
||||||
|
style="fill:url(#linearGradient65582);fill-opacity:1;stroke:#a7a7a7;stroke-width:0.97313344;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;color:#000000;clip-rule:nonzero;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect62937"
|
||||||
|
width="29.97398"
|
||||||
|
height="17.022524"
|
||||||
|
x="646.55896"
|
||||||
|
y="485.61429"
|
||||||
|
rx="1"
|
||||||
|
ry="1" />
|
||||||
|
<g
|
||||||
|
transform="translate(-38.048674,-1.9445437)"
|
||||||
|
id="g62939" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
inkscape:original-d="m 647.78241,486.57192 27.73523,0"
|
||||||
|
inkscape:path-effect="#path-effect62989-8-0"
|
||||||
|
id="path62947"
|
||||||
|
d="m 647.78241,486.57192 27.73523,0"
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g11665"
|
||||||
|
transform="matrix(0.78906097,0,0,0.78906097,178.78814,111.57844)" />
|
||||||
|
<path
|
||||||
|
sodipodi:type="arc"
|
||||||
|
id="path3016"
|
||||||
|
sodipodi:cx="50.375"
|
||||||
|
sodipodi:cy="11.875"
|
||||||
|
sodipodi:rx="4.625"
|
||||||
|
sodipodi:ry="4.625"
|
||||||
|
d="M 55,11.875 A 4.625,4.625 0 0 1 50.375,16.5 4.625,4.625 0 0 1 45.75,11.875 4.625,4.625 0 0 1 50.375,7.25 4.625,4.625 0 0 1 55,11.875 Z"
|
||||||
|
transform="translate(642.41421,512.02037)"
|
||||||
|
style="fill:none;stroke:#2e3436;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 9.5 KiB |
@@ -0,0 +1,222 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="65"
|
||||||
|
height="22"
|
||||||
|
id="svg10865"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="classic-toggle-off-us.svg">
|
||||||
|
<defs
|
||||||
|
id="defs10867">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62852-6-5">
|
||||||
|
<stop
|
||||||
|
id="stop62854-6-7"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeeeec;stop-opacity:1"
|
||||||
|
offset="0.97726452"
|
||||||
|
id="stop62858-8-0" />
|
||||||
|
<stop
|
||||||
|
id="stop62860-5-3"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect62989-8-0"
|
||||||
|
effect="spiro" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62821-5-8">
|
||||||
|
<stop
|
||||||
|
id="stop62823-2-4"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||||
|
<stop
|
||||||
|
id="stop62825-3-8"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62852-6-5-3">
|
||||||
|
<stop
|
||||||
|
id="stop62854-6-7-6"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeeeec;stop-opacity:1"
|
||||||
|
offset="0.97726452"
|
||||||
|
id="stop62858-8-0-3" />
|
||||||
|
<stop
|
||||||
|
id="stop62860-5-3-9"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
effect="spiro"
|
||||||
|
id="path-effect62829-6-8-0"
|
||||||
|
is_visible="true" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62821-5-8-1">
|
||||||
|
<stop
|
||||||
|
id="stop62823-2-4-2"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
||||||
|
<stop
|
||||||
|
id="stop62825-3-8-9"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#ebebeb;stop-opacity:1;" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
y2="507.42715"
|
||||||
|
x2="702.58966"
|
||||||
|
y1="484.49405"
|
||||||
|
x1="702.58966"
|
||||||
|
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
id="linearGradient11647"
|
||||||
|
xlink:href="#linearGradient62821-5-8-1"
|
||||||
|
inkscape:collect="always" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
||||||
|
id="linearGradient65582"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.5250827,0,0,0.72144839,620.16092,156.4917)"
|
||||||
|
x1="207.17195"
|
||||||
|
y1="497.39584"
|
||||||
|
x2="207.17195"
|
||||||
|
y2="531.48669" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#f4f6f4;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop5380-6-1-1-9-3-6-3-6-45-6-4-4-9-9-8-9" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#d7dad7;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop5382-06-3-6-4-2-4-6-8-0-9-6-8-7-7-6-7" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect62989-8-0-6"
|
||||||
|
effect="spiro" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="78.222729"
|
||||||
|
inkscape:cy="-3.6620078"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="g62929"
|
||||||
|
showgrid="false"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:snap-nodes="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:snap-others="false"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1342"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="28"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
showborder="false">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid11512" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata10870">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1030.3622)">
|
||||||
|
<g
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||||
|
style="display:inline"
|
||||||
|
id="g62929"
|
||||||
|
transform="translate(-643.91421,517.29894)">
|
||||||
|
<g
|
||||||
|
style="display:inline"
|
||||||
|
transform="translate(0,30)"
|
||||||
|
id="g62931">
|
||||||
|
<rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#cecece;fill-opacity:1;fill-rule:nonzero;stroke:#a7a7a7;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
|
||||||
|
id="rect62935"
|
||||||
|
width="63.856125"
|
||||||
|
height="21.093594"
|
||||||
|
x="644.5"
|
||||||
|
y="483.5"
|
||||||
|
rx="2"
|
||||||
|
ry="2" />
|
||||||
|
<rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient65582);fill-opacity:1;fill-rule:nonzero;stroke:#a7a7a7;stroke-width:0.97313344;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect62937"
|
||||||
|
width="29.97398"
|
||||||
|
height="17.022524"
|
||||||
|
x="646.55896"
|
||||||
|
y="485.61429"
|
||||||
|
rx="1"
|
||||||
|
ry="1" />
|
||||||
|
<g
|
||||||
|
transform="translate(-38.048674,-1.9445437)"
|
||||||
|
id="g62939" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
inkscape:original-d="m 647.78241,486.57192 27.73523,0"
|
||||||
|
inkscape:path-effect="#path-effect62989-8-0-6"
|
||||||
|
id="path62947"
|
||||||
|
d="m 647.78241,486.57192 27.73523,0"
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g11665"
|
||||||
|
transform="matrix(0.78906097,0,0,0.78906097,167.78814,111.57844)">
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:12.69556618px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#2e3436;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||||
|
x="644.46393"
|
||||||
|
y="533.87158"
|
||||||
|
id="text62949"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
transform="scale(1.0113976,0.98873084)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan62951"
|
||||||
|
x="644.46393"
|
||||||
|
y="533.87158">OFF</tspan></text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 8.0 KiB |
@@ -0,0 +1,175 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="65"
|
||||||
|
height="22"
|
||||||
|
id="svg10865"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="classic-toggle-on-intl.svg">
|
||||||
|
<defs
|
||||||
|
id="defs10867">
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62852-6-5">
|
||||||
|
<stop
|
||||||
|
id="stop62854-6-7"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeeeec;stop-opacity:1"
|
||||||
|
offset="0.97726452"
|
||||||
|
id="stop62858-8-0" />
|
||||||
|
<stop
|
||||||
|
id="stop62860-5-3"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect62989-8-0"
|
||||||
|
effect="spiro" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient38513"
|
||||||
|
id="linearGradient38519"
|
||||||
|
x1="690"
|
||||||
|
y1="506.25049"
|
||||||
|
x2="690"
|
||||||
|
y2="480.93414"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient38513">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#729fcf;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop38515" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#6f9ccd;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop38517" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient62852-6-5"
|
||||||
|
id="linearGradient62981-1-1"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.85639946,0,0,0.81059641,57.747905,92.132229)"
|
||||||
|
x1="740"
|
||||||
|
y1="486.10501"
|
||||||
|
x2="740"
|
||||||
|
y2="505.3204" />
|
||||||
|
<inkscape:path-effect
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect62989-8-0-8"
|
||||||
|
effect="spiro" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="9.3225163"
|
||||||
|
inkscape:cy="-0.1588306"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="g62929"
|
||||||
|
showgrid="false"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:snap-nodes="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:snap-others="false"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1342"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="28"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
showborder="false">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid11512" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata10870">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1030.3622)">
|
||||||
|
<g
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||||
|
style="display:inline"
|
||||||
|
id="g62929"
|
||||||
|
transform="translate(-643.91421,517.29894)">
|
||||||
|
<g
|
||||||
|
style="display:inline"
|
||||||
|
transform="translate(0,30)"
|
||||||
|
id="g62931">
|
||||||
|
<rect
|
||||||
|
style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:url(#linearGradient38519);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect62935"
|
||||||
|
width="63.856125"
|
||||||
|
height="21.093594"
|
||||||
|
x="644.5"
|
||||||
|
y="483.5"
|
||||||
|
rx="2"
|
||||||
|
ry="2" />
|
||||||
|
<rect
|
||||||
|
style="display:inline;fill:url(#linearGradient62981-1-1);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect62937"
|
||||||
|
width="29.97398"
|
||||||
|
height="17.022524"
|
||||||
|
x="676.49646"
|
||||||
|
y="485.67679"
|
||||||
|
rx="1"
|
||||||
|
ry="1" />
|
||||||
|
<g
|
||||||
|
transform="translate(-7.9861743,-1.9445437)"
|
||||||
|
id="g62939" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
inkscape:original-d="m 677.59874,486.57192 27.94632,0"
|
||||||
|
inkscape:path-effect="#path-effect62989-8-0-8"
|
||||||
|
id="path62947"
|
||||||
|
d="m 677.59874,486.57192 27.94632,0"
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path4444"
|
||||||
|
d="m 661.91421,522.09451 0,7"
|
||||||
|
style="fill:#3465a4;stroke:#3465a4;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;fill-opacity:1;fill-rule:nonzero;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
||||||
|
d="m 18,7.96875 0,7"
|
||||||
|
id="path3922"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
transform="translate(643.91421,513.06326)" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 6.2 KiB |
@@ -0,0 +1,209 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="65"
|
||||||
|
height="22"
|
||||||
|
id="svg10865"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.91 r13725"
|
||||||
|
sodipodi:docname="classic-toggle-on-us.svg">
|
||||||
|
<defs
|
||||||
|
id="defs10867">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient62852-6-5"
|
||||||
|
id="linearGradient62981-1-1"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
gradientTransform="matrix(0.85639946,0,0,0.81059641,57.747905,92.132229)"
|
||||||
|
x1="740"
|
||||||
|
y1="486.10501"
|
||||||
|
x2="740"
|
||||||
|
y2="505.3204" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient62852-6-5">
|
||||||
|
<stop
|
||||||
|
id="stop62854-6-7"
|
||||||
|
offset="0"
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#eeeeec;stop-opacity:1"
|
||||||
|
offset="0.97726452"
|
||||||
|
id="stop62858-8-0" />
|
||||||
|
<stop
|
||||||
|
id="stop62860-5-3"
|
||||||
|
offset="1"
|
||||||
|
style="stop-color:#f5f5f4;stop-opacity:1" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:path-effect
|
||||||
|
is_visible="true"
|
||||||
|
id="path-effect62989-8-0"
|
||||||
|
effect="spiro" />
|
||||||
|
<clipPath
|
||||||
|
clipPathUnits="userSpaceOnUse"
|
||||||
|
id="clipPath65663">
|
||||||
|
<rect
|
||||||
|
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
|
||||||
|
id="rect65665"
|
||||||
|
width="96.999924"
|
||||||
|
height="24.292892"
|
||||||
|
x="708.71954"
|
||||||
|
y="406.96973"
|
||||||
|
rx="3.1139846"
|
||||||
|
ry="1.9595497"
|
||||||
|
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/content selection/content-selection.png"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-ydpi="90" />
|
||||||
|
</clipPath>
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient38513"
|
||||||
|
id="linearGradient38519"
|
||||||
|
x1="690"
|
||||||
|
y1="506.25049"
|
||||||
|
x2="690"
|
||||||
|
y2="480.93414"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient38513">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#729fcf;stop-opacity:1"
|
||||||
|
offset="0"
|
||||||
|
id="stop38515" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#6f9ccd;stop-opacity:1"
|
||||||
|
offset="1"
|
||||||
|
id="stop38517" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
gradientTransform="translate(-644,-483)"
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient38513"
|
||||||
|
id="linearGradient38519-3"
|
||||||
|
x1="690"
|
||||||
|
y1="506.25049"
|
||||||
|
x2="690"
|
||||||
|
y2="480.93414"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="1"
|
||||||
|
inkscape:cx="20.775745"
|
||||||
|
inkscape:cy="7.0434022"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="g62929"
|
||||||
|
showgrid="false"
|
||||||
|
borderlayer="true"
|
||||||
|
inkscape:showpageshadow="false"
|
||||||
|
inkscape:snap-nodes="false"
|
||||||
|
inkscape:snap-bbox="true"
|
||||||
|
inkscape:bbox-paths="true"
|
||||||
|
inkscape:snap-others="false"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1342"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="28"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
showborder="false">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid11512" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata10870">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-1030.3622)">
|
||||||
|
<g
|
||||||
|
inkscape:export-ydpi="90"
|
||||||
|
inkscape:export-xdpi="90"
|
||||||
|
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
||||||
|
style="display:inline"
|
||||||
|
id="g62929"
|
||||||
|
transform="translate(-643.91421,517.29894)">
|
||||||
|
<g
|
||||||
|
transform="translate(0,30)"
|
||||||
|
id="g62931">
|
||||||
|
<rect
|
||||||
|
style="fill:url(#linearGradient38519);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
|
id="rect62935"
|
||||||
|
width="63.856125"
|
||||||
|
height="21.093594"
|
||||||
|
x="644.5"
|
||||||
|
y="483.5"
|
||||||
|
rx="2"
|
||||||
|
ry="2" />
|
||||||
|
<rect
|
||||||
|
style="fill:url(#linearGradient62981-1-1);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||||
|
id="rect62937"
|
||||||
|
width="29.97398"
|
||||||
|
height="17.022524"
|
||||||
|
x="676.49646"
|
||||||
|
y="485.67679"
|
||||||
|
rx="1"
|
||||||
|
ry="1" />
|
||||||
|
<g
|
||||||
|
transform="translate(-7.9861743,-1.9445437)"
|
||||||
|
id="g62939" />
|
||||||
|
<path
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
inkscape:original-d="m 677.59874,486.57192 27.94632,0"
|
||||||
|
inkscape:path-effect="#path-effect62989-8-0"
|
||||||
|
id="path62947"
|
||||||
|
d="m 677.59874,486.57192 27.94632,0"
|
||||||
|
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<text
|
||||||
|
transform="scale(1.0113976,0.98873084)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text62949-7"
|
||||||
|
y="534.96918"
|
||||||
|
x="646.71399"
|
||||||
|
style="font-size:10.01104736px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3465a4;fill-opacity:1;stroke:none;display:inline;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold;"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="534.96918"
|
||||||
|
x="646.71399"
|
||||||
|
id="tspan62951-7"
|
||||||
|
sodipodi:role="line">ON</tspan></text>
|
||||||
|
<text
|
||||||
|
transform="scale(1.0113976,0.98873084)"
|
||||||
|
sodipodi:linespacing="125%"
|
||||||
|
id="text62949"
|
||||||
|
y="533.94482"
|
||||||
|
x="646.71399"
|
||||||
|
style="font-size:10.01104736px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||||
|
xml:space="preserve"><tspan
|
||||||
|
y="533.94482"
|
||||||
|
x="646.71399"
|
||||||
|
id="tspan62951"
|
||||||
|
sodipodi:role="line">ON</tspan></text>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 7.5 KiB |
@@ -6,6 +6,6 @@
|
|||||||
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
||||||
"panel": { "left": ["appMenu"],
|
"panel": { "left": ["appMenu"],
|
||||||
"center": [],
|
"center": [],
|
||||||
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
|
"right": ["a11y", "keyboard", "dateMenu", "aggregateMenu"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,3 +93,15 @@ $variant: 'light';
|
|||||||
/* keep in sync with -panel-corner-radius */
|
/* keep in sync with -panel-corner-radius */
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@each $v in us, intl {
|
||||||
|
.toggle-switch-#{$v} {
|
||||||
|
background-image: url("classic-toggle-off-#{$v}.svg");
|
||||||
|
&:checked { background-image: url("classic-toggle-on-#{$v}.svg"); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-day-with-events {
|
||||||
|
background-image: url("calendar-today.svg");
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
Submodule data/gnome-shell-sass deleted from 2cb3247bc2
@@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc. <http://fsf.org>
|
||||||
|
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.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 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.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
# GNOME Shell Sass
|
||||||
|
GNOME Shell Sass is a project intended to allow the sharing of the
|
||||||
|
theme sources in sass between gnome-shell and other projects like
|
||||||
|
gnome-shell-extensions.
|
||||||
|
|
||||||
|
Any changes should be done in the [GNOME Shell subtree][shell-subtree]
|
||||||
|
and not the stand-alone [gnome-shell-sass repository][sass-repo]. They
|
||||||
|
will then be synchronized periodically before releases.
|
||||||
|
|
||||||
|
## License
|
||||||
|
GNOME Shell Sass is distributed under the terms of the GNU General Public
|
||||||
|
License, version 2 or later. See the [COPYING][license] file for details.
|
||||||
|
|
||||||
|
[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/HEAD/data/theme/gnome-shell-sass
|
||||||
|
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
|
||||||
|
[license]: COPYING
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
// When color definition differs for dark and light variant,
|
||||||
|
// it gets @if ed depending on $variant
|
||||||
|
|
||||||
|
$base_color: if($variant == 'light', #fff, lighten(desaturate(#241f31, 20%), 2%));
|
||||||
|
$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
|
||||||
|
$fg_color: if($variant == 'light', #2e3436, #eeeeec);
|
||||||
|
|
||||||
|
$selected_fg_color: #fff;
|
||||||
|
$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 10%));
|
||||||
|
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
|
||||||
|
$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 8%));
|
||||||
|
$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), transparentize($fg_color, 0.93));
|
||||||
|
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
|
||||||
|
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
|
||||||
|
$top_hilight: $borders_edge;
|
||||||
|
|
||||||
|
$warning_color: #f57900;
|
||||||
|
$error_color: #ff8080;
|
||||||
|
$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
|
||||||
|
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
|
||||||
|
|
||||||
|
$osd_fg_color: #eeeeec;
|
||||||
|
$osd_text_color: white;
|
||||||
|
$osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04);
|
||||||
|
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
|
||||||
|
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
|
||||||
|
$osd_borders_color: transparentize(black, 0.3);
|
||||||
|
$osd_outer_borders_color: transparentize(white, 0.84);
|
||||||
|
|
||||||
|
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
|
||||||
|
$system_bg_color: desaturate(#241f31,100%); //neutralize the HIG color
|
||||||
|
|
||||||
|
//insensitive state derived colors
|
||||||
|
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
||||||
|
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
|
||||||
|
$insensitive_borders_color: mix($borders_color, $base_color, 60%);
|
||||||
|
|
||||||
|
//colors for the backdrop state, derived from the main colors.
|
||||||
|
$backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%));
|
||||||
|
$backdrop_bg_color: $bg_color;
|
||||||
|
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
|
||||||
|
$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%));
|
||||||
|
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
|
||||||
|
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
//This is the RIGHT PLACE to edit the stylesheet
|
||||||
|
|
||||||
|
//let's start by telling people not to edit the generated CSS:
|
||||||
|
$cakeisalie: "This stylesheet is generated, DO NOT EDIT";
|
||||||
|
/* #{$cakeisalie} */
|
||||||
|
|
||||||
|
/* Copyright 2009, 2015 Red Hat, Inc.
|
||||||
|
*
|
||||||
|
* Portions adapted from Mx's data/style/default.css
|
||||||
|
* Copyright 2009 Intel Corporation
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
|
* under the terms and conditions of the GNU Lesser General Public License,
|
||||||
|
* version 2.1, as published by the Free Software Foundation.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope it will be useful, but WITHOUT ANY
|
||||||
|
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||||
|
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
|
||||||
|
* more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Lesser General Public License
|
||||||
|
* along with this program; if not, write to the Free Software Foundation,
|
||||||
|
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Global Values */
|
||||||
|
|
||||||
|
// padding, margin and spacing
|
||||||
|
$base_padding: 6px;
|
||||||
|
$base_margin: 4px;
|
||||||
|
$base_spacing: 6px;
|
||||||
|
|
||||||
|
// border radii
|
||||||
|
$base_border_radius: 8px;
|
||||||
|
|
||||||
|
$modal_radius:$base_border_radius * 2;
|
||||||
|
|
||||||
|
// non-standard colors
|
||||||
|
$bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
|
||||||
|
// $bubble_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
|
||||||
|
|
||||||
|
// hover
|
||||||
|
$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 5%));
|
||||||
|
$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
|
||||||
|
$hover_borders_color: lighten($borders_color,if($variant=='light', 5%, 3%));
|
||||||
|
|
||||||
|
// active
|
||||||
|
$active_bg_color: if($variant == 'light', darken($bg_color, 7%), darken($bg_color, 9%));
|
||||||
|
$active_fg_color: darken($fg_color,if($variant=='light', 5%, 3%));
|
||||||
|
$active_borders_color: darken($borders_color,if($variant=='light', 5%, 3%));
|
||||||
|
|
||||||
|
// fonts
|
||||||
|
$base_font_size: 11;
|
||||||
|
$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
|
||||||
|
|
||||||
|
// icons
|
||||||
|
$base_icon_size: 1.09em;
|
||||||
|
// $base_icon_size: 16px;
|
||||||
|
|
||||||
|
// Stage
|
||||||
|
stage {
|
||||||
|
@include fontsize($base_font_size);
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Common Stylings */
|
||||||
|
|
||||||
|
// Text
|
||||||
|
%status_text {
|
||||||
|
font-size: 2em;
|
||||||
|
font-weight: bold;
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// osd panels
|
||||||
|
%osd_panel {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
//border: 1px solid $osd_outer_borders_color;
|
||||||
|
border-radius: $base_border_radius * 2 + 4px;
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overview panels
|
||||||
|
// for the dash and workspace switcher
|
||||||
|
%overview_panel {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
background-color: transparentize($osd_fg_color, 0.9);
|
||||||
|
}
|
||||||
|
|
||||||
|
// icon tiles
|
||||||
|
%icon_tile {
|
||||||
|
border-radius: $base_border_radius + 4px;
|
||||||
|
padding: $base_padding;
|
||||||
|
border: 2px solid transparent;
|
||||||
|
transition-duration: 100ms;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
// dialogs
|
||||||
|
%bubble_panel {
|
||||||
|
color: $fg_color;
|
||||||
|
background-color: $bg_color;
|
||||||
|
border: 1px solid if($variant=='light', rgba(0,0,0, 0.6), $borders_color);
|
||||||
|
}
|
||||||
|
|
||||||
|
// button styling
|
||||||
|
%button {
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
min-height: 22px;
|
||||||
|
padding: $base_padding * 0.5 $base_padding * 4;
|
||||||
|
|
||||||
|
@include button(normal);
|
||||||
|
&:focus { @include button(focus);}
|
||||||
|
&:hover { @include button(hover);}
|
||||||
|
&:insensitive { @include button(insensitive);}
|
||||||
|
&:active { @include button(active);}
|
||||||
|
}
|
||||||
|
|
||||||
|
// buttons in dialogs
|
||||||
|
%bubble_button {
|
||||||
|
@include button(normal, $shadow: none);
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 1px;
|
||||||
|
border-left-width: 0;
|
||||||
|
border-bottom-width: 0;
|
||||||
|
|
||||||
|
&:insensitive { @include button(insensitive, $shadow: none); }
|
||||||
|
&:focus { @include button(focus, $shadow: none); }
|
||||||
|
&:hover { @include button(hover, $shadow: none); }
|
||||||
|
&:active { @include button(active, $shadow: none); }
|
||||||
|
|
||||||
|
// radius is 2 pixel less to fit in bubble
|
||||||
|
&:first-child {
|
||||||
|
border-radius: 0 0 0 $modal_radius - 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-right-width: 0;
|
||||||
|
border-radius: 0 0 $modal_radius - 2px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:first-child:last-child {
|
||||||
|
border-radius: 0 0 $modal_radius - 2px $modal_radius - 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// notification styling
|
||||||
|
@mixin notification_bubble($flat: false) {
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-radius: $base_border_radius + 2px;
|
||||||
|
margin: $base_margin;
|
||||||
|
|
||||||
|
@if $flat {
|
||||||
|
@include button(undecorated);
|
||||||
|
} @else {
|
||||||
|
@include button(normal);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
@include button(focus);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
@include button(hover);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
@include button(active);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,232 @@
|
|||||||
|
// Drawing mixins
|
||||||
|
|
||||||
|
// generic drawing of more complex things
|
||||||
|
|
||||||
|
@function draw_widget_edge($c:$borders_edge) {
|
||||||
|
// outer highlight "used" on most widgets
|
||||||
|
@return 0 1px $c;
|
||||||
|
}
|
||||||
|
|
||||||
|
// provide font size in rem, with px fallback
|
||||||
|
@mixin fontsize($size: 24, $base: 16) {
|
||||||
|
font-size: round($size) + pt;
|
||||||
|
//font-size: ($size / $base) * 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
|
||||||
|
//
|
||||||
|
// Helper function to stack up to 4 box-shadows;
|
||||||
|
//
|
||||||
|
@if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
|
||||||
|
@else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
|
||||||
|
@else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
|
||||||
|
@else { box-shadow: $shadow1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// entries
|
||||||
|
|
||||||
|
@mixin entry($t, $fc:$selected_bg_color, $edge: $borders_edge) {
|
||||||
|
//
|
||||||
|
// Entries drawing function
|
||||||
|
//
|
||||||
|
// $t: entry type
|
||||||
|
// $fc: focus color
|
||||||
|
// $edge: set to none to not draw the bottom edge or specify a color to not use the default one
|
||||||
|
//
|
||||||
|
// possible $t values:
|
||||||
|
// normal, focus, insensitive
|
||||||
|
//
|
||||||
|
|
||||||
|
@if $t==normal {
|
||||||
|
background-color: $base_color;
|
||||||
|
border-color: $borders_color;
|
||||||
|
|
||||||
|
}
|
||||||
|
@if $t==focus {
|
||||||
|
border-color: if($fc==$selected_bg_color,
|
||||||
|
$selected_borders_color,
|
||||||
|
darken($fc,35%));
|
||||||
|
box-shadow: inset 0 0 0 2px $fc;
|
||||||
|
}
|
||||||
|
@if $t==hover { }
|
||||||
|
@if $t==insensitive {
|
||||||
|
color: $insensitive_fg_color;
|
||||||
|
border-color: $insensitive_bg_color;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// buttons
|
||||||
|
|
||||||
|
@function draw_border_color ($c) {
|
||||||
|
//
|
||||||
|
// colored buttons want the border form the base color
|
||||||
|
//
|
||||||
|
@return if($variant == 'light', darken($c, 18%), darken($c, 4%));
|
||||||
|
}
|
||||||
|
|
||||||
|
@function draw_text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
|
||||||
|
//
|
||||||
|
// calculate the color of text shadows
|
||||||
|
//
|
||||||
|
// $tc is the text color
|
||||||
|
// $bg is the background color
|
||||||
|
//
|
||||||
|
$lbg: lightness($bg)/100%;
|
||||||
|
@if lightness($tc)<50% { @return rgba(255,255,255,$lbg/($lbg*1.3)); }
|
||||||
|
@else { @return rgba(0,0,0,1-$lbg*0.8); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@function draw_button_hilight_color($c) {
|
||||||
|
//
|
||||||
|
// calculate the right top highlight color for buttons
|
||||||
|
//
|
||||||
|
// $c: base color;
|
||||||
|
//
|
||||||
|
@if lightness($c)>90% { @return white; }
|
||||||
|
@else if lightness($c)>80% { @return rgba(255,255,255, 0.7); }
|
||||||
|
@else if lightness($c)>50% { @return rgba(255,255,255, 0.5); }
|
||||||
|
@else if lightness($c)>40% { @return rgba(255,255,255, 0.3); }
|
||||||
|
@else { @return rgba(255,255,255, 0.1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin draw_button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
|
||||||
|
//
|
||||||
|
// helper function for the text emboss effect
|
||||||
|
//
|
||||||
|
// $tc is the optional text color, not the shadow color
|
||||||
|
//
|
||||||
|
// TODO: this functions needs a way to deal with special cases
|
||||||
|
//
|
||||||
|
|
||||||
|
$shadow: draw_text_shadow_color($tc, $bg);
|
||||||
|
|
||||||
|
@if lightness($tc)<50% {
|
||||||
|
text-shadow: 0 1px $shadow;
|
||||||
|
icon-shadow: 0 1px $shadow;
|
||||||
|
}
|
||||||
|
@else {
|
||||||
|
text-shadow: 0 -1px $shadow;
|
||||||
|
icon-shadow: 0 -1px $shadow;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: $borders_edge, $shadow: $shadow_color) {
|
||||||
|
//
|
||||||
|
// Button drawing function
|
||||||
|
//
|
||||||
|
// $t: button type,
|
||||||
|
// $c: base button color for colored* types
|
||||||
|
// $tc: optional text color for colored* types
|
||||||
|
// $edge: set to none to not draw the bottom edge or specify a color to not
|
||||||
|
// use the default one
|
||||||
|
// $shadow: set to none to not draw the drop shadow or specify a color to not
|
||||||
|
// use the default one
|
||||||
|
//
|
||||||
|
// possible $t values:
|
||||||
|
// normal, hover, active, insensitive, insensitive-active,
|
||||||
|
// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
|
||||||
|
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
|
||||||
|
//
|
||||||
|
|
||||||
|
$hilight_color: draw_button_hilight_color($c);
|
||||||
|
$button_edge: if($edge == none, none, draw_widget_edge($edge));
|
||||||
|
$blank_edge: if($edge == none, none, draw_widget_edge(transparentize($edge,1)));
|
||||||
|
$button_shadow: if($shadow == none, none, 0 1px 1px 0 $shadow);
|
||||||
|
|
||||||
|
// normal button
|
||||||
|
@if $t==normal {
|
||||||
|
color: $tc;
|
||||||
|
background-color: lighten($c, 3%);
|
||||||
|
border-color: draw_border_color($c);
|
||||||
|
@include draw_shadows($button_shadow);
|
||||||
|
// box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
|
||||||
|
text-shadow: 0 1px $text_shadow_color;
|
||||||
|
icon-shadow: 0 1px $text_shadow_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// focused button
|
||||||
|
@if $t==focus {
|
||||||
|
color: $tc;
|
||||||
|
text-shadow: 0 1px $text_shadow_color;
|
||||||
|
icon-shadow: 0 1px $text_shadow_color;
|
||||||
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
||||||
|
//border-color: $selected_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// hover button
|
||||||
|
@else if $t==hover {
|
||||||
|
color: $tc;
|
||||||
|
background-color: lighten($c, if($variant == 'light', 8%, 5%));
|
||||||
|
border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)), draw_border_color($c));
|
||||||
|
@include draw_shadows($button_shadow);
|
||||||
|
text-shadow: 0 1px $text_shadow_color;
|
||||||
|
icon-shadow: 0 1px $text_shadow_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// active button
|
||||||
|
@else if $t==active {
|
||||||
|
color: $tc;
|
||||||
|
background-color: darken($c,3%);
|
||||||
|
border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
|
||||||
|
text-shadow: none;
|
||||||
|
icon-shadow: none;
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// insensitive button
|
||||||
|
@else if $t==insensitive {
|
||||||
|
color: $insensitive_fg_color;
|
||||||
|
border-color: $insensitive_borders_color;
|
||||||
|
background-color: $insensitive_bg_color;
|
||||||
|
box-shadow: none;
|
||||||
|
text-shadow: none;
|
||||||
|
icon-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// reset
|
||||||
|
@else if $t==undecorated {
|
||||||
|
border-color: transparent;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: none;
|
||||||
|
@include draw_shadows(inset 0 1px rgba(255,255,255,0),$blank_edge);
|
||||||
|
text-shadow: none;
|
||||||
|
icon-shadow: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// overview icons
|
||||||
|
@mixin overview-icon($color) {
|
||||||
|
.overview-icon {
|
||||||
|
@extend %icon_tile;
|
||||||
|
color: $color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover,
|
||||||
|
&:selected {
|
||||||
|
.overview-icon {
|
||||||
|
background-color: transparentize($color, .9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
.overview-icon {
|
||||||
|
background-color: transparentize($color, .7);
|
||||||
|
// border-color: $selected_bg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:drop {
|
||||||
|
.overview-icon {
|
||||||
|
border: 2px solid $selected_bg_color; //already 2px transparent so no jumping
|
||||||
|
background-color: transparentize($selected_bg_color, .8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active,
|
||||||
|
&:checked {
|
||||||
|
.overview-icon {
|
||||||
|
background-color: transparentize(darken($osd_bg_color, 10%), .5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
// When color definition differs for dark and light variant,
|
||||||
|
// it gets @if ed depending on $variant
|
||||||
|
|
||||||
|
|
||||||
|
$base_color: #222;
|
||||||
|
$bg_color: #000;
|
||||||
|
$fg_color: #fff;
|
||||||
|
|
||||||
|
$selected_fg_color: #ffffff;
|
||||||
|
$selected_bg_color: darken(#4a90d9,20%);
|
||||||
|
$selected_borders_color: darken($selected_bg_color, 20%);
|
||||||
|
$borders_color: darken($bg_color,12%);
|
||||||
|
$borders_edge: transparentize($fg_color, 0.9);
|
||||||
|
$link_color: lighten($selected_bg_color,20%);
|
||||||
|
$link_visited_color: lighten($selected_bg_color,10%);
|
||||||
|
$top_hilight: $borders_edge;
|
||||||
|
|
||||||
|
$warning_color: #f57900;
|
||||||
|
$error_color: #cc0000;
|
||||||
|
$success_color: darken(#73d216,10%);
|
||||||
|
$destructive_color: darken(#ef2929,10%);
|
||||||
|
|
||||||
|
$osd_fg_color: #eeeeec;
|
||||||
|
$osd_bg_color: #2e3436;
|
||||||
|
$osd_borders_color: rgba(0,0,0, 0.7);
|
||||||
|
$osd_outer_borders_color: rgba(255,255,255, 0.1);
|
||||||
|
|
||||||
|
$shadow_color: rgba(0,0,0, 0.1);
|
||||||
|
$system_bg_color: desaturate(#241f31,100%); //neutralize the HIG color
|
||||||
|
|
||||||
|
//insensitive state derived colors
|
||||||
|
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
||||||
|
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
|
||||||
|
$insensitive_borders_color: $borders_color;
|
||||||
|
|
||||||
|
//colors for the backdrop state, derived from the main colors.
|
||||||
|
$backdrop_base_color: lighten($base_color,1%);
|
||||||
|
$backdrop_bg_color: $bg_color;
|
||||||
|
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
|
||||||
|
$backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
|
||||||
|
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
|
||||||
|
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
//
|
||||||
|
// Shell widgets stylesheets are placed in separate .scss files
|
||||||
|
// in 'widgets' and imported into the main stylesheet in this file.
|
||||||
|
// To create or update a widget for the shell modify the list below.
|
||||||
|
//
|
||||||
|
|
||||||
|
/* WIDGETS */
|
||||||
|
|
||||||
|
// Primary widgets
|
||||||
|
@import 'widgets/base';
|
||||||
|
@import 'widgets/entries';
|
||||||
|
@import 'widgets/buttons';
|
||||||
|
@import 'widgets/check-box';
|
||||||
|
@import 'widgets/switches';
|
||||||
|
@import 'widgets/slider';
|
||||||
|
@import 'widgets/scrollbars';
|
||||||
|
// Popovers
|
||||||
|
@import 'widgets/popovers';
|
||||||
|
@import 'widgets/calendar';
|
||||||
|
@import 'widgets/message-list';
|
||||||
|
@import 'widgets/ibus-popup';
|
||||||
|
// Notifications
|
||||||
|
@import 'widgets/notifications';
|
||||||
|
@import 'widgets/hotplug';
|
||||||
|
// Dialogs
|
||||||
|
@import 'widgets/dialogs';
|
||||||
|
@import 'widgets/network-dialog';
|
||||||
|
// OSDs
|
||||||
|
@import 'widgets/osd';
|
||||||
|
@import 'widgets/switcher-popup';
|
||||||
|
@import 'widgets/workspace-switcher';
|
||||||
|
// Panel
|
||||||
|
@import 'widgets/panel';
|
||||||
|
@import 'widgets/corner-ripple';
|
||||||
|
// Overview
|
||||||
|
@import 'widgets/overview';
|
||||||
|
@import 'widgets/window-picker';
|
||||||
|
@import 'widgets/search-entry';
|
||||||
|
@import 'widgets/search-results';
|
||||||
|
@import 'widgets/dash';
|
||||||
|
@import 'widgets/app-grid';
|
||||||
|
@import 'widgets/workspace-thumbnails';
|
||||||
|
// A11y / misc
|
||||||
|
@import 'widgets/a11y';
|
||||||
|
@import 'widgets/misc';
|
||||||
|
@import 'widgets/tiled-previews';
|
||||||
|
@import 'widgets/keyboard';
|
||||||
|
@import 'widgets/looking-glass';
|
||||||
|
// Lock / login screens
|
||||||
|
@import 'widgets/login-dialog';
|
||||||
|
@import 'widgets/screen-shield';
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||||
|
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
||||||
|
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
||||||
|
xmlns="http://usefulinc.com/ns/doap#">
|
||||||
|
|
||||||
|
<name xml:lang="en">GNOME Shell Sass</name>
|
||||||
|
<shortdesc xml:lang="en">Sass sources of GNOME Shell</shortdesc>
|
||||||
|
<description>GNOME Shell Sass is a project intended to allow the sharing of the
|
||||||
|
sass theme sources between gnome-shell and other projects like gnome-shell-extensions.</description>
|
||||||
|
|
||||||
|
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
||||||
|
<programming-language>sass</programming-language>
|
||||||
|
<programming-language>css</programming-language>
|
||||||
|
|
||||||
|
<maintainer>
|
||||||
|
<foaf:Person>
|
||||||
|
<foaf:name>Carlos Soriano</foaf:name>
|
||||||
|
<foaf:mbox rdf:resource="mailto:csoriano@gnome.org" />
|
||||||
|
<gnome:userid>csoriano</gnome:userid>
|
||||||
|
</foaf:Person>
|
||||||
|
</maintainer>
|
||||||
|
<maintainer>
|
||||||
|
<foaf:Person>
|
||||||
|
<foaf:name>Florian Müllner</foaf:name>
|
||||||
|
<foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" />
|
||||||
|
<gnome:userid>fmuellner</gnome:userid>
|
||||||
|
</foaf:Person>
|
||||||
|
</maintainer>
|
||||||
|
<maintainer>
|
||||||
|
<foaf:Person>
|
||||||
|
<foaf:name>Jakub Steiner</foaf:name>
|
||||||
|
<foaf:mbox rdf:resource="mailto:jimmac@gmail.com" />
|
||||||
|
<gnome:userid>jimmac</gnome:userid>
|
||||||
|
</foaf:Person>
|
||||||
|
</maintainer>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
// Pointer location
|
||||||
|
.ripple-pointer-location {
|
||||||
|
width: $ripple_size;
|
||||||
|
height: $ripple_size;
|
||||||
|
border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
|
||||||
|
background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
|
||||||
|
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pointer accessibility notifications
|
||||||
|
.pie-timer {
|
||||||
|
width: 60px;
|
||||||
|
height: 60px;
|
||||||
|
-pie-border-width: 3px;
|
||||||
|
-pie-border-color: $selected_bg_color;
|
||||||
|
-pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Screen zoom/Magnifier
|
||||||
|
.magnifier-zoom-region {
|
||||||
|
border: 2px solid $selected_bg_color;
|
||||||
|
|
||||||
|
&.full-screen { border-width: 0; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,167 @@
|
|||||||
|
/* App Grid */
|
||||||
|
|
||||||
|
$app_icon_size: 96px;
|
||||||
|
|
||||||
|
// app icons
|
||||||
|
.icon-grid {
|
||||||
|
row-spacing: $base_spacing * 2;
|
||||||
|
column-spacing: $base_spacing * 2;
|
||||||
|
max-row-spacing: $base_spacing * 12;
|
||||||
|
max-column-spacing: $base_spacing * 12;
|
||||||
|
page-padding-top: $base_padding * 4;
|
||||||
|
page-padding-bottom: $base_padding * 4;
|
||||||
|
page-padding-left: $base_padding * 2;
|
||||||
|
page-padding-right: $base_padding * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* App Icons */
|
||||||
|
|
||||||
|
$app_grid_fg_color: #fff;
|
||||||
|
|
||||||
|
// Icon tiles in the app grid
|
||||||
|
.app-well-app,
|
||||||
|
%app-well-app {
|
||||||
|
@include overview-icon($app_grid_fg_color);
|
||||||
|
|
||||||
|
.overview-icon.overview-icon-with-label {
|
||||||
|
padding: 10px 8px 5px 8px;
|
||||||
|
|
||||||
|
> StBoxLayout {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* App Folders */
|
||||||
|
.app-well-app.app-folder {
|
||||||
|
background-color: $dash_background_color;
|
||||||
|
border-radius: $base_border_radius + 4px; // same as %icon_tile
|
||||||
|
}
|
||||||
|
|
||||||
|
// expanded folder
|
||||||
|
.app-folder-dialog { //style like the dash
|
||||||
|
border-radius: $modal_radius * 1.5;
|
||||||
|
background-color: $dash_background_color;
|
||||||
|
padding: 12px 0px 12px 0px;
|
||||||
|
|
||||||
|
& .folder-name-container {
|
||||||
|
padding: 24px 36px 0;
|
||||||
|
spacing: 12px;
|
||||||
|
|
||||||
|
& .folder-name-label,
|
||||||
|
& .folder-name-entry {
|
||||||
|
font-size: 18pt;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .folder-name-entry { width: 300px }
|
||||||
|
|
||||||
|
/* FIXME: this is to keep the label in sync with the entry */
|
||||||
|
& .folder-name-label { padding: 5px 7px; color: $osd_fg_color; }
|
||||||
|
|
||||||
|
& .edit-folder-button {
|
||||||
|
@extend %button;
|
||||||
|
|
||||||
|
padding: 0;
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 18px;
|
||||||
|
|
||||||
|
& > StIcon { icon-size: 16px }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
& .icon-grid {
|
||||||
|
row-spacing: $base_spacing * 2;
|
||||||
|
column-spacing: $base_spacing * 5;
|
||||||
|
page-padding-top: 0;
|
||||||
|
page-padding-bottom: 0;
|
||||||
|
page-padding-left: 0;
|
||||||
|
page-padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .page-indicators {
|
||||||
|
margin-bottom: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.app-folder-dialog-container {
|
||||||
|
padding: 12px;
|
||||||
|
width: 620px;
|
||||||
|
height: 620px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Running app indicator (also shown in dash)
|
||||||
|
.app-well-app-running-dot {
|
||||||
|
height: 5px;
|
||||||
|
width: 5px;
|
||||||
|
border-radius:5px;
|
||||||
|
background-color: $osd_fg_color;
|
||||||
|
margin-bottom: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Rename popup for app folders
|
||||||
|
.rename-folder-popup {
|
||||||
|
.rename-folder-popup-item {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
&:ltr, &:rtl { padding: 0 $base_padding * 2; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// right-click app menu
|
||||||
|
.app-menu {
|
||||||
|
max-width: 27.25em;
|
||||||
|
}
|
||||||
|
|
||||||
|
// App Grid pagination indicators
|
||||||
|
.page-indicator {
|
||||||
|
padding: $base_padding $base_padding * 2 0;
|
||||||
|
|
||||||
|
.page-indicator-icon {
|
||||||
|
width: 10px;
|
||||||
|
height: 10px;
|
||||||
|
border-radius: 10px; // the same as height&width
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.apps-scroll-view {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// shutdown and other actions in the grid
|
||||||
|
.system-action-icon {
|
||||||
|
background-color: rgba(0,0,0,0.8);
|
||||||
|
color: #fff;
|
||||||
|
border-radius: 99px;
|
||||||
|
icon-size: $app_icon_size * 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-navigation-hint {
|
||||||
|
width: 300px;
|
||||||
|
|
||||||
|
&.dnd {
|
||||||
|
background: rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
&.next:ltr,
|
||||||
|
&.previous:rtl {
|
||||||
|
background-gradient-start: rgba(255, 255, 255, 0.05);
|
||||||
|
background-gradient-end: transparent;
|
||||||
|
background-gradient-direction: horizontal;
|
||||||
|
border-radius: 15px 0px 0px 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.previous:ltr,
|
||||||
|
&.next:rtl {
|
||||||
|
background-gradient-start: transparent;
|
||||||
|
background-gradient-end: rgba(255, 255, 255, 0.05);
|
||||||
|
background-gradient-direction: horizontal;
|
||||||
|
border-radius: 0px 15px 15px 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-navigation-arrow {
|
||||||
|
margin: 6px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
// Links
|
||||||
|
.shell-link {
|
||||||
|
color: $link_color;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: lighten($link_color, 10%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Outline for low res icons
|
||||||
|
.lowres-icon {
|
||||||
|
icon-shadow: 0 1px 2px rgba(black, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dropshadow for large icons
|
||||||
|
.icon-dropshadow {
|
||||||
|
icon-shadow: 0 1px 5px rgba(black, 0.8);
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
/* Buttons */
|
||||||
|
|
||||||
|
.button {
|
||||||
|
@extend %button; // that's it
|
||||||
|
}
|
||||||
@@ -0,0 +1,291 @@
|
|||||||
|
/* Date/Time Menu */
|
||||||
|
|
||||||
|
.clock-display-box {
|
||||||
|
spacing: 2px;
|
||||||
|
|
||||||
|
.clock {
|
||||||
|
padding-left: $base_padding * 2;
|
||||||
|
padding-right: $base_padding * 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// overall menu
|
||||||
|
#calendarArea {
|
||||||
|
padding:0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Calendar menu side column
|
||||||
|
.datemenu-calendar-column {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
border: 0 solid $bubble_borders_color;
|
||||||
|
padding: 0 $base_padding * 2;
|
||||||
|
|
||||||
|
&:ltr {margin-right: $base_margin * 2; border-left-width: 1px; }
|
||||||
|
&:rtl {margin-left: $base_margin * 2; border-right-width: 1px; }
|
||||||
|
|
||||||
|
.datemenu-displays-section {
|
||||||
|
}
|
||||||
|
|
||||||
|
.datemenu-displays-box {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.events-section-title {
|
||||||
|
@include notification_bubble($flat: true);
|
||||||
|
color: desaturate(darken($fg_color,40%), 10%);
|
||||||
|
font-weight: bold;
|
||||||
|
padding: .4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* today button (the date) */
|
||||||
|
.datemenu-today-button {
|
||||||
|
@include notification_bubble($flat: true);
|
||||||
|
padding: $base_padding * 1.5;
|
||||||
|
|
||||||
|
// weekday label
|
||||||
|
.day-label {
|
||||||
|
@include fontsize($base_font_size+1);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
// date label
|
||||||
|
.date-label {
|
||||||
|
@include fontsize($base_font_size+7);
|
||||||
|
font-weight: 1000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Calendar */
|
||||||
|
.calendar {
|
||||||
|
@include notification_bubble;
|
||||||
|
padding: $base_padding;
|
||||||
|
|
||||||
|
// month
|
||||||
|
.calendar-month-label {
|
||||||
|
color: lighten($fg_color,5%);
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 8px 0;
|
||||||
|
&:focus {}
|
||||||
|
}
|
||||||
|
|
||||||
|
// prev/next month icons
|
||||||
|
.calendar-change-month-back StIcon,
|
||||||
|
.calendar-change-month-forward StIcon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager-button {
|
||||||
|
background-color: transparent;
|
||||||
|
height: 32px;
|
||||||
|
width: 32px;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
&:hover, &:focus { background-color: lighten($hover_bg_color, 5%); }
|
||||||
|
&:active { background-color: $active_bg_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$calendar_day_size: 32px;
|
||||||
|
|
||||||
|
.calendar-day-base {
|
||||||
|
@include fontsize($base_font_size - 3);
|
||||||
|
text-align: center;
|
||||||
|
width: $calendar_day_size;
|
||||||
|
height: $calendar_day_size;
|
||||||
|
padding: 0;
|
||||||
|
margin: 2px;
|
||||||
|
border-radius: $calendar_day_size * 0.5 + 2px;
|
||||||
|
border: 1px solid transparent; //avoid jumparound due to today
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
&:hover, &:focus { background-color: $hover_bg_color; }
|
||||||
|
&:active,&:selected {
|
||||||
|
color: lighten($fg_color,10%);
|
||||||
|
background-color: darken($bg_color,5%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// day of week heading
|
||||||
|
&.calendar-day-heading {
|
||||||
|
color: lighten($fg_color,10%);
|
||||||
|
margin-top: 1em;
|
||||||
|
@include fontsize($base_font_size - 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-day { //border collapse hack - see calendar.js
|
||||||
|
border-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-day-top {
|
||||||
|
border-top-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-day-left {
|
||||||
|
border-left-width: 1px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-work-day {}
|
||||||
|
|
||||||
|
.calendar-nonwork-day {
|
||||||
|
color: $insensitive_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Today
|
||||||
|
.calendar-today {
|
||||||
|
font-weight: bold;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
|
||||||
|
&:hover,&:focus {
|
||||||
|
background-color:lighten($selected_bg_color, 3%);
|
||||||
|
color: $selected_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active,&:selected {
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
|
||||||
|
&:hover,&:focus {
|
||||||
|
background-color:lighten($selected_bg_color, 3%);
|
||||||
|
color: $selected_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-day-with-events {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
|
||||||
|
&.calendar-work-day {
|
||||||
|
color: lighten($fg_color,10%);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-other-month-day {
|
||||||
|
color: transparentize($fg_color ,0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-week-number {
|
||||||
|
@include fontsize($base_font_size - 4);
|
||||||
|
font-weight: bold;
|
||||||
|
height: 1.8em;
|
||||||
|
width: 2.3em;
|
||||||
|
border-radius: 2px;
|
||||||
|
margin: 6px;
|
||||||
|
background-color: darken($bg_color, 2%);
|
||||||
|
color: lighten($fg_color, 5%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Events */
|
||||||
|
.events-button {
|
||||||
|
@include notification_bubble;
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
|
||||||
|
.events-box {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
.events-list {
|
||||||
|
spacing: 2 * $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
.events-title {
|
||||||
|
color: desaturate(darken($fg_color,40%), 10%);
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: $base_margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event-time {
|
||||||
|
color: darken($fg_color,20%);
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* World clocks */
|
||||||
|
.world-clocks-button {
|
||||||
|
@include notification_bubble;
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
|
||||||
|
.world-clocks-grid {
|
||||||
|
spacing-rows: $base_spacing;
|
||||||
|
spacing-columns: $base_spacing * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// title
|
||||||
|
.world-clocks-header {
|
||||||
|
color: desaturate(darken($fg_color,40%), 10%);
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
// city label
|
||||||
|
.world-clocks-city {
|
||||||
|
color: $fg_color;
|
||||||
|
@include fontsize($base_font_size);
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
// timezone time
|
||||||
|
.world-clocks-time {
|
||||||
|
font-weight: bold;
|
||||||
|
color: $fg_color;
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
@include fontsize($base_font_size);
|
||||||
|
|
||||||
|
&:ltr { text-align: right; }
|
||||||
|
&:rtl { text-align: left; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// timezone offset label
|
||||||
|
.world-clocks-timezone {
|
||||||
|
color: darken($fg_color,20%);
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Weather */
|
||||||
|
.weather-button {
|
||||||
|
@include notification_bubble;
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
|
||||||
|
.weather-box {
|
||||||
|
spacing: $base_spacing + $base_margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-header-box {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-header {
|
||||||
|
color: desaturate(darken($fg_color,40%), 10%);
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
&.location {
|
||||||
|
font-weight: normal;
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-grid {
|
||||||
|
spacing-rows: $base_spacing;
|
||||||
|
spacing-columns: $base_spacing * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-forecast-time {
|
||||||
|
color: darken($fg_color,30%);
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
@include fontsize($base_font_size - 2);
|
||||||
|
font-weight: normal;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
padding-bottom: 0.4em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-forecast-icon {
|
||||||
|
icon-size: $base_icon_size * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weather-forecast-temp {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
/* Check Boxes */
|
||||||
|
|
||||||
|
// these are equal to the size of the SVG assets
|
||||||
|
$check_height: 22px;
|
||||||
|
$check_width: 24px;
|
||||||
|
|
||||||
|
|
||||||
|
.check-box {
|
||||||
|
StBoxLayout { spacing: .8em; }
|
||||||
|
StBin {
|
||||||
|
width: $check_width;
|
||||||
|
height: $check_height;
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
|
||||||
|
}
|
||||||
|
&:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
|
||||||
|
&:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
|
||||||
|
&:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
|
||||||
|
}
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
/* Activities Ripple */
|
||||||
|
|
||||||
|
$ripple_size: 50px;
|
||||||
|
|
||||||
|
.ripple-box {
|
||||||
|
background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
||||||
|
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
||||||
|
// plus + 2px for the border (box-shadow)
|
||||||
|
width: $ripple_size + 2px;
|
||||||
|
height: $ripple_size + 2px;
|
||||||
|
border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve
|
||||||
|
|
||||||
|
// just a simple change to the border radius position
|
||||||
|
&:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
/* Dash */
|
||||||
|
|
||||||
|
$dash_background_color: #3b3b3b;
|
||||||
|
$dash_placeholder_size: 32px;
|
||||||
|
$dash_padding: $base_padding + 4px; // 10px
|
||||||
|
$dash_spacing: $base_padding / 4;
|
||||||
|
|
||||||
|
$dash_bottom_margin: $base_margin * 4;
|
||||||
|
|
||||||
|
$dash_border_radius: $modal_radius * 1.5;
|
||||||
|
|
||||||
|
#dash {
|
||||||
|
@include fontsize($base_font_size - 2);
|
||||||
|
margin-top: $base_spacing * 3;
|
||||||
|
padding: 0 $dash_padding;
|
||||||
|
|
||||||
|
.placeholder {
|
||||||
|
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||||
|
background-image:none;
|
||||||
|
background-size: contain;
|
||||||
|
height: $dash_placeholder_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-dash-drop-target {
|
||||||
|
width: $dash_placeholder_size;
|
||||||
|
height: $dash_placeholder_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overview-icon {
|
||||||
|
padding: $dash_padding / 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dash-background {
|
||||||
|
background-color: $dash_background_color;
|
||||||
|
margin-bottom: $dash_bottom_margin;
|
||||||
|
padding: $dash_padding;
|
||||||
|
border-radius: $dash_border_radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Dash Items
|
||||||
|
.dash-item-container .app-well-app, .show-apps {
|
||||||
|
padding: $dash_padding $dash_spacing $dash_padding + $dash_bottom_margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dash-separator {
|
||||||
|
width: 1px;
|
||||||
|
margin: 0 ($dash_spacing + ($dash_padding / 2)) $dash_bottom_margin;
|
||||||
|
background-color: transparentize($osd_fg_color,0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
// OSD Tooltip
|
||||||
|
.dash-label {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: $base_padding $base_padding * 2;
|
||||||
|
text-align: center;
|
||||||
|
-y-offset: $base_margin * 3; // distance from the dash edge
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show apps button
|
||||||
|
.show-apps {
|
||||||
|
@include overview-icon($osd_fg_color);
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:checked {
|
||||||
|
.overview-icon {
|
||||||
|
background-color: transparentize($osd_bg_color,0.5);
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
/* Modal Dialogs */
|
||||||
|
|
||||||
|
.headline {
|
||||||
|
@include fontsize($base_font_size + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog {
|
||||||
|
border-radius: $modal_radius;
|
||||||
|
@extend %bubble_panel;
|
||||||
|
|
||||||
|
.modal-dialog-content-box {
|
||||||
|
margin: 32px 40px;
|
||||||
|
spacing: 32px;
|
||||||
|
max-width: 28em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog-linked-button {
|
||||||
|
@extend %bubble_button;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* End Session Dialog */
|
||||||
|
.end-session-dialog {
|
||||||
|
width: 30em;
|
||||||
|
|
||||||
|
.end-session-dialog-battery-warning,
|
||||||
|
.dialog-list-title {
|
||||||
|
color: $warning_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Message Dialog */
|
||||||
|
.message-dialog-content {
|
||||||
|
spacing: 18px;
|
||||||
|
|
||||||
|
.message-dialog-title {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 18pt;
|
||||||
|
font-weight: 800;
|
||||||
|
|
||||||
|
&.lightweight {
|
||||||
|
font-size: 13pt;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.message-dialog-description { text-align: center; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Dialog List */
|
||||||
|
.dialog-list {
|
||||||
|
spacing: 18px;
|
||||||
|
|
||||||
|
.dialog-list-title {
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-list-scrollview { max-height: 200px; }
|
||||||
|
.dialog-list-box {
|
||||||
|
spacing: 1em;
|
||||||
|
|
||||||
|
.dialog-list-item {
|
||||||
|
spacing: 1em;
|
||||||
|
|
||||||
|
.dialog-list-item-title { font-weight: bold; }
|
||||||
|
.dialog-list-item-description {
|
||||||
|
color: darken($fg_color,5%);
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Run Dialog */
|
||||||
|
.run-dialog {
|
||||||
|
.modal-dialog-content-box {
|
||||||
|
margin-top: 24px;
|
||||||
|
margin-bottom: 14px;
|
||||||
|
}
|
||||||
|
.run-dialog-entry { width: 20em; }
|
||||||
|
.run-dialog-description {
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
text-align: center;
|
||||||
|
color: darken($fg_color, 20%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Password or Authentication Dialog */
|
||||||
|
|
||||||
|
.prompt-dialog {
|
||||||
|
width: 28em;
|
||||||
|
|
||||||
|
.modal-dialog-content-box {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.prompt-dialog-password-grid {
|
||||||
|
spacing-rows: 8px;
|
||||||
|
spacing-columns: 4px;
|
||||||
|
|
||||||
|
.prompt-dialog-password-entry {
|
||||||
|
width: auto;
|
||||||
|
|
||||||
|
// 4px (spacing) + 16px (spinner-width)
|
||||||
|
&:ltr { margin-left: 20px; }
|
||||||
|
&:rtl { margin-right: 20px; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.prompt-dialog-password-layout {
|
||||||
|
spacing: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prompt-dialog-password-entry {
|
||||||
|
width: 20em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prompt-dialog-error-label,
|
||||||
|
.prompt-dialog-info-label,
|
||||||
|
.prompt-dialog-null-label {
|
||||||
|
text-align: center;
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.prompt-dialog-error-label {
|
||||||
|
color: $warning_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Polkit Dialog */
|
||||||
|
|
||||||
|
.polkit-dialog-user-layout {
|
||||||
|
text-align: center;
|
||||||
|
spacing: 8px;
|
||||||
|
margin-bottom: 6px;
|
||||||
|
|
||||||
|
.polkit-dialog-user-root-label { color: $warning_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Audio selection dialog */
|
||||||
|
.audio-device-selection-dialog {
|
||||||
|
.modal-dialog-content-box { margin-bottom: 28px; }
|
||||||
|
.audio-selection-box { spacing: 20px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio-selection-device {
|
||||||
|
border: 1px solid $bubble_borders_color;
|
||||||
|
border-radius: 12px;
|
||||||
|
&:hover,&:focus { background-color: $hover_bg_color; }
|
||||||
|
&:active {
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio-selection-device-box {
|
||||||
|
padding: 20px;
|
||||||
|
spacing: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.audio-selection-device-icon {
|
||||||
|
icon-size: $base_icon_size * 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Welcome dialog */
|
||||||
|
.welcome-dialog-image {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg");
|
||||||
|
background-size: contain;
|
||||||
|
/* Reasonable maximum dimensions */
|
||||||
|
height: 300px;
|
||||||
|
width: 300px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Entries */
|
||||||
|
|
||||||
|
StEntry {
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
padding: 8px;
|
||||||
|
border-width: 0;
|
||||||
|
color: $fg_color;
|
||||||
|
@include entry(normal);
|
||||||
|
//&:hover { @include entry(hover);}
|
||||||
|
&:focus { @include entry(focus);}
|
||||||
|
&:insensitive { @include entry(insensitive);}
|
||||||
|
selection-background-color: $selected_bg_color;
|
||||||
|
selected-color: $selected_fg_color;
|
||||||
|
StIcon.capslock-warning {
|
||||||
|
icon-size: 16px;
|
||||||
|
warning-color: $warning_color;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
StIcon.peek-password {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
|
StLabel.hint-text {
|
||||||
|
margin-left: 2px;
|
||||||
|
color: transparentize($fg_color, 0.3);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
// hotplug
|
||||||
|
|
||||||
|
.hotplug-notification-item {
|
||||||
|
@extend %bubble_button;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hotplug-notification-item-icon {
|
||||||
|
icon-size: 24px;
|
||||||
|
padding: 0 4px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
// IBus Candidate Popup
|
||||||
|
|
||||||
|
.candidate-popup-boxpointer {
|
||||||
|
@extend .popup-menu-boxpointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.candidate-popup-content {
|
||||||
|
padding: 0.5em;
|
||||||
|
spacing: 0.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.candidate-index {
|
||||||
|
padding: 0 0.5em 0 0;
|
||||||
|
color: darken($fg_color,10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.candidate-box {
|
||||||
|
padding: 0.3em 0.5em 0.3em 0.5em;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
&:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.candidate-page-button-box {
|
||||||
|
height: 2em;
|
||||||
|
.vertical & { padding-top: 0.5em; }
|
||||||
|
.horizontal & { padding-left: 0.5em; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.candidate-page-button {
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0; }
|
||||||
|
.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px; }
|
||||||
|
.candidate-page-button-icon { icon-size: 1em; }
|
||||||
@@ -0,0 +1,115 @@
|
|||||||
|
/* On-screen Keyboard */
|
||||||
|
|
||||||
|
$key_size: 1.2em;
|
||||||
|
$key_border_radius: $base_border_radius + 3px;
|
||||||
|
$key_bg_color: $bg_color;
|
||||||
|
// $default_key_bg_color: darken($key_bg_color, 4%);
|
||||||
|
$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));
|
||||||
|
|
||||||
|
|
||||||
|
// draw keys using button function
|
||||||
|
#keyboard {
|
||||||
|
background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
|
||||||
|
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
|
||||||
|
|
||||||
|
.page-indicator {
|
||||||
|
padding: $base_padding;
|
||||||
|
|
||||||
|
.page-indicator-icon {
|
||||||
|
width: 8px;
|
||||||
|
height: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// the container for individual keys
|
||||||
|
.key-container {
|
||||||
|
padding: $base_margin;
|
||||||
|
spacing: $base_margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
// the keys
|
||||||
|
.keyboard-key {
|
||||||
|
|
||||||
|
@include button(normal, $c:$key_bg_color);
|
||||||
|
|
||||||
|
&:focus { @include button(focus);}
|
||||||
|
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
|
||||||
|
&:active { @include button(active, $c: $key_bg_color); }
|
||||||
|
|
||||||
|
@include fontsize($base_font_size + 5);
|
||||||
|
min-height: $key_size;
|
||||||
|
min-width: $key_size;
|
||||||
|
border-width: 1px;
|
||||||
|
border-style: solid;
|
||||||
|
border-radius: $key_border_radius;
|
||||||
|
|
||||||
|
&:grayed { //FIXMEy
|
||||||
|
background-color: darken($bg_color, 3%);
|
||||||
|
color: $osd_fg_color;
|
||||||
|
border-color: $osd_borders_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// non-character keys
|
||||||
|
&.default-key {
|
||||||
|
@include button(normal, $c:$default_key_bg_color);
|
||||||
|
&:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
|
||||||
|
&:active { @include button(active, $c: $default_key_bg_color);}
|
||||||
|
}
|
||||||
|
|
||||||
|
// enter key is suggested-action
|
||||||
|
&.enter-key {
|
||||||
|
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
||||||
|
&:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
|
||||||
|
&:active {@include button(active, $c: darken($selected_bg_color, 2%));}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.shift-key-uppercase { color: $selected_bg_color }
|
||||||
|
|
||||||
|
StIcon { icon-size: 1.125em; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// long press on a key popup
|
||||||
|
.keyboard-subkeys {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
-arrow-border-radius: $modal_radius;
|
||||||
|
-arrow-background-color: $osd_bg_color;
|
||||||
|
-arrow-border-width: 1px;
|
||||||
|
-arrow-border-color: lighten($osd_bg_color, 9%);
|
||||||
|
-arrow-base: 20px;
|
||||||
|
-arrow-rise: 10px;
|
||||||
|
-boxpointer-gap: $base_spacing;
|
||||||
|
|
||||||
|
.keyboard-key {
|
||||||
|
@include button(normal, $c:$key_bg_color);
|
||||||
|
|
||||||
|
&:focus { @include button(focus);}
|
||||||
|
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
|
||||||
|
&:active { @include button(active, $c: $key_bg_color); }
|
||||||
|
|
||||||
|
border-radius:$base_border_radius;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// emoji
|
||||||
|
.emoji-page {
|
||||||
|
.keyboard-key {
|
||||||
|
background-color: transparent;
|
||||||
|
border: none;
|
||||||
|
color: initial;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.emoji-panel {
|
||||||
|
.keyboard-key:latched {
|
||||||
|
border-color: lighten($selected_bg_color, 5%);
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// suggestions
|
||||||
|
.word-suggestions {
|
||||||
|
@include fontsize($base_font_size + 3);
|
||||||
|
spacing: 12px;
|
||||||
|
min-height: 20pt;
|
||||||
|
}
|
||||||
@@ -0,0 +1,174 @@
|
|||||||
|
/* Login Dialog */
|
||||||
|
|
||||||
|
.login-dialog-banner-view {
|
||||||
|
padding-top: 24px;
|
||||||
|
max-width: 23em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog,
|
||||||
|
.unlock-dialog {
|
||||||
|
//reset
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
|
||||||
|
$_gdm_bg: $system_bg_color;
|
||||||
|
|
||||||
|
StEntry {
|
||||||
|
@if $variant=='dark' {
|
||||||
|
$_gdm_entry_bg: darken($system_bg_color, 3%);
|
||||||
|
background-color: $_gdm_entry_bg;
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-dialog-button-box { spacing: 3px; }
|
||||||
|
.modal-dialog-button {
|
||||||
|
padding: 4px 18px;
|
||||||
|
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
|
||||||
|
background-color: darken($system_bg_color, 3%);
|
||||||
|
border-color: darken($system_bg_color, 3%);
|
||||||
|
color: $osd_fg_color;
|
||||||
|
|
||||||
|
$_hover_c: lighten($_gdm_bg, 5%);
|
||||||
|
&:hover, &:focus {
|
||||||
|
background-color: $_hover_c;
|
||||||
|
border-color: $_hover_c;
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
$_active_c: darken($_gdm_bg, 5%);
|
||||||
|
box-shadow: none;
|
||||||
|
background-color: $_active_c;
|
||||||
|
border-color: $_active_c;
|
||||||
|
}
|
||||||
|
&:insensitive {
|
||||||
|
@include button(insensitive);
|
||||||
|
border-color: darken($_gdm_bg, 5%);
|
||||||
|
background-color: darken($_gdm_bg, 5%);
|
||||||
|
color: transparentize($osd_fg_color, 0.3);
|
||||||
|
}
|
||||||
|
&:default {
|
||||||
|
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
||||||
|
border-color: $selected_bg_color;
|
||||||
|
&:hover, &:focus {
|
||||||
|
@include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
|
||||||
|
$_def_hover_c: lighten($selected_bg_color, 5%);
|
||||||
|
background-color: $_def_hover_c;
|
||||||
|
border-color: $_def_hover_c;
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
@include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
|
||||||
|
$_def_active_c: darken($selected_bg_color, 5%);
|
||||||
|
background-color: $_def_active_c;
|
||||||
|
border-color: $_def_active_c;
|
||||||
|
}
|
||||||
|
&:insensitive {
|
||||||
|
@include button(insensitive);
|
||||||
|
border-color: darken($selected_bg_color, 10%);
|
||||||
|
background-color: darken($selected_bg_color, 10%);
|
||||||
|
color: transparentize($selected_fg_color, 0.3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel-button,
|
||||||
|
.switch-user-button,
|
||||||
|
.login-dialog-session-list-button {
|
||||||
|
padding: 0;
|
||||||
|
border-radius: 99px;
|
||||||
|
width: $base_icon_size * 2;
|
||||||
|
height: $base_icon_size * 2;
|
||||||
|
border-color: darken($system_bg_color, 3%);
|
||||||
|
background-color: darken($system_bg_color, 3%);
|
||||||
|
|
||||||
|
StIcon { icon-size: $base_icon_size; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.caps-lock-warning-label,
|
||||||
|
.login-dialog-message-warning {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-logo-bin { padding: 24px 0px; }
|
||||||
|
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
||||||
|
.login-dialog-button-box { width: 23em; spacing: 5px; }
|
||||||
|
.login-dialog-message { text-align: center; }
|
||||||
|
.login-dialog-user-selection-box { padding: 100px 0px; }
|
||||||
|
.login-dialog-not-listed-label {
|
||||||
|
padding-left: 2px;
|
||||||
|
.login-dialog-not-listed-button:focus &,
|
||||||
|
.login-dialog-not-listed-button:hover & {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-not-listed-label {
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
font-weight: bold;
|
||||||
|
color: darken($osd_fg_color,30%);
|
||||||
|
padding-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-user-list-view { -st-vfade-offset: 1em; }
|
||||||
|
.login-dialog-user-list {
|
||||||
|
spacing: 12px;
|
||||||
|
width: 23em;
|
||||||
|
&:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
|
||||||
|
&:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-user-list-item {
|
||||||
|
border-radius: $base_border_radius + 4px;
|
||||||
|
padding: 6px;
|
||||||
|
color: darken($osd_fg_color,30%);
|
||||||
|
&:ltr .user-widget { padding-right: 1em; }
|
||||||
|
&:rtl .user-widget { padding-left: 1em; }
|
||||||
|
.login-dialog-timed-login-indicator {
|
||||||
|
height: 2px;
|
||||||
|
margin-top: 6px;
|
||||||
|
background-color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
&:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-widget-label {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-widget.horizontal .user-widget-label {
|
||||||
|
@include fontsize($base_font_size + 2);
|
||||||
|
font-weight: bold;
|
||||||
|
padding-left: 15px;
|
||||||
|
|
||||||
|
&:ltr { padding-left: 14px; text-align: left; }
|
||||||
|
&:rtl { padding-right: 14px; text-align: right; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-widget.vertical .user-widget-label {
|
||||||
|
@include fontsize($base_font_size + 5);
|
||||||
|
text-align: center;
|
||||||
|
font-weight: normal;
|
||||||
|
padding-top: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-timed-login-indicator {
|
||||||
|
height: 2px;
|
||||||
|
background-color: darken($fg_color,40%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-prompt-layout {
|
||||||
|
padding-top: 24px;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
width: 23em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-prompt-entry {
|
||||||
|
height: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-prompt-label {
|
||||||
|
color: darken($osd_fg_color, 20%);
|
||||||
|
@include fontsize($base_font_size + 1);
|
||||||
|
padding-top: 1em;
|
||||||
|
}
|
||||||
@@ -0,0 +1,109 @@
|
|||||||
|
/* Looking Glass */
|
||||||
|
|
||||||
|
$text_fg_color: #ccc;
|
||||||
|
|
||||||
|
// Dialog
|
||||||
|
#LookingGlassDialog {
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
spacing: $base_spacing;
|
||||||
|
padding: 4px;
|
||||||
|
border: 1px solid transparentize($osd_fg_color, 0.8);
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
color: $osd_fg_color;
|
||||||
|
|
||||||
|
& > #Toolbar {
|
||||||
|
border: none;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.labels { spacing: $base_spacing; }
|
||||||
|
.notebook-tab {
|
||||||
|
-natural-hpadding: $base_padding * 2;
|
||||||
|
-minimum-hpadding: 6px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: darken($osd_fg_color, 15%);
|
||||||
|
transition-duration: 100ms;
|
||||||
|
padding-left: .3em;
|
||||||
|
padding-right: .3em;
|
||||||
|
border-bottom-width: 2px;
|
||||||
|
&:hover {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
&:selected {
|
||||||
|
border-bottom-width: 2px;
|
||||||
|
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color, 5%);
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
|
||||||
|
StBoxLayout#ResultsArea { spacing: $base_spacing; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-dialog {
|
||||||
|
StEntry {
|
||||||
|
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
|
||||||
|
color: $osd_fg_color;
|
||||||
|
border-color: transparentize($osd_fg_color, 0.8);
|
||||||
|
min-height: 22px;
|
||||||
|
selection-background-color: $selected_bg_color;
|
||||||
|
selected-color: $selected_fg_color;
|
||||||
|
}
|
||||||
|
.shell-link {
|
||||||
|
color: $link_color;
|
||||||
|
&:hover { color: lighten($link_color, 10%); }
|
||||||
|
&:active { color: darken($link_color, 10%); }
|
||||||
|
}
|
||||||
|
.actor-link {
|
||||||
|
color: $text_fg_color;
|
||||||
|
&:hover { color: lighten($text_fg_color, 20%); }
|
||||||
|
&:active { color: darken($text_fg_color, 20%); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-completions-text {
|
||||||
|
font-size: .9em;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-obj-inspector-title {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-obj-inspector-button {
|
||||||
|
border: 1px solid $osd_borders_color;
|
||||||
|
padding: 4px;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
&:hover { border: 1px solid #ffffff; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Extensions
|
||||||
|
#lookingGlassExtensions { padding: 4px; }
|
||||||
|
|
||||||
|
.lg-extensions-list {
|
||||||
|
padding: 4px;
|
||||||
|
spacing: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-extension {
|
||||||
|
border: 1px solid lighten($osd_borders_color, 5%);
|
||||||
|
background-color: lighten($osd_bg_color, 5%);
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
padding: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-extension-name {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-extension-meta {
|
||||||
|
spacing: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Inspector
|
||||||
|
#LookingGlassPropertyInspector {
|
||||||
|
background: $osd_bg_color;
|
||||||
|
border: 1px solid $osd_borders_color;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
padding: 6px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,150 @@
|
|||||||
|
/* Message List */
|
||||||
|
// a.k.a. notifications in the menu
|
||||||
|
|
||||||
|
// main list
|
||||||
|
.message-list {
|
||||||
|
width: 31.5em;
|
||||||
|
padding: 0 $base_padding * 2;
|
||||||
|
|
||||||
|
.message-list-placeholder { spacing: 12px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-list-sections {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
margin: 0 $base_margin * 4; // to account for scrollbar
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-list-section,
|
||||||
|
.message-list-section-list {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
// do-not-disturb + clear button
|
||||||
|
.message-list-controls {
|
||||||
|
margin: ($base_margin * 2) ($base_margin * 4) 0;
|
||||||
|
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
|
||||||
|
padding: $base_margin;
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
|
||||||
|
.dnd-button {
|
||||||
|
// We need this because the focus outline isn't inset like for the buttons
|
||||||
|
// so the dnd button would grow when it gets focus if we didn't change only
|
||||||
|
// its color when focusing.
|
||||||
|
border-width: 2px;
|
||||||
|
border-color: transparent;
|
||||||
|
border-radius: 99px;
|
||||||
|
border-style: solid;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
border-color: transparentize($selected_bg_color, 0.4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// message bubbles
|
||||||
|
.message {
|
||||||
|
@include notification_bubble;
|
||||||
|
|
||||||
|
// icon container
|
||||||
|
.message-icon-bin {
|
||||||
|
padding: ($base_padding * 3) 0 ($base_padding * 3) ($base_padding * 2);
|
||||||
|
|
||||||
|
&:rtl {
|
||||||
|
padding: ($base_padding * 3) ($base_padding * 2) ($base_padding * 3) 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// icon size and color
|
||||||
|
> StIcon {
|
||||||
|
icon-size: $base_icon_size*2; // 32px
|
||||||
|
-st-icon-style: symbolic;
|
||||||
|
}
|
||||||
|
|
||||||
|
// fallback
|
||||||
|
> .fallback-app-icon {
|
||||||
|
width: $base_icon_size;
|
||||||
|
height: $base_icon_size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// content
|
||||||
|
.message-content {
|
||||||
|
padding: $base_padding + $base_margin * 2;
|
||||||
|
spacing: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// title
|
||||||
|
.message-title {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
// secondary container in title box
|
||||||
|
.message-secondary-bin {
|
||||||
|
padding: 0 $base_margin * 2;
|
||||||
|
|
||||||
|
// notification time stamp
|
||||||
|
> .event-time {
|
||||||
|
color: transparentize($fg_color, 0.5);
|
||||||
|
@include fontsize($base_font_size - 2);
|
||||||
|
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
||||||
|
padding-bottom: 0.13em;
|
||||||
|
|
||||||
|
&:ltr { text-align: right };
|
||||||
|
&:rtl { text-align: left };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// close button
|
||||||
|
.message-close-button {
|
||||||
|
color: lighten($fg_color, 15%);
|
||||||
|
&:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
|
||||||
|
&:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
|
||||||
|
}
|
||||||
|
|
||||||
|
// body
|
||||||
|
.message-body {
|
||||||
|
color: darken($fg_color, 10%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// URLs in messages
|
||||||
|
.url-highlighter {
|
||||||
|
link-color: $link_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Media Controls */
|
||||||
|
.message-media-control {
|
||||||
|
padding: $base_padding * 2 1.64em; // $base_padding * 4 = 24px
|
||||||
|
color: darken($fg_color, 15%);
|
||||||
|
|
||||||
|
// uses $hover_bg_color since the media controls are in a notification_bubble
|
||||||
|
&:hover {
|
||||||
|
background-color: lighten($hover_bg_color, 5%);
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
background-color: darken($hover_bg_color, 2%);
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:insensitive { color: darken($fg_color,40%); }
|
||||||
|
|
||||||
|
// fix border-radius for last button
|
||||||
|
&:last-child:ltr { border-radius: 0 $base_border_radius+2 $base_border_radius+2 0; }
|
||||||
|
&:last-child:rtl { border-radius: $base_border_radius+2 0 0 $base_border_radius+2; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// album-art
|
||||||
|
.media-message-cover-icon {
|
||||||
|
icon-size: $base_icon_size*2 !important; // 48px
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
|
||||||
|
// when there is no artwork
|
||||||
|
&.fallback {
|
||||||
|
color: darken($fg_color, 17%);
|
||||||
|
background-color: $bg_color;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
icon-size: $base_icon_size * 2 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
// Rubberband for select-area screenshots
|
||||||
|
.select-area-rubberband {
|
||||||
|
background-color: transparentize($selected_bg_color,0.7);
|
||||||
|
border: 1px solid $selected_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// User icon
|
||||||
|
.user-icon {
|
||||||
|
background-size: contain;
|
||||||
|
color: $osd_fg_color;
|
||||||
|
border-radius: 99px;
|
||||||
|
icon-size: $base_icon_size * 4; // 64px
|
||||||
|
&:hover {
|
||||||
|
color: lighten($osd_fg_color,30%);
|
||||||
|
}
|
||||||
|
|
||||||
|
& StIcon {
|
||||||
|
background-color: transparentize($osd_fg_color,0.95);
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: $base_padding * 2 ; // 12px
|
||||||
|
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.user-avatar {
|
||||||
|
border: 2px $osd_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.user-widget.vertical .user-icon {
|
||||||
|
icon-size: $base_icon_size * 6; // 128px
|
||||||
|
|
||||||
|
& StIcon {
|
||||||
|
padding: $base_padding * 3 + 2px; // 20px
|
||||||
|
padding-top: $base_padding * 3; // 18 px
|
||||||
|
padding-bottom: $base_padding * 3 + 4px; // 22px
|
||||||
|
width: $base_icon_size * 5.5; height: $base_icon_size * 5.5; // 88px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox { background-color: black; }
|
||||||
|
.flashspot { background-color: white; }
|
||||||
|
|
||||||
|
|
||||||
|
// Hidden
|
||||||
|
.hidden { color: rgba(0,0,0,0);}
|
||||||
|
|
||||||
|
// Caps-lock warning
|
||||||
|
.caps-lock-warning-label {
|
||||||
|
text-align: center;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
@include fontsize($base_font_size - 1);
|
||||||
|
color: $warning_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Workspace animation */
|
||||||
|
|
||||||
|
.workspace-animation {
|
||||||
|
background-color: $system_bg_color;
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
/* Network Dialogs */
|
||||||
|
.nm-dialog {
|
||||||
|
max-height: 34em;
|
||||||
|
min-height: 31em;
|
||||||
|
min-width: 32em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nm-dialog-content {
|
||||||
|
spacing: 20px;
|
||||||
|
padding: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nm-dialog-airplane-box { spacing: 12px; }
|
||||||
|
|
||||||
|
.nm-dialog-airplane-headline {
|
||||||
|
font-weight: bold;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nm-dialog-airplane-text { color: $fg_color; }
|
||||||
|
|
||||||
|
// header
|
||||||
|
.nm-dialog-header {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.nm-dialog-header-icon {
|
||||||
|
icon-size: $base_icon_size * 2;
|
||||||
|
}
|
||||||
|
.nm-dialog-header-hbox { spacing: 10px; }
|
||||||
|
|
||||||
|
// list of networks
|
||||||
|
.nm-dialog-scroll-view {
|
||||||
|
border: 1px solid $borders_color;
|
||||||
|
padding:0;
|
||||||
|
background-color: darken($bg_color, 3%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// list item
|
||||||
|
.nm-dialog-item {
|
||||||
|
@include fontsize($base_font_size);
|
||||||
|
border-bottom: 1px solid $borders_color;
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
spacing: 0px;
|
||||||
|
&:selected {
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// icons in list
|
||||||
|
.nm-dialog-icon { icon-size: $base_icon_size; }
|
||||||
|
.nm-dialog-icons { spacing: $base_spacing * 2; }
|
||||||
|
|
||||||
|
// no networks
|
||||||
|
.no-networks-label { color: $insensitive_fg_color; }
|
||||||
|
.no-networks-box { spacing: $base_padding; }
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
/* Notifications & Message Tray */
|
||||||
|
|
||||||
|
$notification_banner_height: 64px;
|
||||||
|
$notification_banner_width: 34em;
|
||||||
|
|
||||||
|
// Banner notifications
|
||||||
|
.notification-banner {
|
||||||
|
min-height: $notification_banner_height;
|
||||||
|
width: $notification_banner_width;
|
||||||
|
|
||||||
|
.notification-actions {
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification-button {
|
||||||
|
@extend %bubble_button;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// counter
|
||||||
|
.summary-source-counter {
|
||||||
|
font-size: $base_font_size - 1pt;
|
||||||
|
font-weight: bold;
|
||||||
|
height: 1.6em;
|
||||||
|
width: 1.6em;
|
||||||
|
-shell-counter-overlap-x: 3px;
|
||||||
|
-shell-counter-overlap-y: 3px;
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
border: 2px solid $fg_color;
|
||||||
|
box-shadow: 0 2px 2px rgba(0,0,0,0.5);
|
||||||
|
border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
// chat bubbles
|
||||||
|
.chat-body { spacing: 5px; }
|
||||||
|
.chat-response { margin: 5px; }
|
||||||
|
.chat-log-message { color: darken($fg_color,10%); }
|
||||||
|
.chat-new-group { padding-top: 1em; }
|
||||||
|
.chat-received {
|
||||||
|
padding-left: 4px;
|
||||||
|
&:rtl { padding-left: 0px; padding-right: 4px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-sent {
|
||||||
|
padding-left: 18pt;
|
||||||
|
color: lighten($fg_color, 15%);
|
||||||
|
&:rtl { padding-left: 0; padding-right: 18pt; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-meta-message {
|
||||||
|
padding-left: 4px;
|
||||||
|
@include fontsize($base_font_size - 2);
|
||||||
|
font-weight: bold;
|
||||||
|
color: lighten($fg_color,18%);
|
||||||
|
&:rtl { padding-left: 0; padding-right: 4px; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
/* OSD */
|
||||||
|
|
||||||
|
$osd_levelbar_height:8px;
|
||||||
|
|
||||||
|
.osd-window {
|
||||||
|
@extend %osd_panel;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
spacing: $base_spacing * 2; // 12px
|
||||||
|
margin: $base_margin * 8; // 32px
|
||||||
|
min-width: 64px;
|
||||||
|
min-height: 64px;
|
||||||
|
|
||||||
|
StIcon {
|
||||||
|
icon-size:$base_icon_size * 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.osd-monitor-label { font-size: 3em; }
|
||||||
|
|
||||||
|
.level {
|
||||||
|
height: $osd_levelbar_height;
|
||||||
|
-barlevel-height: $osd_levelbar_height;
|
||||||
|
-barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
|
||||||
|
-barlevel-active-background-color: $osd_fg_color;
|
||||||
|
-barlevel-overdrive-color: $destructive_color;
|
||||||
|
-barlevel-overdrive-separator-width: 3px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Pad OSD */
|
||||||
|
.pad-osd-window {
|
||||||
|
padding: 32px;
|
||||||
|
background-color: transparentize(#000, 0.2);
|
||||||
|
|
||||||
|
.pad-osd-title-box { spacing: 12px; }
|
||||||
|
.pad-osd-title-menu-box { spacing: 6px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.combo-box-label {
|
||||||
|
width: 15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.resize-popup {
|
||||||
|
@extend %osd_panel;
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/* OVERVIEW */
|
||||||
|
|
||||||
|
.controls-manager, .secondary-monitor-workspaces {
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
#overviewGroup {
|
||||||
|
background-color: $system_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overview-controls {
|
||||||
|
padding-bottom: 32px;
|
||||||
|
}
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
/* Top Bar */
|
||||||
|
// a.k.a. the panel
|
||||||
|
|
||||||
|
$panel_corner_radius: $base_border_radius+1;
|
||||||
|
$panel_bg_color: #000;
|
||||||
|
$panel_fg_color: #ddd;
|
||||||
|
$panel_height: 2.2em;
|
||||||
|
$panel_transition_duration: 250ms; // same as the overview transition duration
|
||||||
|
|
||||||
|
#panel {
|
||||||
|
background-color: $panel_bg_color;
|
||||||
|
font-weight: bold;
|
||||||
|
height: $panel_height;
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
transition-duration: $panel_transition_duration;
|
||||||
|
|
||||||
|
// transparent panel on lock & login screens
|
||||||
|
&.unlock-screen,
|
||||||
|
&.login-screen,
|
||||||
|
&:overview {
|
||||||
|
background-color: transparent;
|
||||||
|
|
||||||
|
.panel-corner {
|
||||||
|
-panel-corner-opacity: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// the rounded outset corners
|
||||||
|
.panel-corner {
|
||||||
|
-panel-corner-radius: $panel_corner_radius;
|
||||||
|
-panel-corner-background-color: $panel_bg_color;
|
||||||
|
-panel-corner-border-width: 2px;
|
||||||
|
-panel-corner-border-color: transparent;
|
||||||
|
-panel-corner-opacity: 1;
|
||||||
|
transition-duration: $panel_transition_duration;
|
||||||
|
}
|
||||||
|
|
||||||
|
// panel menus
|
||||||
|
.panel-button {
|
||||||
|
font-weight: bold;
|
||||||
|
color: $panel_fg_color;
|
||||||
|
-natural-hpadding: $base_padding * 2;
|
||||||
|
-minimum-hpadding: $base_padding;
|
||||||
|
transition-duration: 150ms;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-radius: 99px;
|
||||||
|
|
||||||
|
&.clock-display {
|
||||||
|
.clock {
|
||||||
|
transition-duration: 150ms;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-radius: 99px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover, &:active, &:overview, &:focus, &:checked {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.20);
|
||||||
|
|
||||||
|
// The clock display needs to have the background on .clock because
|
||||||
|
// we want to exclude the do-not-disturb indicator from the background
|
||||||
|
&.clock-display {
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
|
.clock {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.20);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// status area icons
|
||||||
|
.system-status-icon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
padding: $base_padding - 1px;
|
||||||
|
margin: 0 $base_margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-status-indicators-box .system-status-icon,
|
||||||
|
.panel-status-menu-box .system-status-icon {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// app menu icon
|
||||||
|
.app-menu-icon {
|
||||||
|
-st-icon-style: symbolic;
|
||||||
|
// dimensions of the icon are hardcoded
|
||||||
|
}
|
||||||
|
|
||||||
|
&#panelActivities {
|
||||||
|
-natural-hpadding: $base_padding * 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.unlock-screen,
|
||||||
|
&.login-screen,
|
||||||
|
&:overview {
|
||||||
|
.panel-button {
|
||||||
|
&:hover, &:active, &:overview, &:focus, &:checked {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15);
|
||||||
|
|
||||||
|
&.clock-display {
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
|
.clock {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-status-indicators-box,
|
||||||
|
.panel-status-menu-box {
|
||||||
|
spacing: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// spacing between power icon and (optional) percentage label
|
||||||
|
.power-status.panel-status-indicators-box {
|
||||||
|
spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// indicator for active
|
||||||
|
.screencast-indicator,
|
||||||
|
.remote-access-indicator { color: $warning_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// App Menu
|
||||||
|
#appMenu {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
.label-shadow { color: transparent; }
|
||||||
|
}
|
||||||
|
|
||||||
|
#appMenu .panel-status-menu-box {
|
||||||
|
padding: 0 $base_padding;
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
@@ -0,0 +1,131 @@
|
|||||||
|
/* Popovers/Menus */
|
||||||
|
|
||||||
|
$popover_arrow_height: 12px;
|
||||||
|
|
||||||
|
//.the popover itself
|
||||||
|
.popup-menu-boxpointer {
|
||||||
|
-arrow-border-radius: $base_border_radius+4;
|
||||||
|
-arrow-background-color: $bg_color;
|
||||||
|
-arrow-border-width: 1px;
|
||||||
|
-arrow-border-color: $borders_color;
|
||||||
|
-arrow-base: $popover_arrow_height * 2;
|
||||||
|
-arrow-rise: $popover_arrow_height;
|
||||||
|
-arrow-box-shadow: 0 1px 3px rgba(0,0,0,0.5); // dreaming bugzilla #689995
|
||||||
|
}
|
||||||
|
|
||||||
|
// container of the popover menu
|
||||||
|
.popup-menu {
|
||||||
|
min-width: 15em;
|
||||||
|
color: $fg_color;
|
||||||
|
|
||||||
|
//.popup-status-menu-item { font-weight: normal; color: pink; } //dunno what that is
|
||||||
|
&.panel-menu {
|
||||||
|
-boxpointer-gap: $base_margin; // distance from the panel
|
||||||
|
margin-bottom: 1.75em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-menu-content {
|
||||||
|
padding: $base_padding * 2 + $base_margin 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// menu items
|
||||||
|
.popup-menu-item {
|
||||||
|
spacing: $base_padding;
|
||||||
|
padding: $base_padding;
|
||||||
|
|
||||||
|
&:ltr { padding-right:1.75em; padding-left: 0; }
|
||||||
|
&:rtl { padding-right: 0; padding-left:1.75em; }
|
||||||
|
|
||||||
|
&:checked {
|
||||||
|
background-color: lighten($bg_color, 2%);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.selected {
|
||||||
|
background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:insensitive { color: transparentize($fg_color,0.5);}
|
||||||
|
}
|
||||||
|
|
||||||
|
// all icons and other graphical elements
|
||||||
|
.popup-inactive-menu-item {
|
||||||
|
color: $fg_color;
|
||||||
|
|
||||||
|
&:insensitive { color: transparentize($fg_color,0.5); }
|
||||||
|
}
|
||||||
|
|
||||||
|
// symbolic icons in popover
|
||||||
|
.popup-menu-arrow,
|
||||||
|
.popup-menu-icon { icon-size: $base_icon_size; }
|
||||||
|
|
||||||
|
// popover submenus
|
||||||
|
.popup-sub-menu {
|
||||||
|
background-color: darken($bg_color, 3%);
|
||||||
|
box-shadow: none;
|
||||||
|
border-top: 1px solid transparentize($borders_color, 0.2);
|
||||||
|
border-bottom: 1px solid transparentize($borders_color, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
// container for radio and check boxes
|
||||||
|
.popup-menu-ornament {
|
||||||
|
width: 1.2em;
|
||||||
|
|
||||||
|
&:ltr { text-align: right };
|
||||||
|
&:rtl { text-align: left };
|
||||||
|
}
|
||||||
|
|
||||||
|
// separator
|
||||||
|
.popup-separator-menu-item {
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
.popup-separator-menu-item-separator {
|
||||||
|
//-margin-horizontal: 24px;
|
||||||
|
height: 1px; //not really the whole box
|
||||||
|
margin: 6px 64px;
|
||||||
|
background-color: lighten($borders_color, 2%);
|
||||||
|
.popup-sub-menu & { //submenu separators
|
||||||
|
margin: 0 64px 0 32px;
|
||||||
|
@if $variant == 'dark' {
|
||||||
|
background-color: lighten($bg_color,10%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// desktop background menu
|
||||||
|
.background-menu {
|
||||||
|
-boxpointer-gap: $base_margin;
|
||||||
|
-arrow-rise: 0px; // hide the beak on the menu
|
||||||
|
}
|
||||||
|
|
||||||
|
// system status menu
|
||||||
|
.aggregate-menu {
|
||||||
|
min-width: 21em;
|
||||||
|
|
||||||
|
// lock screen, shutdown, etc. buttons
|
||||||
|
.popup-menu-icon {
|
||||||
|
padding:0;
|
||||||
|
margin: 0 $base_margin;
|
||||||
|
-st-icon-style: symbolic;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-sub-menu .popup-menu-item > :first-child {
|
||||||
|
// account for icons in submenus with padding
|
||||||
|
&:ltr {
|
||||||
|
padding-left: $base_padding + $base_margin * 2;
|
||||||
|
margin-left: $base_icon_size;
|
||||||
|
}
|
||||||
|
&:rtl {
|
||||||
|
padding-right: $base_padding + $base_margin * 2; ;
|
||||||
|
margin-right: $base_icon_size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,78 @@
|
|||||||
|
/* Screen Shield */
|
||||||
|
|
||||||
|
.unlock-dialog-clock {
|
||||||
|
color: white;
|
||||||
|
font-weight: 300;
|
||||||
|
text-align: center;
|
||||||
|
spacing: 24px;
|
||||||
|
padding-bottom: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unlock-dialog-clock-time {
|
||||||
|
font-size: 64pt;
|
||||||
|
padding-top: 42px;
|
||||||
|
font-feature-settings: "tnum";
|
||||||
|
}
|
||||||
|
|
||||||
|
.unlock-dialog-clock-date {
|
||||||
|
font-size: 16pt;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unlock-dialog-clock-hint {
|
||||||
|
font-weight: normal;
|
||||||
|
padding-top: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unlock-dialog-notifications-container {
|
||||||
|
margin: 12px 0;
|
||||||
|
spacing: 6px;
|
||||||
|
width: 23em;
|
||||||
|
background-color: transparent;
|
||||||
|
.summary-notification-stack-scrollview {
|
||||||
|
padding-top: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notification,
|
||||||
|
.unlock-dialog-notification-source {
|
||||||
|
padding: 12px 6px;
|
||||||
|
border: none;
|
||||||
|
background-color: transparentize($osd_bg_color,0.7);
|
||||||
|
color: $osd_fg_color;
|
||||||
|
border-radius: $modal_radius;
|
||||||
|
|
||||||
|
&.critical { background-color: transparentize($osd_bg_color,0.1) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.unlock-dialog-notification-label {
|
||||||
|
padding: 0px 0px 0px 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.unlock-dialog-notification-count-text {
|
||||||
|
weight: bold;
|
||||||
|
padding: 0 6px;
|
||||||
|
color: $osd_bg_color;
|
||||||
|
background-color: transparentize($osd_fg_color, 0.7);
|
||||||
|
border-radius: 99px;
|
||||||
|
margin-right: 12px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.screen-shield-background { //just the shadow, really
|
||||||
|
background: black;
|
||||||
|
box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
#lockDialogGroup {
|
||||||
|
background-color: $system_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
#unlockDialogNotifications {
|
||||||
|
StButton#vhandle, StButton#hhandle {
|
||||||
|
background-color: transparentize($bg_color,0.7);
|
||||||
|
&:hover, &:focus { background-color: transparentize($bg_color,0.5); }
|
||||||
|
&:active { background-color: transparentize($selected_bg_color,0.5); }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
/* Scrollbars */
|
||||||
|
|
||||||
|
StScrollView {
|
||||||
|
&.vfade { -st-vfade-offset: 68px; }
|
||||||
|
&.hfade { -st-hfade-offset: 68px; }
|
||||||
|
}
|
||||||
|
|
||||||
|
StScrollBar {
|
||||||
|
padding: 0;
|
||||||
|
|
||||||
|
StScrollView & {
|
||||||
|
min-width: 14px;
|
||||||
|
min-height: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
StBin#trough {
|
||||||
|
border-radius: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
StButton#vhandle, StButton#hhandle {
|
||||||
|
border-radius: 8px;
|
||||||
|
background-color: mix($fg_color, $bg_color, 60%);
|
||||||
|
//border: 3px solid transparent; //would be nice to margin or at least to transparent
|
||||||
|
margin: 3px;
|
||||||
|
&:hover { background-color: mix($fg_color, $bg_color, 80%); }
|
||||||
|
&:active { background-color: $selected_bg_color; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
// Search entry
|
||||||
|
|
||||||
|
$search_entry_width: 320px;
|
||||||
|
$search_entry_height: 36px;
|
||||||
|
|
||||||
|
%search_entry,
|
||||||
|
.search-entry {
|
||||||
|
width: $search_entry_width;
|
||||||
|
padding: $base_padding+1 $base_padding+3;
|
||||||
|
border-radius: $search_entry_height * 0.5; // half the height
|
||||||
|
color: transparentize($fg_color,0.3);
|
||||||
|
background-color: $bg_color;
|
||||||
|
margin-top: $base_spacing * 2;
|
||||||
|
margin-bottom: $base_spacing;
|
||||||
|
border-width: 2px;
|
||||||
|
border-color: transparent;
|
||||||
|
&:hover {
|
||||||
|
background-color: $hover_bg_color;
|
||||||
|
color: $hover_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
border-style: solid;
|
||||||
|
border-color: $selected_bg_color;
|
||||||
|
color: $fg_color;
|
||||||
|
box-shadow: inset 0 1px 2px 1px rgba(0,0,0,0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.search-entry-icon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
padding: 0 4px;
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
/* Search */
|
||||||
|
|
||||||
|
// search overview container
|
||||||
|
#searchResultsContent {
|
||||||
|
max-width: 1024px;
|
||||||
|
spacing: $base_margin * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// search results sections "the boxes"
|
||||||
|
.search-section {
|
||||||
|
// This should be equal to #searchResultsContent spacing
|
||||||
|
spacing: $base_margin * 2;
|
||||||
|
|
||||||
|
// separator
|
||||||
|
.search-section-separator {
|
||||||
|
// height: 1px;
|
||||||
|
// background-color: $osd_outer_borders_color;
|
||||||
|
height: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// content
|
||||||
|
.search-section-content {
|
||||||
|
background-color: transparentize(lighten($osd_bg_color, 5%), 0.2);
|
||||||
|
border-radius: $modal_radius+3;
|
||||||
|
border: 1px solid $osd_outer_borders_color;
|
||||||
|
box-shadow: 0 2px 4px 0 $shadow_color;
|
||||||
|
text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
|
||||||
|
color: $osd_fg_color;
|
||||||
|
padding: $base_padding * 3;
|
||||||
|
// This is the space between the provider icon and the results container
|
||||||
|
spacing: $base_margin * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
%search-section-content-item {
|
||||||
|
@extend %icon_tile;
|
||||||
|
|
||||||
|
&:focus,
|
||||||
|
&:hover,
|
||||||
|
&:selected {
|
||||||
|
background-color: transparentize($osd_fg_color, .9);
|
||||||
|
transition-duration: 200ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active,
|
||||||
|
&:checked {
|
||||||
|
background-color: transparentize(darken($osd_bg_color, 10%), .1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// "no results" text
|
||||||
|
.search-statustext {
|
||||||
|
@extend %status_text;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid-search-results {
|
||||||
|
spacing: $base_spacing * 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search results with icons
|
||||||
|
.grid-search-result {
|
||||||
|
@extend %app-well-app;
|
||||||
|
}
|
||||||
|
|
||||||
|
// search result provider
|
||||||
|
.search-provider-icon {
|
||||||
|
@extend %search-section-content-item;
|
||||||
|
|
||||||
|
// content
|
||||||
|
.list-search-provider-content {
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
|
||||||
|
// provider labels
|
||||||
|
.list-search-provider-details {
|
||||||
|
width: 120px;
|
||||||
|
margin-top: 0;
|
||||||
|
color: darken($osd_fg_color, 8%);
|
||||||
|
// font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// search results list
|
||||||
|
.list-search-results {
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
// search result listitem
|
||||||
|
.list-search-result {
|
||||||
|
@extend %search-section-content-item;
|
||||||
|
|
||||||
|
// content
|
||||||
|
.list-search-result-content {
|
||||||
|
spacing: $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
// list item title (with leading icon)
|
||||||
|
.list-search-result-title {
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
// font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
// list item description
|
||||||
|
.list-search-result-description {
|
||||||
|
color: darken($osd_fg_color, 30%);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
/* Slider */
|
||||||
|
|
||||||
|
$slider_size: 15px;
|
||||||
|
|
||||||
|
.slider {
|
||||||
|
height: $slider_size;
|
||||||
|
// slider trough
|
||||||
|
-barlevel-height: 3px; // has to be an odd number
|
||||||
|
-barlevel-background-color: $borders_color; //background of the trough
|
||||||
|
-barlevel-border-width: 1px;
|
||||||
|
-barlevel-border-color: $borders_color; // trough border color
|
||||||
|
// fill style
|
||||||
|
-barlevel-active-background-color: $selected_bg_color; //active trough fill
|
||||||
|
-barlevel-active-border-color: if($variant == 'light', darken($selected_bg_color, 4%), lighten($selected_bg_color, 2%)); //active trough border
|
||||||
|
// overfill style (red in this case)
|
||||||
|
-barlevel-overdrive-color: $destructive_color;
|
||||||
|
-barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%), lighten($destructive_color, 2%)); //trough border when red;
|
||||||
|
-barlevel-overdrive-separator-width:1px;
|
||||||
|
// slider handler
|
||||||
|
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
|
||||||
|
-slider-handle-border-width: 1px;
|
||||||
|
-slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
|
||||||
|
|
||||||
|
color: if($variant == 'light', lighten($bg_color, 10%), $fg_color);
|
||||||
|
&:hover { color: $hover_bg_color; }
|
||||||
|
&:active { color: $active_bg_color; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
/* App Switcher */
|
||||||
|
|
||||||
|
.switcher-popup {
|
||||||
|
padding: 8px;
|
||||||
|
spacing: $base_spacing * 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// switcher onscreen panel
|
||||||
|
.switcher-list {
|
||||||
|
@extend %osd_panel;
|
||||||
|
|
||||||
|
.item-box {
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: $base_border_radius + 1px;
|
||||||
|
border: 1px solid transparent;
|
||||||
|
|
||||||
|
&:outlined {
|
||||||
|
background-color: transparentize($osd_fg_color, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:selected {
|
||||||
|
background-color: transparentize($osd_fg_color, 0.7);
|
||||||
|
color: $osd_fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// window thumbnails
|
||||||
|
.thumbnail-box {
|
||||||
|
padding: 2px;
|
||||||
|
spacing: $base_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumbnail {
|
||||||
|
width: 256px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.separator {
|
||||||
|
width: 1px;
|
||||||
|
background: $borders_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.switcher-list-item-container {
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.switcher-arrow {
|
||||||
|
border-color: rgba(0,0,0,0);
|
||||||
|
color: transparentize($fg_color,0.2);
|
||||||
|
&:highlighted {
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Input Source Switcher
|
||||||
|
.input-source-switcher-symbol {
|
||||||
|
font-size: 34pt;
|
||||||
|
width: 96px;
|
||||||
|
height: 96px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Window cycler highlight
|
||||||
|
.cycler-highlight {
|
||||||
|
border: 5px solid $selected_bg_color;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/* Switches */
|
||||||
|
|
||||||
|
// these are equal to the size of the SVG assets
|
||||||
|
$switch_height: 22px;
|
||||||
|
$switch_width: 46px;
|
||||||
|
|
||||||
|
.toggle-switch {
|
||||||
|
color: $fg_color;
|
||||||
|
height: $switch_height;
|
||||||
|
width: $switch_width;
|
||||||
|
background-size: contain;
|
||||||
|
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off.svg"),url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
|
||||||
|
&:checked {
|
||||||
|
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on.svg"),url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
/* Tiled window previews */
|
||||||
|
$tile_corner_radius: $base_border_radius + 1px;
|
||||||
|
.tile-preview {
|
||||||
|
background-color: transparentize($selected_bg_color,0.5);
|
||||||
|
border: 1px solid $selected_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tile-preview-left.on-primary {
|
||||||
|
border-radius: $tile_corner_radius 0 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tile-preview-right.on-primary {
|
||||||
|
border-radius: 0 $tile_corner_radius 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tile-preview-left.tile-preview-right.on-primary {
|
||||||
|
border-radius: $tile_corner_radius $tile_corner_radius 0 0;
|
||||||
|
}
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
/* Window Picker */
|
||||||
|
|
||||||
|
$window_picker_spacing: $base_spacing; // 6px
|
||||||
|
$window_picker_padding: $base_padding * 2; // 12px
|
||||||
|
|
||||||
|
$window_thumbnail_label_color: transparentize($osd_bg_color, 0.4);
|
||||||
|
|
||||||
|
$window_close_button_size: 30px;
|
||||||
|
$window_close_button_padding: 3px;
|
||||||
|
|
||||||
|
// Window picker
|
||||||
|
.window-picker {
|
||||||
|
// Space between window thumbnails
|
||||||
|
spacing: $window_picker_spacing;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Window titles
|
||||||
|
.window-caption {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: $base_padding $base_padding * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Close button
|
||||||
|
.window-close {
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
color: $osd_fg_color;
|
||||||
|
border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
|
||||||
|
padding: $window_close_button_padding;
|
||||||
|
height: $window_close_button_size;
|
||||||
|
width: $window_close_button_size;
|
||||||
|
box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
|
||||||
|
transition-duration: 300ms;
|
||||||
|
|
||||||
|
& StIcon { icon-size: 24px; }
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: lighten($osd_bg_color, 15%);
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
color: transparentize($osd_fg_color, 0.2);
|
||||||
|
background-color: darken($osd_bg_color, 5%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-background {
|
||||||
|
// keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js
|
||||||
|
border-radius: 30px;
|
||||||
|
box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7);
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
/* Workspace Switcher */
|
||||||
|
.workspace-switcher-group {
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-switcher-container {
|
||||||
|
@extend %osd_panel;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-switcher {
|
||||||
|
background: transparent;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0;
|
||||||
|
padding: 0;
|
||||||
|
spacing: $base_spacing * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ws-switcher-box {
|
||||||
|
background: transparent;
|
||||||
|
height: 50px;
|
||||||
|
background-size: 32px;
|
||||||
|
border: 1px solid transparentize($osd_fg_color,0.9);
|
||||||
|
border-radius: $base_border_radius + 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// active workspace in the switcher
|
||||||
|
.ws-switcher-active-up,
|
||||||
|
.ws-switcher-active-down,
|
||||||
|
.ws-switcher-active-left,
|
||||||
|
.ws-switcher-active-right {
|
||||||
|
height: 52px;
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
border: 1px solid if($variant=='light', darken($selected_bg_color, 8%), lighten($selected_bg_color, 5%));
|
||||||
|
border-radius: $base_border_radius + 3px;
|
||||||
|
color: $selected_fg_color;
|
||||||
|
}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
/* Workspace pager */
|
||||||
|
|
||||||
|
// thumbnails in overview
|
||||||
|
.workspace-thumbnails {
|
||||||
|
visible-width: 32px; //amount visible before hover
|
||||||
|
spacing: $base_spacing;
|
||||||
|
padding: $base_padding;
|
||||||
|
|
||||||
|
.workspace-thumbnail {
|
||||||
|
@extend %overview_panel;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
// drag and drop indicator
|
||||||
|
.placeholder {
|
||||||
|
background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
|
||||||
|
background-size: contain;
|
||||||
|
width: 18px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// selected indicator
|
||||||
|
.workspace-thumbnail-indicator {
|
||||||
|
border: 3px solid $selected_bg_color;
|
||||||
|
border-radius: 3px;
|
||||||
|
padding: 0px;
|
||||||
|
// background-color: transparentize($selected_bg_color, 0.9);
|
||||||
|
}
|
||||||
+9
-3
@@ -65,30 +65,36 @@ theme_sources = files(
|
|||||||
'gnome-shell-sass/widgets/_hotplug.scss',
|
'gnome-shell-sass/widgets/_hotplug.scss',
|
||||||
'gnome-shell-sass/widgets/_ibus-popup.scss',
|
'gnome-shell-sass/widgets/_ibus-popup.scss',
|
||||||
'gnome-shell-sass/widgets/_keyboard.scss',
|
'gnome-shell-sass/widgets/_keyboard.scss',
|
||||||
'gnome-shell-sass/widgets/_login-lock.scss',
|
'gnome-shell-sass/widgets/_login-dialog.scss',
|
||||||
'gnome-shell-sass/widgets/_looking-glass.scss',
|
'gnome-shell-sass/widgets/_looking-glass.scss',
|
||||||
'gnome-shell-sass/widgets/_message-list.scss',
|
'gnome-shell-sass/widgets/_message-list.scss',
|
||||||
'gnome-shell-sass/widgets/_misc.scss',
|
'gnome-shell-sass/widgets/_misc.scss',
|
||||||
|
'gnome-shell-sass/widgets/_network-dialog.scss',
|
||||||
'gnome-shell-sass/widgets/_notifications.scss',
|
'gnome-shell-sass/widgets/_notifications.scss',
|
||||||
'gnome-shell-sass/widgets/_osd.scss',
|
'gnome-shell-sass/widgets/_osd.scss',
|
||||||
'gnome-shell-sass/widgets/_overview.scss',
|
'gnome-shell-sass/widgets/_overview.scss',
|
||||||
'gnome-shell-sass/widgets/_panel.scss',
|
'gnome-shell-sass/widgets/_panel.scss',
|
||||||
'gnome-shell-sass/widgets/_popovers.scss',
|
'gnome-shell-sass/widgets/_popovers.scss',
|
||||||
'gnome-shell-sass/widgets/_quick-settings.scss',
|
'gnome-shell-sass/widgets/_screen-shield.scss',
|
||||||
'gnome-shell-sass/widgets/_screenshot.scss',
|
|
||||||
'gnome-shell-sass/widgets/_scrollbars.scss',
|
'gnome-shell-sass/widgets/_scrollbars.scss',
|
||||||
'gnome-shell-sass/widgets/_search-entry.scss',
|
'gnome-shell-sass/widgets/_search-entry.scss',
|
||||||
'gnome-shell-sass/widgets/_search-results.scss',
|
'gnome-shell-sass/widgets/_search-results.scss',
|
||||||
'gnome-shell-sass/widgets/_slider.scss',
|
'gnome-shell-sass/widgets/_slider.scss',
|
||||||
'gnome-shell-sass/widgets/_switcher-popup.scss',
|
'gnome-shell-sass/widgets/_switcher-popup.scss',
|
||||||
'gnome-shell-sass/widgets/_switches.scss',
|
'gnome-shell-sass/widgets/_switches.scss',
|
||||||
|
'gnome-shell-sass/widgets/_tiled-previews.scss',
|
||||||
'gnome-shell-sass/widgets/_window-picker.scss',
|
'gnome-shell-sass/widgets/_window-picker.scss',
|
||||||
'gnome-shell-sass/widgets/_workspace-switcher.scss',
|
'gnome-shell-sass/widgets/_workspace-switcher.scss',
|
||||||
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
|
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
|
||||||
)
|
)
|
||||||
|
|
||||||
theme_data = [
|
theme_data = [
|
||||||
|
'calendar-today.svg',
|
||||||
'classic-process-working.svg',
|
'classic-process-working.svg',
|
||||||
|
'classic-toggle-off-intl.svg',
|
||||||
|
'classic-toggle-off-us.svg',
|
||||||
|
'classic-toggle-on-intl.svg',
|
||||||
|
'classic-toggle-on-us.svg',
|
||||||
'gnome-classic-high-contrast.css'
|
'gnome-classic-high-contrast.css'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
srcdir=`dirname $0`
|
||||||
srcdir=`(cd $srcdir && pwd)`
|
srcdir=`(cd $srcdir && pwd)`
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
const {
|
const {
|
||||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
|
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
|
||||||
} = imports.gi;
|
} = imports.gi;
|
||||||
const {EventEmitter} = imports.misc.signals;
|
const Signals = imports.signals;
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
@@ -24,13 +24,10 @@ const NAVIGATION_REGION_OVERSHOOT = 50;
|
|||||||
Gio._promisify(Gio._LocalFilePrototype, 'query_info_async', 'query_info_finish');
|
Gio._promisify(Gio._LocalFilePrototype, 'query_info_async', 'query_info_finish');
|
||||||
Gio._promisify(Gio._LocalFilePrototype, 'set_attributes_async', 'set_attributes_finish');
|
Gio._promisify(Gio._LocalFilePrototype, 'set_attributes_async', 'set_attributes_finish');
|
||||||
|
|
||||||
|
var ApplicationMenuItem = GObject.registerClass(
|
||||||
class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
static {
|
_init(button, app) {
|
||||||
GObject.registerClass(this);
|
super._init();
|
||||||
}
|
|
||||||
|
|
||||||
constructor(button, app) {
|
|
||||||
super();
|
|
||||||
this._app = app;
|
this._app = app;
|
||||||
this._button = button;
|
this._button = button;
|
||||||
|
|
||||||
@@ -96,15 +93,12 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
icon.style_class = 'icon-dropshadow';
|
icon.style_class = 'icon-dropshadow';
|
||||||
this._iconBin.set_child(icon);
|
this._iconBin.set_child(icon);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
var CategoryMenuItem = GObject.registerClass(
|
||||||
class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
static {
|
_init(button, category) {
|
||||||
GObject.registerClass(this);
|
super._init();
|
||||||
}
|
|
||||||
|
|
||||||
constructor(button, category) {
|
|
||||||
super();
|
|
||||||
this._category = category;
|
this._category = category;
|
||||||
this._button = button;
|
this._button = button;
|
||||||
|
|
||||||
@@ -117,7 +111,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
else
|
else
|
||||||
name = _('Favorites');
|
name = _('Favorites');
|
||||||
|
|
||||||
this.add_child(new St.Label({text: name}));
|
this.add_child(new St.Label({ text: name }));
|
||||||
this.connect('motion-event', this._onMotionEvent.bind(this));
|
this.connect('motion-event', this._onMotionEvent.bind(this));
|
||||||
this.connect('notify::active', this._onActiveChanged.bind(this));
|
this.connect('notify::active', this._onActiveChanged.bind(this));
|
||||||
}
|
}
|
||||||
@@ -220,7 +214,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
this._button.selectCategory(this._category);
|
this._button.selectCategory(this._category);
|
||||||
this._button.scrollToCatButton(this);
|
this._button.scrollToCatButton(this);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
class ApplicationsMenu extends PopupMenu.PopupMenu {
|
class ApplicationsMenu extends PopupMenu.PopupMenu {
|
||||||
constructor(sourceActor, arrowAlignment, arrowSide, button) {
|
constructor(sourceActor, arrowAlignment, arrowSide, button) {
|
||||||
@@ -239,10 +233,8 @@ class ApplicationsMenu extends PopupMenu.PopupMenu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DesktopTarget extends EventEmitter {
|
class DesktopTarget {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
|
||||||
|
|
||||||
this._desktop = null;
|
this._desktop = null;
|
||||||
this._desktopDestroyedId = 0;
|
this._desktopDestroyedId = 0;
|
||||||
|
|
||||||
@@ -359,14 +351,12 @@ class DesktopTarget extends EventEmitter {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Signals.addSignalMethods(DesktopTarget.prototype);
|
||||||
|
|
||||||
|
let ApplicationsButton = GObject.registerClass(
|
||||||
class ApplicationsButton extends PanelMenu.Button {
|
class ApplicationsButton extends PanelMenu.Button {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init(1.0, null, false);
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super(1.0, null, false);
|
|
||||||
|
|
||||||
this.setMenu(new ApplicationsMenu(this, 1.0, St.Side.TOP, this));
|
this.setMenu(new ApplicationsMenu(this, 1.0, St.Side.TOP, this));
|
||||||
Main.panel.menuManager.addMenu(this.menu);
|
Main.panel.menuManager.addMenu(this.menu);
|
||||||
@@ -409,7 +399,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
|
this._tree = new GMenu.Tree({ menu_basename: 'applications.menu' });
|
||||||
this._treeChangedId = this._tree.connect('changed',
|
this._treeChangedId = this._tree.connect('changed',
|
||||||
this._onTreeChanged.bind(this));
|
this._onTreeChanged.bind(this));
|
||||||
|
|
||||||
@@ -510,7 +500,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
}
|
}
|
||||||
let app = appSys.lookup_app(id);
|
let app = appSys.lookup_app(id);
|
||||||
if (!app)
|
if (!app)
|
||||||
app = new Shell.App({app_info: entry.get_app_info()});
|
app = new Shell.App({ app_info: entry.get_app_info() });
|
||||||
if (app.get_app_info().should_show())
|
if (app.get_app_info().should_show())
|
||||||
this.applicationsByCategory[categoryId].push(app);
|
this.applicationsByCategory[categoryId].push(app);
|
||||||
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
|
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
|
||||||
@@ -556,8 +546,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
_createLayout() {
|
_createLayout() {
|
||||||
let section = new PopupMenu.PopupMenuSection();
|
let section = new PopupMenu.PopupMenuSection();
|
||||||
this.menu.addMenuItem(section);
|
this.menu.addMenuItem(section);
|
||||||
this.mainBox = new St.BoxLayout({vertical: false});
|
this.mainBox = new St.BoxLayout({ vertical: false });
|
||||||
this.leftBox = new St.BoxLayout({vertical: true});
|
this.leftBox = new St.BoxLayout({ vertical: true });
|
||||||
this.applicationsScrollBox = new St.ScrollView({
|
this.applicationsScrollBox = new St.ScrollView({
|
||||||
style_class: 'apps-menu vfade',
|
style_class: 'apps-menu vfade',
|
||||||
x_expand: true,
|
x_expand: true,
|
||||||
@@ -579,9 +569,9 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
|
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
|
||||||
this.leftBox.add_child(this.categoriesScrollBox);
|
this.leftBox.add_child(this.categoriesScrollBox);
|
||||||
|
|
||||||
this.applicationsBox = new St.BoxLayout({vertical: true});
|
this.applicationsBox = new St.BoxLayout({ vertical: true });
|
||||||
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
||||||
this.categoriesBox = new St.BoxLayout({vertical: true});
|
this.categoriesBox = new St.BoxLayout({ vertical: true });
|
||||||
this.categoriesScrollBox.add_actor(this.categoriesBox);
|
this.categoriesScrollBox.add_actor(this.categoriesBox);
|
||||||
|
|
||||||
this.mainBox.add(this.leftBox);
|
this.mainBox.add(this.leftBox);
|
||||||
@@ -675,7 +665,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
|
|
||||||
return applist;
|
return applist;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
let appsMenuButton;
|
let appsMenuButton;
|
||||||
|
|
||||||
|
|||||||
@@ -3,5 +3,4 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// Start apps on custom workspaces
|
// Start apps on custom workspaces
|
||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
|
|
||||||
const {Shell} = imports.gi;
|
const { Shell } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// Start apps on custom workspaces
|
// Start apps on custom workspaces
|
||||||
/* exported init buildPrefsWidget */
|
/* exported init buildPrefsWidget */
|
||||||
|
|
||||||
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
const { Adw, Gio, GLib, GObject, Gtk } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
|
||||||
@@ -12,195 +12,129 @@ const SETTINGS_KEY = 'application-list';
|
|||||||
|
|
||||||
const WORKSPACE_MAX = 36; // compiled in limit of mutter
|
const WORKSPACE_MAX = 36; // compiled in limit of mutter
|
||||||
|
|
||||||
class NewItem extends GObject.Object {}
|
const AutoMoveSettingsWidget = GObject.registerClass(
|
||||||
GObject.registerClass(NewItem);
|
|
||||||
|
|
||||||
class NewItemModel extends GObject.Object {
|
|
||||||
static [GObject.interfaces] = [Gio.ListModel];
|
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
#item = new NewItem();
|
|
||||||
|
|
||||||
vfunc_get_item_type() {
|
|
||||||
return NewItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_n_items() {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_item(_pos) {
|
|
||||||
return this.#item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class Rule extends GObject.Object {
|
|
||||||
static [GObject.properties] = {
|
|
||||||
'app-info': GObject.ParamSpec.object(
|
|
||||||
'app-info', 'app-info', 'app-info',
|
|
||||||
GObject.ParamFlags.READWRITE,
|
|
||||||
Gio.DesktopAppInfo),
|
|
||||||
'workspace': GObject.ParamSpec.uint(
|
|
||||||
'workspace', 'workspace', 'workspace',
|
|
||||||
GObject.ParamFlags.READWRITE,
|
|
||||||
1, WORKSPACE_MAX, 1),
|
|
||||||
};
|
|
||||||
|
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class RulesList extends GObject.Object {
|
|
||||||
static [GObject.interfaces] = [Gio.ListModel];
|
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
#settings = ExtensionUtils.getSettings();
|
|
||||||
#rules = [];
|
|
||||||
#changedId;
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
this.#changedId =
|
|
||||||
this.#settings.connect(`changed::${SETTINGS_KEY}`,
|
|
||||||
() => this.#sync());
|
|
||||||
this.#sync();
|
|
||||||
}
|
|
||||||
|
|
||||||
append(appInfo) {
|
|
||||||
const pos = this.#rules.length;
|
|
||||||
|
|
||||||
this.#rules.push(new Rule({appInfo}));
|
|
||||||
this.#saveRules();
|
|
||||||
|
|
||||||
this.items_changed(pos, 0, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
remove(id) {
|
|
||||||
const pos = this.#rules.findIndex(r => r.appInfo.get_id() === id);
|
|
||||||
if (pos < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.#rules.splice(pos, 1);
|
|
||||||
this.#saveRules();
|
|
||||||
|
|
||||||
this.items_changed(pos, 1, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
changeWorkspace(id, workspace) {
|
|
||||||
const pos = this.#rules.findIndex(r => r.appInfo.get_id() === id);
|
|
||||||
if (pos < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.#rules[pos].set({workspace});
|
|
||||||
this.#saveRules();
|
|
||||||
}
|
|
||||||
|
|
||||||
#saveRules() {
|
|
||||||
this.#settings.block_signal_handler(this.#changedId);
|
|
||||||
this.#settings.set_strv(SETTINGS_KEY,
|
|
||||||
this.#rules.map(r => `${r.app_info.get_id()}:${r.workspace}`));
|
|
||||||
this.#settings.unblock_signal_handler(this.#changedId);
|
|
||||||
}
|
|
||||||
|
|
||||||
#sync() {
|
|
||||||
const removed = this.#rules.length;
|
|
||||||
|
|
||||||
this.#rules = [];
|
|
||||||
for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) {
|
|
||||||
const [id, workspace] = stringRule.split(':');
|
|
||||||
const appInfo = Gio.DesktopAppInfo.new(id);
|
|
||||||
if (appInfo)
|
|
||||||
this.#rules.push(new Rule({appInfo, workspace}));
|
|
||||||
else
|
|
||||||
log(`Invalid ID ${id}`);
|
|
||||||
}
|
|
||||||
this.items_changed(0, removed, this.#rules.length);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_item_type() {
|
|
||||||
return Rule;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_n_items() {
|
|
||||||
return this.#rules.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_item(pos) {
|
|
||||||
return this.#rules[pos] ?? null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
|
class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
|
|
||||||
this.install_action('rules.add', null, self => self._addNewRule());
|
|
||||||
this.install_action('rules.remove', 's',
|
|
||||||
(self, name, param) => self._rules.remove(param.unpack()));
|
|
||||||
this.install_action('rules.change-workspace', '(si)',
|
|
||||||
(self, name, param) => self._rules.changeWorkspace(...param.deepUnpack()));
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super({
|
|
||||||
title: _('Workspace Rules'),
|
title: _('Workspace Rules'),
|
||||||
});
|
});
|
||||||
|
|
||||||
this._rules = new RulesList();
|
|
||||||
|
|
||||||
const store = new Gio.ListStore({item_type: Gio.ListModel});
|
|
||||||
const listModel = new Gtk.FlattenListModel({model: store});
|
|
||||||
store.append(this._rules);
|
|
||||||
store.append(new NewItemModel());
|
|
||||||
|
|
||||||
this._list = new Gtk.ListBox({
|
this._list = new Gtk.ListBox({
|
||||||
selection_mode: Gtk.SelectionMode.NONE,
|
selection_mode: Gtk.SelectionMode.NONE,
|
||||||
css_classes: ['boxed-list'],
|
css_classes: ['boxed-list'],
|
||||||
});
|
});
|
||||||
this.add(this._list);
|
this.add(this._list);
|
||||||
|
|
||||||
this._list.bind_model(listModel, item => {
|
this._list.append(new NewRuleRow());
|
||||||
return item instanceof NewItem
|
|
||||||
? new NewRuleRow()
|
this._actionGroup = new Gio.SimpleActionGroup();
|
||||||
: new RuleRow(item);
|
this._list.insert_action_group('rules', this._actionGroup);
|
||||||
|
|
||||||
|
let action;
|
||||||
|
action = new Gio.SimpleAction({ name: 'add' });
|
||||||
|
action.connect('activate', this._onAddActivated.bind(this));
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
action = new Gio.SimpleAction({
|
||||||
|
name: 'remove',
|
||||||
|
parameter_type: new GLib.VariantType('s'),
|
||||||
});
|
});
|
||||||
|
action.connect('activate', this._onRemoveActivated.bind(this));
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
action = new Gio.SimpleAction({ name: 'update' });
|
||||||
|
action.connect('activate', () => {
|
||||||
|
this._settings.set_strv(SETTINGS_KEY,
|
||||||
|
this._getRuleRows().map(row => `${row.id}:${row.value}`));
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
this._updateAction = action;
|
||||||
|
|
||||||
|
this._settings = ExtensionUtils.getSettings();
|
||||||
|
this._changedId = this._settings.connect('changed',
|
||||||
|
this._sync.bind(this));
|
||||||
|
this._sync();
|
||||||
|
|
||||||
|
this.connect('destroy', () => this._settings.run_dispose());
|
||||||
}
|
}
|
||||||
|
|
||||||
_addNewRule() {
|
_onAddActivated() {
|
||||||
const dialog = new NewRuleDialog(this.get_root());
|
const dialog = new NewRuleDialog(this.get_root());
|
||||||
dialog.connect('response', (dlg, id) => {
|
dialog.connect('response', (dlg, id) => {
|
||||||
const appInfo = id === Gtk.ResponseType.OK
|
const appInfo = id === Gtk.ResponseType.OK
|
||||||
? dialog.get_widget().get_app_info() : null;
|
? dialog.get_widget().get_app_info() : null;
|
||||||
if (appInfo)
|
if (appInfo) {
|
||||||
this._rules.append(appInfo);
|
this._settings.set_strv(SETTINGS_KEY, [
|
||||||
|
...this._settings.get_strv(SETTINGS_KEY),
|
||||||
|
`${appInfo.get_id()}:1`,
|
||||||
|
]);
|
||||||
|
}
|
||||||
dialog.destroy();
|
dialog.destroy();
|
||||||
});
|
});
|
||||||
dialog.show();
|
dialog.show();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
class WorkspaceSelector extends Gtk.Widget {
|
_onRemoveActivated(action, param) {
|
||||||
static [GObject.properties] = {
|
const removed = param.deepUnpack();
|
||||||
|
this._settings.set_strv(SETTINGS_KEY,
|
||||||
|
this._settings.get_strv(SETTINGS_KEY).filter(entry => {
|
||||||
|
const [id] = entry.split(':');
|
||||||
|
return id !== removed;
|
||||||
|
}));
|
||||||
|
}
|
||||||
|
|
||||||
|
_getRuleRows() {
|
||||||
|
return [...this._list].filter(row => !!row.id);
|
||||||
|
}
|
||||||
|
|
||||||
|
_sync() {
|
||||||
|
const oldRules = this._getRuleRows();
|
||||||
|
const newRules = this._settings.get_strv(SETTINGS_KEY).map(entry => {
|
||||||
|
const [id, value] = entry.split(':');
|
||||||
|
return { id, value };
|
||||||
|
});
|
||||||
|
|
||||||
|
this._settings.block_signal_handler(this._changedId);
|
||||||
|
this._updateAction.enabled = false;
|
||||||
|
|
||||||
|
newRules.forEach(({ id, value }, index) => {
|
||||||
|
const row = oldRules.find(r => r.id === id);
|
||||||
|
const appInfo = row
|
||||||
|
? null : Gio.DesktopAppInfo.new(id);
|
||||||
|
|
||||||
|
if (row)
|
||||||
|
row.set({ value });
|
||||||
|
else if (appInfo)
|
||||||
|
this._list.insert(new RuleRow(appInfo, value), index);
|
||||||
|
});
|
||||||
|
|
||||||
|
const removed = oldRules.filter(
|
||||||
|
({ id }) => !newRules.find(r => r.id === id));
|
||||||
|
removed.forEach(r => this._list.remove(r));
|
||||||
|
|
||||||
|
this._settings.unblock_signal_handler(this._changedId);
|
||||||
|
this._updateAction.enabled = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const WorkspaceSelector = GObject.registerClass({
|
||||||
|
Properties: {
|
||||||
'number': GObject.ParamSpec.uint(
|
'number': GObject.ParamSpec.uint(
|
||||||
'number', 'number', 'number',
|
'number', 'number', 'number',
|
||||||
GObject.ParamFlags.READWRITE,
|
GObject.ParamFlags.READWRITE,
|
||||||
1, WORKSPACE_MAX, 1),
|
1, WORKSPACE_MAX, 1),
|
||||||
};
|
},
|
||||||
|
}, class WorkspaceSelector extends Gtk.Widget {
|
||||||
|
static _classInit(klass) {
|
||||||
|
super._classInit(klass);
|
||||||
|
|
||||||
static {
|
klass.set_layout_manager_type(Gtk.BoxLayout);
|
||||||
GObject.registerClass(this);
|
|
||||||
|
|
||||||
this.set_layout_manager_type(Gtk.BoxLayout);
|
return klass;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
_init() {
|
||||||
super();
|
super._init();
|
||||||
|
|
||||||
this.layout_manager.spacing = 6;
|
this.layout_manager.spacing = 6;
|
||||||
|
|
||||||
@@ -240,21 +174,27 @@ class WorkspaceSelector extends Gtk.Widget {
|
|||||||
this._decButton.sensitive = this.number > 1;
|
this._decButton.sensitive = this.number > 1;
|
||||||
this._incButton.sensitive = this.number < WORKSPACE_MAX;
|
this._incButton.sensitive = this.number < WORKSPACE_MAX;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
class RuleRow extends Adw.ActionRow {
|
const RuleRow = GObject.registerClass({
|
||||||
static {
|
Properties: {
|
||||||
GObject.registerClass(this);
|
'id': GObject.ParamSpec.string(
|
||||||
}
|
'id', 'id', 'id',
|
||||||
|
GObject.ParamFlags.READABLE,
|
||||||
constructor(rule) {
|
''),
|
||||||
const {appInfo} = rule;
|
'value': GObject.ParamSpec.uint(
|
||||||
const id = appInfo.get_id();
|
'value', 'value', 'value',
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
super({
|
1, WORKSPACE_MAX, 1),
|
||||||
|
},
|
||||||
|
}, class RuleRow extends Adw.ActionRow {
|
||||||
|
_init(appInfo, value) {
|
||||||
|
super._init({
|
||||||
activatable: false,
|
activatable: false,
|
||||||
title: rule.appInfo.get_display_name(),
|
title: appInfo.get_display_name(),
|
||||||
|
value,
|
||||||
});
|
});
|
||||||
|
this._appInfo = appInfo;
|
||||||
|
|
||||||
const icon = new Gtk.Image({
|
const icon = new Gtk.Image({
|
||||||
css_classes: ['icon-dropshadow'],
|
css_classes: ['icon-dropshadow'],
|
||||||
@@ -264,34 +204,33 @@ class RuleRow extends Adw.ActionRow {
|
|||||||
this.add_prefix(icon);
|
this.add_prefix(icon);
|
||||||
|
|
||||||
const wsButton = new WorkspaceSelector();
|
const wsButton = new WorkspaceSelector();
|
||||||
rule.bind_property('workspace',
|
this.bind_property('value',
|
||||||
wsButton, 'number',
|
wsButton, 'number',
|
||||||
GObject.BindingFlags.SYNC_CREATE);
|
GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.BIDIRECTIONAL);
|
||||||
this.add_suffix(wsButton);
|
this.add_suffix(wsButton);
|
||||||
|
|
||||||
wsButton.connect('notify::number', () => {
|
|
||||||
this.activate_action('rules.change-workspace',
|
|
||||||
new GLib.Variant('(si)', [id, wsButton.number]));
|
|
||||||
});
|
|
||||||
|
|
||||||
const button = new Gtk.Button({
|
const button = new Gtk.Button({
|
||||||
action_name: 'rules.remove',
|
action_name: 'rules.remove',
|
||||||
action_target: new GLib.Variant('s', id),
|
action_target: new GLib.Variant('s', this.id),
|
||||||
icon_name: 'edit-delete-symbolic',
|
icon_name: 'edit-delete-symbolic',
|
||||||
has_frame: false,
|
has_frame: false,
|
||||||
valign: Gtk.Align.CENTER,
|
valign: Gtk.Align.CENTER,
|
||||||
});
|
});
|
||||||
this.add_suffix(button);
|
this.add_suffix(button);
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
this.connect('notify::value',
|
||||||
|
() => this.activate_action('rules.update', null));
|
||||||
|
}
|
||||||
|
|
||||||
|
get id() {
|
||||||
|
return this._appInfo.get_id();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const NewRuleRow = GObject.registerClass(
|
||||||
class NewRuleRow extends Gtk.ListBoxRow {
|
class NewRuleRow extends Gtk.ListBoxRow {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super({
|
|
||||||
action_name: 'rules.add',
|
action_name: 'rules.add',
|
||||||
child: new Gtk.Image({
|
child: new Gtk.Image({
|
||||||
icon_name: 'list-add-symbolic',
|
icon_name: 'list-add-symbolic',
|
||||||
@@ -305,15 +244,12 @@ class NewRuleRow extends Gtk.ListBoxRow {
|
|||||||
this.update_property(
|
this.update_property(
|
||||||
[Gtk.AccessibleProperty.LABEL], [_('Add Rule')]);
|
[Gtk.AccessibleProperty.LABEL], [_('Add Rule')]);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
const NewRuleDialog = GObject.registerClass(
|
||||||
class NewRuleDialog extends Gtk.AppChooserDialog {
|
class NewRuleDialog extends Gtk.AppChooserDialog {
|
||||||
static {
|
_init(parent) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(parent) {
|
|
||||||
super({
|
|
||||||
transient_for: parent,
|
transient_for: parent,
|
||||||
modal: true,
|
modal: true,
|
||||||
});
|
});
|
||||||
@@ -336,7 +272,7 @@ class NewRuleDialog extends Gtk.AppChooserDialog {
|
|||||||
this.set_response_sensitive(Gtk.ResponseType.OK,
|
this.set_response_sensitive(Gtk.ResponseType.OK,
|
||||||
appInfo && !rules.some(i => i.startsWith(appInfo.get_id())));
|
appInfo && !rules.some(i => i.startsWith(appInfo.get_id())));
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/* This extensions requires no special styling */
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
// Drive menu extension
|
// Drive menu extension
|
||||||
const {Clutter, Gio, GObject, Shell, St} = imports.gi;
|
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -12,13 +12,10 @@ const _ = ExtensionUtils.gettext;
|
|||||||
|
|
||||||
Gio._promisify(Gio.File.prototype, 'query_filesystem_info_async');
|
Gio._promisify(Gio.File.prototype, 'query_filesystem_info_async');
|
||||||
|
|
||||||
|
var MountMenuItem = GObject.registerClass(
|
||||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
static {
|
_init(mount) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(mount) {
|
|
||||||
super({
|
|
||||||
style_class: 'drive-menu-item',
|
style_class: 'drive-menu-item',
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -134,15 +131,12 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
|
|
||||||
super.activate(event);
|
super.activate(event);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
let DriveMenu = GObject.registerClass(
|
||||||
class DriveMenu extends PanelMenu.Button {
|
class DriveMenu extends PanelMenu.Button {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init(0.0, _('Removable devices'));
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super(0.5, _('Removable devices'));
|
|
||||||
|
|
||||||
let icon = new St.Icon({
|
let icon = new St.Icon({
|
||||||
icon_name: 'media-eject-symbolic',
|
icon_name: 'media-eject-symbolic',
|
||||||
@@ -210,7 +204,7 @@ class DriveMenu extends PanelMenu.Button {
|
|||||||
|
|
||||||
super._onDestroy();
|
super._onDestroy();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
|
|||||||
@@ -3,4 +3,3 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/* This extensions requires no special styling */
|
||||||
@@ -15,7 +15,7 @@ foreach e : enabled_extensions
|
|||||||
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions')
|
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions')
|
||||||
|
|
||||||
extension_sources = files(e + '/extension.js')
|
extension_sources = files(e + '/extension.js')
|
||||||
extension_data = []
|
extension_data = files(e + '/stylesheet.css')
|
||||||
|
|
||||||
subdir(e)
|
subdir(e)
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,5 @@ extension_data += configure_file(
|
|||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
|
||||||
# extension_data += files('stylesheet.css')
|
|
||||||
# extension_sources += files('prefs.js')
|
# extension_sources += files('prefs.js')
|
||||||
# extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
# extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
/* exported enable disable */
|
/* exported enable disable */
|
||||||
const {Clutter} = imports.gi;
|
const { Clutter } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const {WindowPreview} = imports.ui.windowPreview;
|
const { WindowPreview } = imports.ui.windowPreview;
|
||||||
const Workspace = imports.ui.workspace;
|
const Workspace = imports.ui.workspace;
|
||||||
|
|
||||||
// testing settings for natural window placement strategy:
|
// testing settings for natural window placement strategy:
|
||||||
@@ -97,7 +97,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
|||||||
let rects = [];
|
let rects = [];
|
||||||
for (let i = 0; i < clones.length; i++) {
|
for (let i = 0; i < clones.length; i++) {
|
||||||
// save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y]
|
// save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y]
|
||||||
let rect = clones[i].boundingBox;
|
let rect = clones[i].metaWindow.get_frame_rect();
|
||||||
rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
|
rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
|
||||||
bounds = bounds.union(rects[i]);
|
bounds = bounds.union(rects[i]);
|
||||||
|
|
||||||
@@ -285,8 +285,8 @@ function enable() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {object} object - object that was modified
|
* @param {Object} object - object that was modified
|
||||||
* @param {object} injection - the map of previous injections
|
* @param {Object} injection - the map of previous injections
|
||||||
* @param {string} name - the @injection key that should be removed
|
* @param {string} name - the @injection key that should be removed
|
||||||
*/
|
*/
|
||||||
function removeInjection(object, injection, name) {
|
function removeInjection(object, injection, name) {
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/* This extensions requires no special styling */
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
|
|
||||||
const {Clutter, GObject, St} = imports.gi;
|
const { Clutter, GObject, St } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -16,13 +16,10 @@ const N_ = x => x;
|
|||||||
|
|
||||||
const PLACE_ICON_SIZE = 16;
|
const PLACE_ICON_SIZE = 16;
|
||||||
|
|
||||||
|
var PlaceMenuItem = GObject.registerClass(
|
||||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
static {
|
_init(info) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(info) {
|
|
||||||
super({
|
|
||||||
style_class: 'place-menu-item',
|
style_class: 'place-menu-item',
|
||||||
});
|
});
|
||||||
this._info = info;
|
this._info = info;
|
||||||
@@ -76,7 +73,7 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
this._icon.gicon = info.icon;
|
this._icon.gicon = info.icon;
|
||||||
this._label.text = info.name;
|
this._label.text = info.name;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
const SECTIONS = [
|
const SECTIONS = [
|
||||||
'special',
|
'special',
|
||||||
@@ -85,13 +82,10 @@ const SECTIONS = [
|
|||||||
'network',
|
'network',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
let PlacesMenu = GObject.registerClass(
|
||||||
class PlacesMenu extends PanelMenu.Button {
|
class PlacesMenu extends PanelMenu.Button {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init(0.0, _('Places'));
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super(0.5, _('Places'));
|
|
||||||
|
|
||||||
let label = new St.Label({
|
let label = new St.Label({
|
||||||
text: _('Places'),
|
text: _('Places'),
|
||||||
@@ -136,7 +130,7 @@ class PlacesMenu extends PanelMenu.Button {
|
|||||||
|
|
||||||
this._sections[id].actor.visible = places.length > 0;
|
this._sections[id].actor.visible = places.length > 0;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
|
|||||||
@@ -3,6 +3,5 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
|
|
||||||
extension_sources += files('placeDisplay.js')
|
extension_sources += files('placeDisplay.js')
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
/* exported PlacesManager */
|
|
||||||
|
|
||||||
const {Gio, GLib, Shell} = imports.gi;
|
const { Gio, GLib, Shell } = imports.gi;
|
||||||
const {EventEmitter} = imports.misc.signals;
|
const Signals = imports.signals;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -23,10 +22,8 @@ const Hostname1Iface = '<node> \
|
|||||||
</node>';
|
</node>';
|
||||||
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
|
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
|
||||||
|
|
||||||
class PlaceInfo extends EventEmitter {
|
class PlaceInfo {
|
||||||
constructor(...params) {
|
constructor(...params) {
|
||||||
super();
|
|
||||||
|
|
||||||
this._init(...params);
|
this._init(...params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -34,7 +31,7 @@ class PlaceInfo extends EventEmitter {
|
|||||||
this.kind = kind;
|
this.kind = kind;
|
||||||
this.file = file;
|
this.file = file;
|
||||||
this.name = name || this._getFileName();
|
this.name = name || this._getFileName();
|
||||||
this.icon = icon ? new Gio.ThemedIcon({name: icon}) : this.getIcon();
|
this.icon = icon ? new Gio.ThemedIcon({ name: icon }) : this.getIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
@@ -97,16 +94,16 @@ class PlaceInfo extends EventEmitter {
|
|||||||
// icon from the query info above
|
// icon from the query info above
|
||||||
switch (this.kind) {
|
switch (this.kind) {
|
||||||
case 'network':
|
case 'network':
|
||||||
return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
|
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
|
||||||
case 'devices':
|
case 'devices':
|
||||||
return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
|
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
|
||||||
case 'special':
|
case 'special':
|
||||||
case 'bookmarks':
|
case 'bookmarks':
|
||||||
default:
|
default:
|
||||||
if (!this.file.is_native())
|
if (!this.file.is_native())
|
||||||
return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
|
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
|
||||||
else
|
else
|
||||||
return new Gio.ThemedIcon({name: 'folder-symbolic'});
|
return new Gio.ThemedIcon({ name: 'folder-symbolic' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -121,6 +118,7 @@ class PlaceInfo extends EventEmitter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Signals.addSignalMethods(PlaceInfo.prototype);
|
||||||
|
|
||||||
class RootInfo extends PlaceInfo {
|
class RootInfo extends PlaceInfo {
|
||||||
_init() {
|
_init() {
|
||||||
@@ -140,7 +138,7 @@ class RootInfo extends PlaceInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getIcon() {
|
getIcon() {
|
||||||
return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
|
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
|
||||||
}
|
}
|
||||||
|
|
||||||
_propertiesChanged(proxy) {
|
_propertiesChanged(proxy) {
|
||||||
@@ -248,10 +246,8 @@ const DEFAULT_DIRECTORIES = [
|
|||||||
GLib.UserDirectory.DIRECTORY_VIDEOS,
|
GLib.UserDirectory.DIRECTORY_VIDEOS,
|
||||||
];
|
];
|
||||||
|
|
||||||
var PlacesManager = class extends EventEmitter {
|
var PlacesManager = class {
|
||||||
constructor() {
|
constructor() {
|
||||||
super();
|
|
||||||
|
|
||||||
this._places = {
|
this._places = {
|
||||||
special: [],
|
special: [],
|
||||||
devices: [],
|
devices: [],
|
||||||
@@ -259,7 +255,7 @@ var PlacesManager = class extends EventEmitter {
|
|||||||
network: [],
|
network: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
this._settings = new Gio.Settings({schema_id: BACKGROUND_SCHEMA});
|
this._settings = new Gio.Settings({ schema_id: BACKGROUND_SCHEMA });
|
||||||
this._showDesktopIconsChangedId = this._settings.connect(
|
this._showDesktopIconsChangedId = this._settings.connect(
|
||||||
'changed::show-desktop-icons', this._updateSpecials.bind(this));
|
'changed::show-desktop-icons', this._updateSpecials.bind(this));
|
||||||
this._updateSpecials();
|
this._updateSpecials();
|
||||||
@@ -547,3 +543,4 @@ var PlacesManager = class extends EventEmitter {
|
|||||||
return this._places[kind];
|
return this._places[kind];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Signals.addSignalMethods(PlacesManager.prototype);
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const {Clutter, Meta, Shell, St} = imports.gi;
|
const { Clutter, Meta, Shell, St } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -39,7 +39,7 @@ function hideMessage() {
|
|||||||
*/
|
*/
|
||||||
function flashMessage(message) {
|
function flashMessage(message) {
|
||||||
if (!text) {
|
if (!text) {
|
||||||
text = new St.Label({style_class: 'screenshot-sizer-message'});
|
text = new St.Label({ style_class: 'screenshot-sizer-message' });
|
||||||
Main.uiGroup.add_actor(text);
|
Main.uiGroup.add_actor(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,6 +101,10 @@ function cycleScreenshotSizes(display, window, binding) {
|
|||||||
for (let i = 0; i < scaledSizes.length; i++) {
|
for (let i = 0; i < scaledSizes.length; i++) {
|
||||||
let [width, height] = scaledSizes[i];
|
let [width, height] = scaledSizes[i];
|
||||||
|
|
||||||
|
// ignore sizes bigger than the workArea
|
||||||
|
if (width > workArea.width || height > workArea.height)
|
||||||
|
continue;
|
||||||
|
|
||||||
// get the best initial window size
|
// get the best initial window size
|
||||||
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
|
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
|
||||||
if (nearestIndex === undefined || error < nearestError) {
|
if (nearestIndex === undefined || error < nearestError) {
|
||||||
@@ -121,18 +125,8 @@ function cycleScreenshotSizes(display, window, binding) {
|
|||||||
if (newY + newHeight > workArea.y + workArea.height)
|
if (newY + newHeight > workArea.y + workArea.height)
|
||||||
newY = Math.max(workArea.y + workArea.height - newHeight);
|
newY = Math.max(workArea.y + workArea.height - newHeight);
|
||||||
|
|
||||||
const id = window.connect('size-changed', () => {
|
|
||||||
window.disconnect(id);
|
|
||||||
_notifySizeChange(window);
|
|
||||||
});
|
|
||||||
window.move_resize_frame(true, newX, newY, newWidth, newHeight);
|
window.move_resize_frame(true, newX, newY, newWidth, newHeight);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param {Meta.Window} window - the window whose size changed
|
|
||||||
*/
|
|
||||||
function _notifySizeChange(window) {
|
|
||||||
const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage);
|
|
||||||
let newOuterRect = window.get_frame_rect();
|
let newOuterRect = window.get_frame_rect();
|
||||||
let message = '%d×%d'.format(
|
let message = '%d×%d'.format(
|
||||||
newOuterRect.width / scaleFactor,
|
newOuterRect.width / scaleFactor,
|
||||||
|
|||||||
@@ -3,6 +3,5 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
|
|
||||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
||||||
/* exported init */
|
/* exported init */
|
||||||
|
|
||||||
const {Gio} = imports.gi;
|
const { Gio } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
// we use async/await here to not block the mainloop, not to parallelize
|
// we use async/await here to not block the mainloop, not to parallelize
|
||||||
/* eslint-disable no-await-in-loop */
|
/* eslint-disable no-await-in-loop */
|
||||||
|
|
||||||
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
const { Adw, Gio, GLib, GObject, Gtk } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
|
||||||
@@ -15,13 +15,10 @@ Gio._promisify(Gio.File.prototype, 'enumerate_children_async');
|
|||||||
Gio._promisify(Gio.File.prototype, 'query_info_async');
|
Gio._promisify(Gio.File.prototype, 'query_info_async');
|
||||||
Gio._promisify(Gio.FileEnumerator.prototype, 'next_files_async');
|
Gio._promisify(Gio.FileEnumerator.prototype, 'next_files_async');
|
||||||
|
|
||||||
|
const UserThemePrefsWidget = GObject.registerClass(
|
||||||
class UserThemePrefsWidget extends Adw.PreferencesGroup {
|
class UserThemePrefsWidget extends Adw.PreferencesGroup {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init({ title: 'Themes' });
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super({title: 'Themes'});
|
|
||||||
|
|
||||||
this._actionGroup = new Gio.SimpleActionGroup();
|
this._actionGroup = new Gio.SimpleActionGroup();
|
||||||
this.insert_action_group('theme', this._actionGroup);
|
this.insert_action_group('theme', this._actionGroup);
|
||||||
@@ -104,26 +101,23 @@ class UserThemePrefsWidget extends Adw.PreferencesGroup {
|
|||||||
|
|
||||||
return fileInfos.map(info => info.get_name());
|
return fileInfos.map(info => info.get_name());
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
const ThemeRow = GObject.registerClass(
|
||||||
class ThemeRow extends Adw.ActionRow {
|
class ThemeRow extends Adw.ActionRow {
|
||||||
static {
|
_init(name) {
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor(name) {
|
|
||||||
const check = new Gtk.CheckButton({
|
const check = new Gtk.CheckButton({
|
||||||
action_name: 'theme.name',
|
action_name: 'theme.name',
|
||||||
action_target: new GLib.Variant('s', name),
|
action_target: new GLib.Variant('s', name),
|
||||||
});
|
});
|
||||||
|
|
||||||
super({
|
super._init({
|
||||||
title: name || 'Default',
|
title: name || 'Default',
|
||||||
activatable_widget: check,
|
activatable_widget: check,
|
||||||
});
|
});
|
||||||
this.add_prefix(check);
|
this.add_prefix(check);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/* none used */
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/* exported getThemeDirs getModeThemeDirs */
|
/* exported getThemeDirs getModeThemeDirs */
|
||||||
const {GLib} = imports.gi;
|
const { GLib } = imports.gi;
|
||||||
|
|
||||||
const fn = (...args) => GLib.build_filenamev(args);
|
const fn = (...args) => GLib.build_filenamev(args);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* exported init */
|
/* exported init */
|
||||||
const {Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St} = imports.gi;
|
const { Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St } = imports.gi;
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
@@ -8,8 +8,8 @@ const Overview = imports.ui.overview;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
const {WindowPicker, WindowPickerToggle} = Me.imports.windowPicker;
|
const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker;
|
||||||
const {WorkspaceIndicator} = Me.imports.workspaceIndicator;
|
const { WorkspaceIndicator } = Me.imports.workspaceIndicator;
|
||||||
|
|
||||||
const _ = ExtensionUtils.gettext;
|
const _ = ExtensionUtils.gettext;
|
||||||
|
|
||||||
@@ -106,23 +106,20 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const WindowTitle = GObject.registerClass(
|
||||||
class WindowTitle extends St.BoxLayout {
|
class WindowTitle extends St.BoxLayout {
|
||||||
static {
|
_init(metaWindow) {
|
||||||
GObject.registerClass(this);
|
this._metaWindow = metaWindow;
|
||||||
}
|
|
||||||
|
|
||||||
constructor(metaWindow) {
|
super._init({
|
||||||
super({
|
|
||||||
style_class: 'window-button-box',
|
style_class: 'window-button-box',
|
||||||
x_expand: true,
|
x_expand: true,
|
||||||
y_expand: true,
|
y_expand: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
this._metaWindow = metaWindow;
|
this._icon = new St.Bin({ style_class: 'window-button-icon' });
|
||||||
|
|
||||||
this._icon = new St.Bin({style_class: 'window-button-icon'});
|
|
||||||
this.add(this._icon);
|
this.add(this._icon);
|
||||||
this.label_actor = new St.Label({y_align: Clutter.ActorAlign.CENTER});
|
this.label_actor = new St.Label({ y_align: Clutter.ActorAlign.CENTER });
|
||||||
this.label_actor.clutter_text.single_line_mode = true;
|
this.label_actor.clutter_text.single_line_mode = true;
|
||||||
this.add(this.label_actor);
|
this.add(this.label_actor);
|
||||||
|
|
||||||
@@ -178,33 +175,30 @@ class WindowTitle extends St.BoxLayout {
|
|||||||
this._metaWindow.disconnect(this._notifyWmClass);
|
this._metaWindow.disconnect(this._notifyWmClass);
|
||||||
this._metaWindow.disconnect(this._notifyAppId);
|
this._metaWindow.disconnect(this._notifyAppId);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
class BaseButton extends St.Button {
|
|
||||||
static {
|
|
||||||
GObject.registerClass({
|
|
||||||
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
|
||||||
Properties: {
|
|
||||||
'ignore-workspace': GObject.ParamSpec.boolean(
|
|
||||||
'ignore-workspace', 'ignore-workspace', 'ignore-workspace',
|
|
||||||
GObject.ParamFlags.READWRITE,
|
|
||||||
false),
|
|
||||||
},
|
|
||||||
}, this);
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor(perMonitor, monitorIndex) {
|
const BaseButton = GObject.registerClass({
|
||||||
super({
|
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
||||||
|
Properties: {
|
||||||
|
'ignore-workspace': GObject.ParamSpec.boolean(
|
||||||
|
'ignore-workspace', 'ignore-workspace', 'ignore-workspace',
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
|
false),
|
||||||
|
},
|
||||||
|
}, class BaseButton extends St.Button {
|
||||||
|
_init(perMonitor, monitorIndex) {
|
||||||
|
this._perMonitor = perMonitor;
|
||||||
|
this._monitorIndex = monitorIndex;
|
||||||
|
this._ignoreWorkspace = false;
|
||||||
|
|
||||||
|
super._init({
|
||||||
style_class: 'window-button',
|
style_class: 'window-button',
|
||||||
can_focus: true,
|
can_focus: true,
|
||||||
x_expand: true,
|
x_expand: true,
|
||||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||||
});
|
});
|
||||||
|
|
||||||
this._perMonitor = perMonitor;
|
|
||||||
this._monitorIndex = monitorIndex;
|
|
||||||
this._ignoreWorkspace = false;
|
|
||||||
|
|
||||||
this.connect('notify::allocation',
|
this.connect('notify::allocation',
|
||||||
this._updateIconGeometry.bind(this));
|
this._updateIconGeometry.bind(this));
|
||||||
this.connect('clicked', this._onClicked.bind(this));
|
this.connect('clicked', this._onClicked.bind(this));
|
||||||
@@ -246,48 +240,6 @@ class BaseButton extends St.Button {
|
|||||||
this._updateVisibility();
|
this._updateVisibility();
|
||||||
}
|
}
|
||||||
|
|
||||||
_setLongPressTimeout() {
|
|
||||||
if (this._longPressTimeoutId)
|
|
||||||
return;
|
|
||||||
|
|
||||||
const {longPressDuration} = Clutter.Settings.get_default();
|
|
||||||
this._longPressTimeoutId =
|
|
||||||
GLib.timeout_add(GLib.PRIORITY_DEFAULT, longPressDuration, () => {
|
|
||||||
delete this._longPressTimeoutId;
|
|
||||||
|
|
||||||
if (this._canOpenPopupMenu() && !this._contextMenu.isOpen)
|
|
||||||
this._openMenu(this._contextMenu);
|
|
||||||
return GLib.SOURCE_REMOVE;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
_removeLongPressTimeout() {
|
|
||||||
if (!this._longPressTimeoutId)
|
|
||||||
return;
|
|
||||||
GLib.source_remove(this._longPressTimeoutId);
|
|
||||||
delete this._longPressTimeoutId;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_button_press_event(buttonEvent) {
|
|
||||||
if (buttonEvent.button === 1)
|
|
||||||
this._setLongPressTimeout();
|
|
||||||
return super.vfunc_button_press_event(buttonEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_button_release_event(buttonEvent) {
|
|
||||||
this._removeLongPressTimeout();
|
|
||||||
|
|
||||||
return super.vfunc_button_release_event(buttonEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_touch_event(touchEvent) {
|
|
||||||
if (touchEvent.type === Clutter.EventType.TOUCH_BEGIN)
|
|
||||||
this._setLongPressTimeout();
|
|
||||||
else if (touchEvent.type === Clutter.EventType.TOUCH_END)
|
|
||||||
this._removeLongPressTimeout();
|
|
||||||
return super.vfunc_touch_event(touchEvent);
|
|
||||||
}
|
|
||||||
|
|
||||||
activate() {
|
activate() {
|
||||||
if (this.active)
|
if (this.active)
|
||||||
return;
|
return;
|
||||||
@@ -392,15 +344,13 @@ class BaseButton extends St.Button {
|
|||||||
global.display.disconnect(this._windowLeftMonitorId);
|
global.display.disconnect(this._windowLeftMonitorId);
|
||||||
this._windowLeftMonitorId = 0;
|
this._windowLeftMonitorId = 0;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
|
||||||
|
const WindowButton = GObject.registerClass(
|
||||||
class WindowButton extends BaseButton {
|
class WindowButton extends BaseButton {
|
||||||
static {
|
_init(metaWindow, perMonitor, monitorIndex) {
|
||||||
GObject.registerClass(this);
|
super._init(perMonitor, monitorIndex);
|
||||||
}
|
|
||||||
|
|
||||||
constructor(metaWindow, perMonitor, monitorIndex) {
|
|
||||||
super(perMonitor, monitorIndex);
|
|
||||||
|
|
||||||
this.metaWindow = metaWindow;
|
this.metaWindow = metaWindow;
|
||||||
this._skipTaskbarId = metaWindow.connect('notify::skip-taskbar', () => {
|
this._skipTaskbarId = metaWindow.connect('notify::skip-taskbar', () => {
|
||||||
@@ -433,7 +383,7 @@ class WindowButton extends BaseButton {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!button || button === 1)
|
if (button === 1)
|
||||||
this._minimizeOrActivateWindow(this.metaWindow);
|
this._minimizeOrActivateWindow(this.metaWindow);
|
||||||
else
|
else
|
||||||
this._openMenu(this._contextMenu);
|
this._openMenu(this._contextMenu);
|
||||||
@@ -472,7 +422,8 @@ class WindowButton extends BaseButton {
|
|||||||
global.display.disconnect(this._notifyFocusId);
|
global.display.disconnect(this._notifyFocusId);
|
||||||
this._contextMenu.destroy();
|
this._contextMenu.destroy();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
|
||||||
class AppContextMenu extends PopupMenu.PopupMenu {
|
class AppContextMenu extends PopupMenu.PopupMenu {
|
||||||
constructor(source) {
|
constructor(source) {
|
||||||
@@ -532,18 +483,15 @@ class AppContextMenu extends PopupMenu.PopupMenu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const AppButton = GObject.registerClass(
|
||||||
class AppButton extends BaseButton {
|
class AppButton extends BaseButton {
|
||||||
static {
|
_init(app, perMonitor, monitorIndex) {
|
||||||
GObject.registerClass(this);
|
super._init(perMonitor, monitorIndex);
|
||||||
}
|
|
||||||
|
|
||||||
constructor(app, perMonitor, monitorIndex) {
|
|
||||||
super(perMonitor, monitorIndex);
|
|
||||||
|
|
||||||
this.app = app;
|
this.app = app;
|
||||||
this._updateVisibility();
|
this._updateVisibility();
|
||||||
|
|
||||||
let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
|
let stack = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||||
this.set_child(stack);
|
this.set_child(stack);
|
||||||
|
|
||||||
this._singleWindowTitle = new St.Bin({
|
this._singleWindowTitle = new St.Bin({
|
||||||
@@ -679,7 +627,7 @@ class AppButton extends BaseButton {
|
|||||||
if (contextMenuWasOpen)
|
if (contextMenuWasOpen)
|
||||||
this._contextMenu.close();
|
this._contextMenu.close();
|
||||||
|
|
||||||
if (!button || button === 1) {
|
if (button === 1) {
|
||||||
if (menuWasOpen)
|
if (menuWasOpen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -722,15 +670,16 @@ class AppButton extends BaseButton {
|
|||||||
this.app.disconnect(this._windowsChangedId);
|
this.app.disconnect(this._windowsChangedId);
|
||||||
this._menu.destroy();
|
this._menu.destroy();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
|
||||||
|
const WindowList = GObject.registerClass(
|
||||||
class WindowList extends St.Widget {
|
class WindowList extends St.Widget {
|
||||||
static {
|
_init(perMonitor, monitor) {
|
||||||
GObject.registerClass(this);
|
this._perMonitor = perMonitor;
|
||||||
}
|
this._monitor = monitor;
|
||||||
|
|
||||||
constructor(perMonitor, monitor) {
|
super._init({
|
||||||
super({
|
|
||||||
name: 'panel',
|
name: 'panel',
|
||||||
style_class: 'bottom-panel solid',
|
style_class: 'bottom-panel solid',
|
||||||
reactive: true,
|
reactive: true,
|
||||||
@@ -739,10 +688,7 @@ class WindowList extends St.Widget {
|
|||||||
});
|
});
|
||||||
this.connect('destroy', this._onDestroy.bind(this));
|
this.connect('destroy', this._onDestroy.bind(this));
|
||||||
|
|
||||||
this._perMonitor = perMonitor;
|
let box = new St.BoxLayout({ x_expand: true, y_expand: true });
|
||||||
this._monitor = monitor;
|
|
||||||
|
|
||||||
let box = new St.BoxLayout({x_expand: true, y_expand: true});
|
|
||||||
this.add_actor(box);
|
this.add_actor(box);
|
||||||
|
|
||||||
let toggle = new WindowPickerToggle();
|
let toggle = new WindowPickerToggle();
|
||||||
@@ -751,7 +697,7 @@ class WindowList extends St.Widget {
|
|||||||
toggle.connect('notify::checked',
|
toggle.connect('notify::checked',
|
||||||
this._updateWindowListVisibility.bind(this));
|
this._updateWindowListVisibility.bind(this));
|
||||||
|
|
||||||
let layout = new Clutter.BoxLayout({homogeneous: true});
|
let layout = new Clutter.BoxLayout({ homogeneous: true });
|
||||||
this._windowList = new St.Widget({
|
this._windowList = new St.Widget({
|
||||||
style_class: 'window-list',
|
style_class: 'window-list',
|
||||||
reactive: true,
|
reactive: true,
|
||||||
@@ -769,13 +715,13 @@ class WindowList extends St.Widget {
|
|||||||
});
|
});
|
||||||
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
|
this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||||
|
|
||||||
let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
|
let indicatorsBox = new St.BoxLayout({ x_align: Clutter.ActorAlign.END });
|
||||||
box.add(indicatorsBox);
|
box.add(indicatorsBox);
|
||||||
|
|
||||||
this._workspaceIndicator = new WorkspaceIndicator();
|
this._workspaceIndicator = new WorkspaceIndicator();
|
||||||
indicatorsBox.add_child(this._workspaceIndicator.container);
|
indicatorsBox.add_child(this._workspaceIndicator.container);
|
||||||
|
|
||||||
this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
|
this._mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' });
|
||||||
this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect(
|
this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect(
|
||||||
'changed::workspaces-only-on-primary',
|
'changed::workspaces-only-on-primary',
|
||||||
this._updateWorkspaceIndicatorVisibility.bind(this));
|
this._updateWorkspaceIndicatorVisibility.bind(this));
|
||||||
@@ -832,7 +778,7 @@ class WindowList extends St.Widget {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this._overviewHidingId = Main.overview.connect('hidden', () => {
|
this._overviewHidingId = Main.overview.connect('hidden', () => {
|
||||||
this.visible = !this._monitor.inFullscreen;
|
this.visible = !Main.layoutManager.primaryMonitor.inFullscreen;
|
||||||
this._updateKeyboardAnchor();
|
this._updateKeyboardAnchor();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -860,8 +806,8 @@ class WindowList extends St.Widget {
|
|||||||
this._dndWindow = null;
|
this._dndWindow = null;
|
||||||
|
|
||||||
this._settings = ExtensionUtils.getSettings();
|
this._settings = ExtensionUtils.getSettings();
|
||||||
this._settings.connect('changed::grouping-mode',
|
this._groupingModeChangedId = this._settings.connect(
|
||||||
() => this._groupingModeChanged());
|
'changed::grouping-mode', this._groupingModeChanged.bind(this));
|
||||||
this._grouped = undefined;
|
this._grouped = undefined;
|
||||||
this._groupingModeChanged();
|
this._groupingModeChanged();
|
||||||
}
|
}
|
||||||
@@ -918,7 +864,7 @@ class WindowList extends St.Widget {
|
|||||||
|
|
||||||
let children = this._windowList.get_children();
|
let children = this._windowList.get_children();
|
||||||
let [, childWidth] = children[0].get_preferred_width(-1);
|
let [, childWidth] = children[0].get_preferred_width(-1);
|
||||||
let {spacing} = this._windowList.layout_manager;
|
let { spacing } = this._windowList.layout_manager;
|
||||||
|
|
||||||
let workspace = global.workspace_manager.get_active_workspace();
|
let workspace = global.workspace_manager.get_active_workspace();
|
||||||
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||||
@@ -1040,7 +986,7 @@ class WindowList extends St.Widget {
|
|||||||
const id = this._windowSignals.get(win);
|
const id = this._windowSignals.get(win);
|
||||||
if (id)
|
if (id)
|
||||||
win.disconnect(id);
|
win.disconnect(id);
|
||||||
this._windowSignals.delete(win);
|
this._windowSignals.delete(id);
|
||||||
|
|
||||||
let children = this._windowList.get_children();
|
let children = this._windowList.get_children();
|
||||||
let child = children.find(c => c.metaWindow === win);
|
let child = children.find(c => c.metaWindow === win);
|
||||||
@@ -1130,13 +1076,13 @@ class WindowList extends St.Widget {
|
|||||||
Main.xdndHandler.disconnect(this._dragBeginId);
|
Main.xdndHandler.disconnect(this._dragBeginId);
|
||||||
Main.xdndHandler.disconnect(this._dragEndId);
|
Main.xdndHandler.disconnect(this._dragEndId);
|
||||||
|
|
||||||
this._settings.run_dispose();
|
this._settings.disconnect(this._groupingModeChangedId);
|
||||||
|
|
||||||
let windows = global.get_window_actors();
|
let windows = global.get_window_actors();
|
||||||
for (let i = 0; i < windows.length; i++)
|
for (let i = 0; i < windows.length; i++)
|
||||||
windows[i].metaWindow.set_icon_geometry(null);
|
windows[i].metaWindow.set_icon_geometry(null);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
class Extension {
|
class Extension {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
|
|
||||||
extension_sources += files('prefs.js', 'windowPicker.js', 'workspaceIndicator.js')
|
extension_sources += files('prefs.js', 'windowPicker.js', 'workspaceIndicator.js')
|
||||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
/* exported init buildPrefsWidget */
|
/* exported init buildPrefsWidget */
|
||||||
|
|
||||||
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
const { Adw, Gio, GLib, GObject, Gtk } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
|
||||||
@@ -12,13 +12,10 @@ function init() {
|
|||||||
ExtensionUtils.initTranslations();
|
ExtensionUtils.initTranslations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const WindowListPrefsWidget = GObject.registerClass(
|
||||||
class WindowListPrefsWidget extends Adw.PreferencesPage {
|
class WindowListPrefsWidget extends Adw.PreferencesPage {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init();
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
this._actionGroup = new Gio.SimpleActionGroup();
|
this._actionGroup = new Gio.SimpleActionGroup();
|
||||||
this.insert_action_group('window-list', this._actionGroup);
|
this.insert_action_group('window-list', this._actionGroup);
|
||||||
@@ -37,12 +34,12 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
|
|||||||
this.add(groupingGroup);
|
this.add(groupingGroup);
|
||||||
|
|
||||||
const modes = [
|
const modes = [
|
||||||
{mode: 'never', title: _('Never group windows')},
|
{ mode: 'never', title: _('Never group windows') },
|
||||||
{mode: 'auto', title: _('Group windows when space is limited')},
|
{ mode: 'auto', title: _('Group windows when space is limited') },
|
||||||
{mode: 'always', title: _('Always group windows')},
|
{ mode: 'always', title: _('Always group windows') },
|
||||||
];
|
];
|
||||||
|
|
||||||
for (const {mode, title} of modes) {
|
for (const { mode, title } of modes) {
|
||||||
const check = new Gtk.CheckButton({
|
const check = new Gtk.CheckButton({
|
||||||
action_name: 'window-list.grouping-mode',
|
action_name: 'window-list.grouping-mode',
|
||||||
action_target: new GLib.Variant('s', mode),
|
action_target: new GLib.Variant('s', mode),
|
||||||
@@ -82,7 +79,7 @@ class WindowListPrefsWidget extends Adw.PreferencesPage {
|
|||||||
row.add_suffix(toggle);
|
row.add_suffix(toggle);
|
||||||
miscGroup.add(row);
|
miscGroup.add(row);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {Gtk.Widget} - the prefs widget
|
* @returns {Gtk.Widget} - the prefs widget
|
||||||
|
|||||||
@@ -1,27 +1,25 @@
|
|||||||
/* exported WindowPicker, WindowPickerToggle */
|
/* exported WindowPicker, WindowPickerToggle */
|
||||||
const {Clutter, GObject, Shell, St} = imports.gi;
|
const { Clutter, GObject, Shell, St } = imports.gi;
|
||||||
|
|
||||||
const Layout = imports.ui.layout;
|
const Layout = imports.ui.layout;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const {WorkspacesDisplay} = imports.ui.workspacesView;
|
const { WorkspacesDisplay } = imports.ui.workspacesView;
|
||||||
const Workspace = imports.ui.workspace;
|
const Workspace = imports.ui.workspace;
|
||||||
|
|
||||||
const {VIGNETTE_BRIGHTNESS} = imports.ui.lightbox;
|
const { VIGNETTE_BRIGHTNESS } = imports.ui.lightbox;
|
||||||
const {
|
const {
|
||||||
SIDE_CONTROLS_ANIMATION_TIME,
|
SIDE_CONTROLS_ANIMATION_TIME,
|
||||||
OverviewAdjustment,
|
OverviewAdjustment,
|
||||||
ControlsState,
|
ControlsState,
|
||||||
} = imports.ui.overviewControls;
|
} = imports.ui.overviewControls;
|
||||||
|
|
||||||
|
let MyWorkspacesDisplay = GObject.registerClass(
|
||||||
class MyWorkspacesDisplay extends WorkspacesDisplay {
|
class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||||
static {
|
_init(controls, overviewAdjustment) {
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor(controls, overviewAdjustment) {
|
|
||||||
let workspaceManager = global.workspace_manager;
|
let workspaceManager = global.workspace_manager;
|
||||||
|
|
||||||
const workspaceAdjustment = new St.Adjustment({
|
this._overviewAdjustment = overviewAdjustment;
|
||||||
|
this._workspaceAdjustment = new St.Adjustment({
|
||||||
value: workspaceManager.get_active_workspace_index(),
|
value: workspaceManager.get_active_workspace_index(),
|
||||||
lower: 0,
|
lower: 0,
|
||||||
page_increment: 1,
|
page_increment: 1,
|
||||||
@@ -30,15 +28,14 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
|||||||
upper: workspaceManager.n_workspaces,
|
upper: workspaceManager.n_workspaces,
|
||||||
});
|
});
|
||||||
|
|
||||||
super(controls, workspaceAdjustment, overviewAdjustment);
|
|
||||||
|
|
||||||
this._workspaceAdjustment = workspaceAdjustment;
|
|
||||||
this._workspaceAdjustment.actor = this;
|
|
||||||
|
|
||||||
this._nWorkspacesChangedId =
|
this._nWorkspacesChangedId =
|
||||||
workspaceManager.connect('notify::n-workspaces',
|
workspaceManager.connect('notify::n-workspaces',
|
||||||
this._updateAdjustment.bind(this));
|
this._updateAdjustment.bind(this));
|
||||||
|
|
||||||
|
super._init(controls, this._workspaceAdjustment, this._overviewAdjustment);
|
||||||
|
|
||||||
|
this._workspaceAdjustment.actor = this;
|
||||||
|
|
||||||
this.add_constraint(
|
this.add_constraint(
|
||||||
new Layout.MonitorConstraint({
|
new Layout.MonitorConstraint({
|
||||||
primary: true,
|
primary: true,
|
||||||
@@ -78,19 +75,16 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
|||||||
|
|
||||||
super._onDestroy();
|
super._onDestroy();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
const MyWorkspace = GObject.registerClass(
|
||||||
class MyWorkspace extends Workspace.Workspace {
|
class MyWorkspace extends Workspace.Workspace {
|
||||||
static {
|
_init(...args) {
|
||||||
GObject.registerClass(this);
|
super._init(...args);
|
||||||
}
|
|
||||||
|
|
||||||
constructor(...args) {
|
|
||||||
super(...args);
|
|
||||||
|
|
||||||
this._adjChangedId =
|
this._adjChangedId =
|
||||||
this._overviewAdjustment.connect('notify::value', () => {
|
this._overviewAdjustment.connect('notify::value', () => {
|
||||||
const {value: progress} = this._overviewAdjustment;
|
const { value: progress } = this._overviewAdjustment;
|
||||||
const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress;
|
const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress;
|
||||||
for (const bg of this._background?._backgroundGroup ?? []) {
|
for (const bg of this._background?._backgroundGroup ?? []) {
|
||||||
bg.content.set({
|
bg.content.set({
|
||||||
@@ -108,13 +102,10 @@ class MyWorkspace extends Workspace.Workspace {
|
|||||||
this._overviewAdjustment.disconnect(this._adjChangedId);
|
this._overviewAdjustment.disconnect(this._adjChangedId);
|
||||||
this._adjChangedId = 0;
|
this._adjChangedId = 0;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
const MyWorkspaceBackground = GObject.registerClass(
|
||||||
class MyWorkspaceBackground extends Workspace.WorkspaceBackground {
|
class MyWorkspaceBackground extends Workspace.WorkspaceBackground {
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
_updateBorderRadius() {
|
_updateBorderRadius() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,26 +138,22 @@ class MyWorkspaceBackground extends Workspace.WorkspaceBackground {
|
|||||||
offsets.top + contentHeight + offsets.bottom);
|
offsets.top + contentHeight + offsets.bottom);
|
||||||
this._backgroundGroup.allocate(contentBox);
|
this._backgroundGroup.allocate(contentBox);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
var WindowPicker = class WindowPicker extends Clutter.Actor {
|
|
||||||
static [GObject.signals] = {
|
|
||||||
'open-state-changed': {param_types: [GObject.TYPE_BOOLEAN]},
|
|
||||||
};
|
|
||||||
|
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super({reactive: true});
|
|
||||||
|
|
||||||
|
var WindowPicker = GObject.registerClass({
|
||||||
|
Signals: {
|
||||||
|
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
|
||||||
|
},
|
||||||
|
}, class extends Clutter.Actor {
|
||||||
|
_init() {
|
||||||
this._visible = false;
|
this._visible = false;
|
||||||
this._modal = false;
|
this._modal = false;
|
||||||
|
|
||||||
this._overlayKeyId = 0;
|
this._overlayKeyId = 0;
|
||||||
this._stageKeyPressId = 0;
|
this._stageKeyPressId = 0;
|
||||||
|
|
||||||
|
super._init({ reactive: true });
|
||||||
|
|
||||||
this._adjustment = new OverviewAdjustment(this);
|
this._adjustment = new OverviewAdjustment(this);
|
||||||
|
|
||||||
this.connect('destroy', this._onDestroy.bind(this));
|
this.connect('destroy', this._onDestroy.bind(this));
|
||||||
@@ -324,14 +311,11 @@ var WindowPicker = class WindowPicker extends Clutter.Actor {
|
|||||||
global.stage.disconnect(this._stageKeyPressId);
|
global.stage.disconnect(this._stageKeyPressId);
|
||||||
this._stageKeyPressId = 0;
|
this._stageKeyPressId = 0;
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
|
|
||||||
var WindowPickerToggle = class WindowPickerToggle extends St.Button {
|
var WindowPickerToggle = GObject.registerClass(
|
||||||
static {
|
class WindowPickerToggle extends St.Button {
|
||||||
GObject.registerClass(this);
|
_init() {
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
let iconBin = new St.Widget({
|
let iconBin = new St.Widget({
|
||||||
layout_manager: new Clutter.BinLayout(),
|
layout_manager: new Clutter.BinLayout(),
|
||||||
});
|
});
|
||||||
@@ -343,7 +327,7 @@ var WindowPickerToggle = class WindowPickerToggle extends St.Button {
|
|||||||
x_align: Clutter.ActorAlign.CENTER,
|
x_align: Clutter.ActorAlign.CENTER,
|
||||||
y_align: Clutter.ActorAlign.CENTER,
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
}));
|
}));
|
||||||
super({
|
super._init({
|
||||||
style_class: 'window-picker-toggle',
|
style_class: 'window-picker-toggle',
|
||||||
child: iconBin,
|
child: iconBin,
|
||||||
visible: !Main.sessionMode.hasOverview,
|
visible: !Main.sessionMode.hasOverview,
|
||||||
@@ -361,4 +345,4 @@ var WindowPickerToggle = class WindowPickerToggle extends St.Button {
|
|||||||
this.checked = Main.windowPicker.visible;
|
this.checked = Main.windowPicker.visible;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* exported WorkspaceIndicator */
|
/* exported WorkspaceIndicator */
|
||||||
const {Clutter, Gio, GObject, Meta, St} = imports.gi;
|
const { Clutter, Gio, GObject, Meta, St } = imports.gi;
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
@@ -14,18 +14,15 @@ const TOOLTIP_ANIMATION_TIME = 150;
|
|||||||
|
|
||||||
const MAX_THUMBNAILS = 6;
|
const MAX_THUMBNAILS = 6;
|
||||||
|
|
||||||
|
let WindowPreview = GObject.registerClass(
|
||||||
class WindowPreview extends St.Button {
|
class WindowPreview extends St.Button {
|
||||||
static {
|
_init(window) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(window) {
|
|
||||||
super({
|
|
||||||
style_class: 'window-list-window-preview',
|
style_class: 'window-list-window-preview',
|
||||||
});
|
});
|
||||||
|
|
||||||
this._delegate = this;
|
this._delegate = this;
|
||||||
DND.makeDraggable(this, {restoreOnSuccess: true});
|
DND.makeDraggable(this, { restoreOnSuccess: true });
|
||||||
|
|
||||||
this._window = window;
|
this._window = window;
|
||||||
|
|
||||||
@@ -72,13 +69,10 @@ class WindowPreview extends St.Button {
|
|||||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||||
this._window.showing_on_its_workspace();
|
this._window.showing_on_its_workspace();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
let WorkspaceLayout = GObject.registerClass(
|
||||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_preferred_width() {
|
vfunc_get_preferred_width() {
|
||||||
return [0, 0];
|
return [0, 0];
|
||||||
}
|
}
|
||||||
@@ -105,15 +99,12 @@ class WorkspaceLayout extends Clutter.LayoutManager {
|
|||||||
child.allocate(childBox);
|
child.allocate(childBox);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
let WorkspaceThumbnail = GObject.registerClass(
|
||||||
class WorkspaceThumbnail extends St.Button {
|
class WorkspaceThumbnail extends St.Button {
|
||||||
static {
|
_init(index) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(index) {
|
|
||||||
super({
|
|
||||||
style_class: 'workspace',
|
style_class: 'workspace',
|
||||||
child: new Clutter.Actor({
|
child: new Clutter.Actor({
|
||||||
layout_manager: new WorkspaceLayout(),
|
layout_manager: new WorkspaceLayout(),
|
||||||
@@ -250,15 +241,12 @@ class WorkspaceThumbnail extends St.Button {
|
|||||||
this._workspace.disconnect(this._windowRemovedId);
|
this._workspace.disconnect(this._windowRemovedId);
|
||||||
global.display.disconnect(this._restackedId);
|
global.display.disconnect(this._restackedId);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
|
var WorkspaceIndicator = GObject.registerClass(
|
||||||
static {
|
class WorkspaceIndicator extends PanelMenu.Button {
|
||||||
GObject.registerClass(this);
|
_init() {
|
||||||
}
|
super._init(0.0, _('Workspace Indicator'), true);
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super(0.5, _('Workspace Indicator'), true);
|
|
||||||
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
|
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
|
||||||
this.add_style_class_name('window-list-workspace-indicator');
|
this.add_style_class_name('window-list-workspace-indicator');
|
||||||
this.remove_style_class_name('panel-button');
|
this.remove_style_class_name('panel-button');
|
||||||
@@ -274,7 +262,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
let workspaceManager = global.workspace_manager;
|
let workspaceManager = global.workspace_manager;
|
||||||
|
|
||||||
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
this._currentWorkspace = workspaceManager.get_active_workspace_index();
|
||||||
this._statusLabel = new St.Label({text: this._getStatusText()});
|
this._statusLabel = new St.Label({ text: this._getStatusText() });
|
||||||
|
|
||||||
this._statusBin = new St.Bin({
|
this._statusBin = new St.Bin({
|
||||||
style_class: 'status-label-bin',
|
style_class: 'status-label-bin',
|
||||||
@@ -309,7 +297,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
this._updateThumbnails();
|
this._updateThumbnails();
|
||||||
this._updateThumbnailVisibility();
|
this._updateThumbnailVisibility();
|
||||||
|
|
||||||
this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
|
this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.preferences' });
|
||||||
this._settingsChangedId = this._settings.connect(
|
this._settingsChangedId = this._settings.connect(
|
||||||
'changed::workspace-names', this._updateMenuLabels.bind(this));
|
'changed::workspace-names', this._updateMenuLabels.bind(this));
|
||||||
}
|
}
|
||||||
@@ -327,7 +315,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updateThumbnailVisibility() {
|
_updateThumbnailVisibility() {
|
||||||
const {workspaceManager} = global;
|
const { workspaceManager } = global;
|
||||||
const vertical = workspaceManager.layout_rows === -1;
|
const vertical = workspaceManager.layout_rows === -1;
|
||||||
const useMenu =
|
const useMenu =
|
||||||
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
||||||
@@ -447,4 +435,5 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
let newIndex = this._currentWorkspace + diff;
|
let newIndex = this._currentWorkspace + diff;
|
||||||
this._activate(newIndex);
|
this._activate(newIndex);
|
||||||
}
|
}
|
||||||
};
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||||
/* exported init */
|
/* exported init */
|
||||||
const {Clutter, Graphene, GObject, St} = imports.gi;
|
const { Clutter, Graphene, GObject, St } = imports.gi;
|
||||||
|
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const OverviewControls = imports.ui.overviewControls;
|
const OverviewControls = imports.ui.overviewControls;
|
||||||
@@ -9,13 +9,10 @@ const WorkspacesView = imports.ui.workspacesView;
|
|||||||
|
|
||||||
const WINDOW_SLOT = 4;
|
const WINDOW_SLOT = 4;
|
||||||
|
|
||||||
|
var MyWorkspace = GObject.registerClass(
|
||||||
class MyWorkspace extends Workspace.Workspace {
|
class MyWorkspace extends Workspace.Workspace {
|
||||||
static {
|
_init(...args) {
|
||||||
GObject.registerClass(this);
|
super._init(...args);
|
||||||
}
|
|
||||||
|
|
||||||
constructor(...args) {
|
|
||||||
super(...args);
|
|
||||||
|
|
||||||
if (this.metaWorkspace && this.metaWorkspace.index() < 9) {
|
if (this.metaWorkspace && this.metaWorkspace.index() < 9) {
|
||||||
this._tip = new St.Label({
|
this._tip = new St.Label({
|
||||||
@@ -53,13 +50,13 @@ class MyWorkspace extends Workspace.Workspace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getWindowWithTooltip(id) {
|
getWindowWithTooltip(id) {
|
||||||
const {layoutManager} = this._container;
|
const { layoutManager } = this._container;
|
||||||
const slot = layoutManager._windowSlots[id - 1];
|
const slot = layoutManager._windowSlots[id - 1];
|
||||||
return slot ? slot[WINDOW_SLOT].metaWindow : null;
|
return slot ? slot[WINDOW_SLOT].metaWindow : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
showWindowsTooltips() {
|
showWindowsTooltips() {
|
||||||
const {layoutManager} = this._container;
|
const { layoutManager } = this._container;
|
||||||
for (let i = 0; i < layoutManager._windowSlots.length; i++) {
|
for (let i = 0; i < layoutManager._windowSlots.length; i++) {
|
||||||
if (layoutManager._windowSlots[i])
|
if (layoutManager._windowSlots[i])
|
||||||
layoutManager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
|
layoutManager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
|
||||||
@@ -67,7 +64,7 @@ class MyWorkspace extends Workspace.Workspace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hideWindowsTooltips() {
|
hideWindowsTooltips() {
|
||||||
const {layoutManager} = this._container;
|
const { layoutManager } = this._container;
|
||||||
for (let i in layoutManager._windowSlots) {
|
for (let i in layoutManager._windowSlots) {
|
||||||
if (layoutManager._windowSlots[i])
|
if (layoutManager._windowSlots[i])
|
||||||
layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
|
layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
|
||||||
@@ -93,13 +90,13 @@ class MyWorkspace extends Workspace.Workspace {
|
|||||||
this._text.add_constraint(new Clutter.AlignConstraint({
|
this._text.add_constraint(new Clutter.AlignConstraint({
|
||||||
source: this.windowContainer,
|
source: this.windowContainer,
|
||||||
align_axis: Clutter.AlignAxis.X_AXIS,
|
align_axis: Clutter.AlignAxis.X_AXIS,
|
||||||
pivot_point: new Graphene.Point({x: 0.5, y: -1}),
|
pivot_point: new Graphene.Point({ x: 0.5, y: -1 }),
|
||||||
factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0,
|
factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0,
|
||||||
}));
|
}));
|
||||||
this._text.add_constraint(new Clutter.AlignConstraint({
|
this._text.add_constraint(new Clutter.AlignConstraint({
|
||||||
source: this.windowContainer,
|
source: this.windowContainer,
|
||||||
align_axis: Clutter.AlignAxis.Y_AXIS,
|
align_axis: Clutter.AlignAxis.Y_AXIS,
|
||||||
pivot_point: new Graphene.Point({x: -1, y: 0.5}),
|
pivot_point: new Graphene.Point({ x: -1, y: 0.5 }),
|
||||||
factor: 0,
|
factor: 0,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
@@ -107,7 +104,7 @@ class MyWorkspace extends Workspace.Workspace {
|
|||||||
}).call(clone);
|
}).call(clone);
|
||||||
|
|
||||||
clone.showTooltip = function (text) {
|
clone.showTooltip = function (text) {
|
||||||
this._text.set({text});
|
this._text.set({ text });
|
||||||
this._text.show();
|
this._text.show();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -118,15 +115,12 @@ class MyWorkspace extends Workspace.Workspace {
|
|||||||
|
|
||||||
return clone;
|
return clone;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
var MyWorkspacesView = GObject.registerClass(
|
||||||
class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
||||||
static {
|
_init(...args) {
|
||||||
GObject.registerClass(this);
|
super._init(...args);
|
||||||
}
|
|
||||||
|
|
||||||
constructor(...args) {
|
|
||||||
super(...args);
|
|
||||||
|
|
||||||
this._pickWorkspace = false;
|
this._pickWorkspace = false;
|
||||||
this._pickWindow = false;
|
this._pickWindow = false;
|
||||||
@@ -170,7 +164,7 @@ class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onKeyPress(s, o) {
|
_onKeyPress(s, o) {
|
||||||
const {ControlsState} = OverviewControls;
|
const { ControlsState } = OverviewControls;
|
||||||
if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER)
|
if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -249,7 +243,7 @@ class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
|||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
class Extension {
|
class Extension {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|||||||
@@ -3,4 +3,3 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
|
|
||||||
const {Clutter, Gio, GObject, Meta, St} = imports.gi;
|
const { Clutter, Gio, GObject, Meta, St } = imports.gi;
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
@@ -19,18 +19,15 @@ const TOOLTIP_ANIMATION_TIME = 150;
|
|||||||
|
|
||||||
const MAX_THUMBNAILS = 6;
|
const MAX_THUMBNAILS = 6;
|
||||||
|
|
||||||
|
let WindowPreview = GObject.registerClass(
|
||||||
class WindowPreview extends St.Button {
|
class WindowPreview extends St.Button {
|
||||||
static {
|
_init(window) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(window) {
|
|
||||||
super({
|
|
||||||
style_class: 'workspace-indicator-window-preview',
|
style_class: 'workspace-indicator-window-preview',
|
||||||
});
|
});
|
||||||
|
|
||||||
this._delegate = this;
|
this._delegate = this;
|
||||||
DND.makeDraggable(this, {restoreOnSuccess: true});
|
DND.makeDraggable(this, { restoreOnSuccess: true });
|
||||||
|
|
||||||
this._window = window;
|
this._window = window;
|
||||||
|
|
||||||
@@ -77,13 +74,10 @@ class WindowPreview extends St.Button {
|
|||||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||||
this._window.showing_on_its_workspace();
|
this._window.showing_on_its_workspace();
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
let WorkspaceLayout = GObject.registerClass(
|
||||||
class WorkspaceLayout extends Clutter.LayoutManager {
|
class WorkspaceLayout extends Clutter.LayoutManager {
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_preferred_width() {
|
vfunc_get_preferred_width() {
|
||||||
return [0, 0];
|
return [0, 0];
|
||||||
}
|
}
|
||||||
@@ -110,15 +104,12 @@ class WorkspaceLayout extends Clutter.LayoutManager {
|
|||||||
child.allocate(childBox);
|
child.allocate(childBox);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
let WorkspaceThumbnail = GObject.registerClass(
|
||||||
class WorkspaceThumbnail extends St.Button {
|
class WorkspaceThumbnail extends St.Button {
|
||||||
static {
|
_init(index) {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor(index) {
|
|
||||||
super({
|
|
||||||
style_class: 'workspace',
|
style_class: 'workspace',
|
||||||
child: new Clutter.Actor({
|
child: new Clutter.Actor({
|
||||||
layout_manager: new WorkspaceLayout(),
|
layout_manager: new WorkspaceLayout(),
|
||||||
@@ -255,15 +246,12 @@ class WorkspaceThumbnail extends St.Button {
|
|||||||
this._workspace.disconnect(this._windowRemovedId);
|
this._workspace.disconnect(this._windowRemovedId);
|
||||||
global.display.disconnect(this._restackedId);
|
global.display.disconnect(this._restackedId);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
let WorkspaceIndicator = GObject.registerClass(
|
||||||
class WorkspaceIndicator extends PanelMenu.Button {
|
class WorkspaceIndicator extends PanelMenu.Button {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init(0.0, _('Workspace Indicator'));
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super(0.5, _('Workspace Indicator'));
|
|
||||||
|
|
||||||
let container = new St.Widget({
|
let container = new St.Widget({
|
||||||
layout_manager: new Clutter.BinLayout(),
|
layout_manager: new Clutter.BinLayout(),
|
||||||
@@ -310,7 +298,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
this._updateThumbnails();
|
this._updateThumbnails();
|
||||||
this._updateThumbnailVisibility();
|
this._updateThumbnailVisibility();
|
||||||
|
|
||||||
this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
|
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
|
||||||
this._settingsChangedId = this._settings.connect(
|
this._settingsChangedId = this._settings.connect(
|
||||||
`changed::${WORKSPACE_KEY}`,
|
`changed::${WORKSPACE_KEY}`,
|
||||||
this._updateMenuLabels.bind(this));
|
this._updateMenuLabels.bind(this));
|
||||||
@@ -331,7 +319,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_updateThumbnailVisibility() {
|
_updateThumbnailVisibility() {
|
||||||
const {workspaceManager} = global;
|
const { workspaceManager } = global;
|
||||||
const vertical = workspaceManager.layout_rows === -1;
|
const vertical = workspaceManager.layout_rows === -1;
|
||||||
const useMenu =
|
const useMenu =
|
||||||
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
|
||||||
@@ -452,7 +440,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
|||||||
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
|
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
|
||||||
this._activate(newIndex);
|
this._activate(newIndex);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
|
|||||||
@@ -3,6 +3,5 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
extension_data += files('stylesheet.css')
|
|
||||||
|
|
||||||
extension_sources += files('prefs.js')
|
extension_sources += files('prefs.js')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
/* exported init buildPrefsWidget */
|
/* exported init buildPrefsWidget */
|
||||||
|
|
||||||
const {Adw, Gio, GLib, GObject, Gtk, Pango} = imports.gi;
|
const { Adw, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
|
||||||
@@ -11,131 +11,13 @@ const N_ = e => e;
|
|||||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||||
const WORKSPACE_KEY = 'workspace-names';
|
const WORKSPACE_KEY = 'workspace-names';
|
||||||
|
|
||||||
class NewItem extends GObject.Object {}
|
const WorkspaceSettingsWidget = GObject.registerClass(
|
||||||
GObject.registerClass(NewItem);
|
|
||||||
|
|
||||||
class NewItemModel extends GObject.Object {
|
|
||||||
static [GObject.interfaces] = [Gio.ListModel];
|
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
#item = new NewItem();
|
|
||||||
|
|
||||||
vfunc_get_item_type() {
|
|
||||||
return NewItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_n_items() {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_item(_pos) {
|
|
||||||
return this.#item;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class WorkspacesList extends GObject.Object {
|
|
||||||
static [GObject.interfaces] = [Gio.ListModel];
|
|
||||||
static {
|
|
||||||
GObject.registerClass(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
#settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
|
|
||||||
#names = this.#settings.get_strv(WORKSPACE_KEY);
|
|
||||||
#items = Gtk.StringList.new(this.#names);
|
|
||||||
#changedId;
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super();
|
|
||||||
|
|
||||||
this.#changedId =
|
|
||||||
this.#settings.connect(`changed::${WORKSPACE_KEY}`, () => {
|
|
||||||
const removed = this.#names.length;
|
|
||||||
this.#names = this.#settings.get_strv(WORKSPACE_KEY);
|
|
||||||
this.#items.splice(0, removed, this.#names);
|
|
||||||
this.items_changed(0, removed, this.#names.length);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
append() {
|
|
||||||
const name = _('Workspace %d').format(this.#names.length + 1);
|
|
||||||
|
|
||||||
this.#names.push(name);
|
|
||||||
this.#settings.block_signal_handler(this.#changedId);
|
|
||||||
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
|
|
||||||
this.#settings.unblock_signal_handler(this.#changedId);
|
|
||||||
|
|
||||||
const pos = this.#items.get_n_items();
|
|
||||||
this.#items.append(name);
|
|
||||||
this.items_changed(pos, 0, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
remove(name) {
|
|
||||||
const pos = this.#names.indexOf(name);
|
|
||||||
if (pos < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.#names.splice(pos, 1);
|
|
||||||
|
|
||||||
this.#settings.block_signal_handler(this.#changedId);
|
|
||||||
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
|
|
||||||
this.#settings.unblock_signal_handler(this.#changedId);
|
|
||||||
|
|
||||||
this.#items.remove(pos);
|
|
||||||
this.items_changed(pos, 1, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
rename(oldName, newName) {
|
|
||||||
const pos = this.#names.indexOf(oldName);
|
|
||||||
if (pos < 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.#names.splice(pos, 1, newName);
|
|
||||||
this.#items.splice(pos, 1, [newName]);
|
|
||||||
|
|
||||||
this.#settings.block_signal_handler(this.#changedId);
|
|
||||||
this.#settings.set_strv(WORKSPACE_KEY, this.#names);
|
|
||||||
this.#settings.unblock_signal_handler(this.#changedId);
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_item_type() {
|
|
||||||
return Gtk.StringObject;
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_n_items() {
|
|
||||||
return this.#items.get_n_items();
|
|
||||||
}
|
|
||||||
|
|
||||||
vfunc_get_item(pos) {
|
|
||||||
return this.#items.get_item(pos);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
|
class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
|
|
||||||
this.install_action('workspaces.add', null,
|
|
||||||
self => self._workspaces.append());
|
|
||||||
this.install_action('workspaces.remove', 's',
|
|
||||||
(self, name, param) => self._workspaces.remove(param.unpack()));
|
|
||||||
this.install_action('workspaces.rename', '(ss)',
|
|
||||||
(self, name, param) => self._workspaces.rename(...param.deepUnpack()));
|
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super({
|
|
||||||
title: _('Workspace Names'),
|
title: _('Workspace Names'),
|
||||||
});
|
});
|
||||||
|
|
||||||
this._workspaces = new WorkspacesList();
|
|
||||||
|
|
||||||
const store = new Gio.ListStore({item_type: Gio.ListModel});
|
|
||||||
const listModel = new Gtk.FlattenListModel({model: store});
|
|
||||||
store.append(this._workspaces);
|
|
||||||
store.append(new NewItemModel());
|
|
||||||
|
|
||||||
this._list = new Gtk.ListBox({
|
this._list = new Gtk.ListBox({
|
||||||
selection_mode: Gtk.SelectionMode.NONE,
|
selection_mode: Gtk.SelectionMode.NONE,
|
||||||
css_classes: ['boxed-list'],
|
css_classes: ['boxed-list'],
|
||||||
@@ -143,21 +25,73 @@ class WorkspaceSettingsWidget extends Adw.PreferencesGroup {
|
|||||||
this._list.connect('row-activated', (l, row) => row.edit());
|
this._list.connect('row-activated', (l, row) => row.edit());
|
||||||
this.add(this._list);
|
this.add(this._list);
|
||||||
|
|
||||||
this._list.bind_model(listModel, item => {
|
this._list.append(new NewWorkspaceRow());
|
||||||
return item instanceof NewItem
|
|
||||||
? new NewWorkspaceRow()
|
this._actionGroup = new Gio.SimpleActionGroup();
|
||||||
: new WorkspaceRow(item.string);
|
this._list.insert_action_group('workspaces', this._actionGroup);
|
||||||
|
|
||||||
|
let action;
|
||||||
|
action = new Gio.SimpleAction({ name: 'add' });
|
||||||
|
action.connect('activate', () => {
|
||||||
|
const names = this._settings.get_strv(WORKSPACE_KEY);
|
||||||
|
this._settings.set_strv(WORKSPACE_KEY, [
|
||||||
|
...names,
|
||||||
|
_('Workspace %d').format(names.length + 1),
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
action = new Gio.SimpleAction({
|
||||||
|
name: 'remove',
|
||||||
|
parameter_type: new GLib.VariantType('s'),
|
||||||
|
});
|
||||||
|
action.connect('activate', (a, param) => {
|
||||||
|
const removed = param.deepUnpack();
|
||||||
|
this._settings.set_strv(WORKSPACE_KEY,
|
||||||
|
this._settings.get_strv(WORKSPACE_KEY)
|
||||||
|
.filter(name => name !== removed));
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
action = new Gio.SimpleAction({ name: 'update' });
|
||||||
|
action.connect('activate', () => {
|
||||||
|
const names = this._getWorkspaceRows().map(row => row.name);
|
||||||
|
this._settings.set_strv(WORKSPACE_KEY, names);
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
this._settings = new Gio.Settings({
|
||||||
|
schema_id: WORKSPACE_SCHEMA,
|
||||||
|
});
|
||||||
|
this._settings.connect(`changed::${WORKSPACE_KEY}`,
|
||||||
|
this._sync.bind(this));
|
||||||
|
this._sync();
|
||||||
|
}
|
||||||
|
|
||||||
|
_getWorkspaceRows() {
|
||||||
|
return [...this._list].filter(row => row.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
_sync() {
|
||||||
|
const rows = this._getWorkspaceRows();
|
||||||
|
|
||||||
|
const oldNames = rows.map(row => row.name);
|
||||||
|
const newNames = this._settings.get_strv(WORKSPACE_KEY);
|
||||||
|
|
||||||
|
const removed = oldNames.filter(n => !newNames.includes(n));
|
||||||
|
const added = newNames.filter(n => !oldNames.includes(n));
|
||||||
|
|
||||||
|
removed.forEach(n => this._list.remove(rows.find(r => r.name === n)));
|
||||||
|
added.forEach(n => {
|
||||||
|
this._list.insert(new WorkspaceRow(n), newNames.indexOf(n));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
const WorkspaceRow = GObject.registerClass(
|
||||||
class WorkspaceRow extends Adw.PreferencesRow {
|
class WorkspaceRow extends Adw.PreferencesRow {
|
||||||
static {
|
_init(name) {
|
||||||
GObject.registerClass(this);
|
super._init({ name });
|
||||||
}
|
|
||||||
|
|
||||||
constructor(name) {
|
|
||||||
super({name});
|
|
||||||
|
|
||||||
const box = new Gtk.Box({
|
const box = new Gtk.Box({
|
||||||
spacing: 12,
|
spacing: 12,
|
||||||
@@ -179,17 +113,12 @@ class WorkspaceRow extends Adw.PreferencesRow {
|
|||||||
|
|
||||||
const button = new Gtk.Button({
|
const button = new Gtk.Button({
|
||||||
action_name: 'workspaces.remove',
|
action_name: 'workspaces.remove',
|
||||||
|
action_target: new GLib.Variant('s', name),
|
||||||
icon_name: 'edit-delete-symbolic',
|
icon_name: 'edit-delete-symbolic',
|
||||||
has_frame: false,
|
has_frame: false,
|
||||||
});
|
});
|
||||||
box.append(button);
|
box.append(button);
|
||||||
|
|
||||||
this.bind_property_full('name',
|
|
||||||
button, 'action-target',
|
|
||||||
GObject.BindingFlags.SYNC_CREATE,
|
|
||||||
(bind, target) => [true, new GLib.Variant('s', target)],
|
|
||||||
null);
|
|
||||||
|
|
||||||
this._entry = new Gtk.Entry({
|
this._entry = new Gtk.Entry({
|
||||||
max_width_chars: 25,
|
max_width_chars: 25,
|
||||||
});
|
});
|
||||||
@@ -210,8 +139,6 @@ class WorkspaceRow extends Adw.PreferencesRow {
|
|||||||
this.child = this._stack;
|
this.child = this._stack;
|
||||||
|
|
||||||
this._entry.connect('activate', () => {
|
this._entry.connect('activate', () => {
|
||||||
this.activate_action('workspaces.rename',
|
|
||||||
new GLib.Variant('(ss)', [this.name, this._entry.text]));
|
|
||||||
this.name = this._entry.text;
|
this.name = this._entry.text;
|
||||||
this._stopEdit();
|
this._stopEdit();
|
||||||
});
|
});
|
||||||
@@ -220,6 +147,11 @@ class WorkspaceRow extends Adw.PreferencesRow {
|
|||||||
return;
|
return;
|
||||||
this._stopEdit();
|
this._stopEdit();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
this.connect('notify::name', () => {
|
||||||
|
button.action_target = new GLib.Variant('s', this.name);
|
||||||
|
this.activate_action('workspaces.update', null);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
edit() {
|
edit() {
|
||||||
@@ -232,15 +164,12 @@ class WorkspaceRow extends Adw.PreferencesRow {
|
|||||||
this.grab_focus();
|
this.grab_focus();
|
||||||
this._stack.visible_child_name = 'display';
|
this._stack.visible_child_name = 'display';
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
|
const NewWorkspaceRow = GObject.registerClass(
|
||||||
class NewWorkspaceRow extends Adw.PreferencesRow {
|
class NewWorkspaceRow extends Adw.PreferencesRow {
|
||||||
static {
|
_init() {
|
||||||
GObject.registerClass(this);
|
super._init({
|
||||||
}
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
super({
|
|
||||||
action_name: 'workspaces.add',
|
action_name: 'workspaces.add',
|
||||||
child: new Gtk.Image({
|
child: new Gtk.Image({
|
||||||
icon_name: 'list-add-symbolic',
|
icon_name: 'list-add-symbolic',
|
||||||
@@ -254,7 +183,7 @@ class NewWorkspaceRow extends Adw.PreferencesRow {
|
|||||||
this.update_property(
|
this.update_property(
|
||||||
[Gtk.AccessibleProperty.LABEL], [_('Add Workspace')]);
|
[Gtk.AccessibleProperty.LABEL], [_('Add Workspace')]);
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
|
||||||
/** */
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
|
|||||||
+4
-11
@@ -2,7 +2,8 @@
|
|||||||
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
# SPDX-License-Identifier: MIT OR LGPL-2.0-or-later
|
||||||
# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
|
# SPDX-FileCopyrightText: 2018 Claudio André <claudioandre.br@gmail.com>
|
||||||
env:
|
env:
|
||||||
es2021: true
|
es6: true
|
||||||
|
es2020: true
|
||||||
extends: 'eslint:recommended'
|
extends: 'eslint:recommended'
|
||||||
plugins:
|
plugins:
|
||||||
- jsdoc
|
- jsdoc
|
||||||
@@ -85,10 +86,7 @@ rules:
|
|||||||
linebreak-style:
|
linebreak-style:
|
||||||
- error
|
- error
|
||||||
- unix
|
- unix
|
||||||
lines-between-class-members:
|
lines-between-class-members: error
|
||||||
- error
|
|
||||||
- always
|
|
||||||
- exceptAfterSingleLine: true
|
|
||||||
max-nested-callbacks: error
|
max-nested-callbacks: error
|
||||||
max-statements-per-line: error
|
max-statements-per-line: error
|
||||||
new-parens: error
|
new-parens: error
|
||||||
@@ -261,10 +259,5 @@ globals:
|
|||||||
window: readonly
|
window: readonly
|
||||||
TextEncoder: readonly
|
TextEncoder: readonly
|
||||||
TextDecoder: readonly
|
TextDecoder: readonly
|
||||||
console: readonly
|
|
||||||
setTimeout: readonly
|
|
||||||
setInterval: readonly
|
|
||||||
clearTimeout: readonly
|
|
||||||
clearInterval: readonly
|
|
||||||
parserOptions:
|
parserOptions:
|
||||||
ecmaVersion: 2022
|
ecmaVersion: 2020
|
||||||
|
|||||||
@@ -3,10 +3,9 @@ rules:
|
|||||||
- error
|
- error
|
||||||
- properties: never
|
- properties: never
|
||||||
allow: [^vfunc_, ^on_]
|
allow: [^vfunc_, ^on_]
|
||||||
consistent-return: error
|
object-curly-spacing:
|
||||||
eqeqeq:
|
|
||||||
- error
|
- error
|
||||||
- smart
|
- always
|
||||||
prefer-arrow-callback: error
|
prefer-arrow-callback: error
|
||||||
globals:
|
globals:
|
||||||
global: readonly
|
global: readonly
|
||||||
|
|||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
project('gnome-shell-extensions',
|
project('gnome-shell-extensions',
|
||||||
version: '44.beta',
|
version: '42.beta',
|
||||||
meson_version: '>= 0.53.0',
|
meson_version: '>= 0.53.0',
|
||||||
license: 'GPL2+'
|
license: 'GPL2+'
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ id
|
|||||||
is
|
is
|
||||||
it
|
it
|
||||||
ja
|
ja
|
||||||
ka
|
|
||||||
kab
|
kab
|
||||||
kk
|
kk
|
||||||
km
|
km
|
||||||
|
|||||||
@@ -6,8 +6,9 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions main\n"
|
"Project-Id-Version: gnome-shell-extensions main\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"POT-Creation-Date: 2022-07-10 12:54+0000\n"
|
"issues\n"
|
||||||
|
"POT-Creation-Date: 2022-02-12 02:08+0000\n"
|
||||||
"PO-Revision-Date: 2022-02-12 02:08+0000\n"
|
"PO-Revision-Date: 2022-02-12 02:08+0000\n"
|
||||||
"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>, 2022\n"
|
"Last-Translator: Нанба Наала <naala-nanba@rambler.ru>, 2022\n"
|
||||||
"Language-Team: Abkhazian <ab@li.org>\n"
|
"Language-Team: Abkhazian <ab@li.org>\n"
|
||||||
@@ -33,11 +34,11 @@ msgstr "Аклассикатә GNOME Wayland аҟны"
|
|||||||
msgid "GNOME Classic on Xorg"
|
msgid "GNOME Classic on Xorg"
|
||||||
msgstr "Аклассикатә GNOME Xorg аҟны"
|
msgstr "Аклассикатә GNOME Xorg аҟны"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:118
|
#: extensions/apps-menu/extension.js:112
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Иалкаау"
|
msgstr "Иалкаау"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:379
|
#: extensions/apps-menu/extension.js:370
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Аԥшьқәа"
|
msgstr "Аԥшьқәа"
|
||||||
|
|
||||||
@@ -49,30 +50,29 @@ msgstr "Аԥшьи аусуратә ҵакырақәа рыхьӡынҵеи"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"A list of strings, each containing an application id (desktop file name), "
|
"A list of strings, each containing an application id (desktop file name), "
|
||||||
"followed by a colon and the workspace number"
|
"followed by a colon and the workspace number"
|
||||||
msgstr ""
|
msgstr "Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )"
|
||||||
"Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )змоу, зашьҭахь "
|
"змоу, зашьҭахь ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу "
|
||||||
"ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу "
|
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:152
|
#: extensions/auto-move-windows/prefs.js:19
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Аусуратә ҵакыра аԥҟаррақәа"
|
msgstr "Аусуратә ҵакыра аԥҟаррақәа"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:306
|
#: extensions/auto-move-windows/prefs.js:245
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Аԥҟара ацҵара"
|
msgstr "Аԥҟара ацҵара"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:126
|
#: extensions/drive-menu/extension.js:123
|
||||||
#: extensions/places-menu/placeDisplay.js:210
|
#: extensions/places-menu/placeDisplay.js:210
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Адиск «%s» аҭыгара залымшахеит:"
|
msgstr "Адиск «%s» аҭыгара залымшахеит:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:145
|
#: extensions/drive-menu/extension.js:139
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Иаҿыҵуа аиҿартәырақәа"
|
msgstr "Иаҿыҵуа аиҿартәырақәа"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:167
|
#: extensions/drive-menu/extension.js:161
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Афаил аартра"
|
msgstr "Афаил аартра"
|
||||||
|
|
||||||
@@ -85,11 +85,9 @@ msgid ""
|
|||||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||||
"This setting applies only with the natural placement strategy."
|
"This setting applies only with the natural placement strategy."
|
||||||
msgstr ""
|
msgstr "Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразы"
|
||||||
"Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразыаекран аганқәа "
|
"аекран аганқәа реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа архәыҷразы"
|
||||||
"реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа "
|
"ари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра алгоритм ахархәараан"
|
||||||
"архәыҷразыари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра "
|
|
||||||
"алгоритм ахархәараан"
|
|
||||||
|
|
||||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||||
msgid "Place window captions on top"
|
msgid "Place window captions on top"
|
||||||
@@ -100,13 +98,12 @@ msgid ""
|
|||||||
"If true, place window captions on top the respective thumbnail, overriding "
|
"If true, place window captions on top the respective thumbnail, overriding "
|
||||||
"shell default of placing it at the bottom. Changing this setting requires "
|
"shell default of placing it at the bottom. Changing this setting requires "
|
||||||
"restarting the shell to have any effect."
|
"restarting the shell to have any effect."
|
||||||
msgstr ""
|
msgstr "Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит"
|
||||||
"Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит(ишыҟоу еиԥш "
|
"(ишыҟоу еиԥш ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан,"
|
||||||
"ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан,уи аус аура "
|
"уи аус аура иалагарцазы, иаҭахуп Shell аиҭарура."
|
||||||
"иалагарцазы, иаҭахуп Shell аиҭарура."
|
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:94
|
#: extensions/places-menu/extension.js:88
|
||||||
#: extensions/places-menu/extension.js:97
|
#: extensions/places-menu/extension.js:91
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Аҭыԥқәа"
|
msgstr "Аҭыԥқәа"
|
||||||
|
|
||||||
@@ -169,27 +166,27 @@ msgstr "Аиҭашьақәыргылара"
|
|||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Аиҵыхра"
|
msgstr "Аиҵыхра"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:483
|
#: extensions/window-list/extension.js:434
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Зегьы реиҟәырҳәра"
|
msgstr "Зегьы реиҟәырҳәра"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:489
|
#: extensions/window-list/extension.js:440
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Зегьы рырхынҳәра"
|
msgstr "Зегьы рырхынҳәра"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:495
|
#: extensions/window-list/extension.js:446
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Зегьы реиҵыхра"
|
msgstr "Зегьы реиҵыхра"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:503
|
#: extensions/window-list/extension.js:454
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Зегьы реиҭашьақәыргылара"
|
msgstr "Зегьы реиҭашьақәыргылара"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:511
|
#: extensions/window-list/extension.js:462
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Зегьы рыркра"
|
msgstr "Зегьы рыркра"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:795
|
#: extensions/window-list/extension.js:741
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Аԥенџьырқәа рыхьӡынҵа"
|
msgstr "Аԥенџьырқәа рыхьӡынҵа"
|
||||||
|
|
||||||
@@ -201,21 +198,18 @@ msgstr "Аԥенџьырқәа аидыргәыԥлара анаҭаху"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Decides when to group windows from the same application on the window list. "
|
"Decides when to group windows from the same application on the window list. "
|
||||||
"Possible values are “never”, “auto” and “always”."
|
"Possible values are “never”, “auto” and “always”."
|
||||||
msgstr ""
|
msgstr "Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, аԥенџьырқәа рыхьӡынҵаҟны"
|
||||||
"Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, "
|
" Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — автоматла; «always» — есқьынгьы"
|
||||||
"аԥенџьырқәа рыхьӡынҵаҟны Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — "
|
|
||||||
"автоматла; «always» — есқьынгьы"
|
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:79
|
#: extensions/window-list/prefs.js:76
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Аҵакырақәа зегьы рҟынтә аԥенџьырқәа раарԥшра"
|
msgstr "Аҵакырақәа зегьы рҟынтә аԥенџьырқәа раарԥшра"
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||||
msgid "Whether to show windows from all workspaces or only the current one."
|
msgid "Whether to show windows from all workspaces or only the current one."
|
||||||
msgstr ""
|
msgstr
|
||||||
"Аԥенџьырқәа рыхьӡынҵа аусуратә ҵакырақәа зегь рҟынтә акәу,мамзар уажәтәи "
|
"Аԥенџьырқәа рыхьӡынҵа аусуратә ҵакырақәа зегь рҟынтә акәу,мамзар уажәтәи аҟынтә акәу ишаарԥшлатәу"
|
||||||
"аҟынтә акәу ишаарԥшлатәу"
|
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||||
msgid "Show the window list on all monitors"
|
msgid "Show the window list on all monitors"
|
||||||
@@ -225,44 +219,43 @@ msgstr "Аԥенџьырқәа рыхьӡынҵа амониторқәа зег
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Whether to show the window list on all connected monitors or only on the "
|
"Whether to show the window list on all connected monitors or only on the "
|
||||||
"primary one."
|
"primary one."
|
||||||
msgstr ""
|
msgstr
|
||||||
"Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , "
|
"Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , мамзар ихадоу аҟны акәу."
|
||||||
"мамзар ихадоу аҟны акәу."
|
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:35
|
#: extensions/window-list/prefs.js:32
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Аԥенџьырқәа реидыргәыԥлара"
|
msgstr "Аԥенџьырқәа реидыргәыԥлара"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:40
|
#: extensions/window-list/prefs.js:37
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Ахаангьы аԥенџьырқәа реидмыргәыԥлара"
|
msgstr "Ахаангьы аԥенџьырқәа реидмыргәыԥлара"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:41
|
#: extensions/window-list/prefs.js:38
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Аҭыԥ маҷхазар, аԥенџьырқәа еидшәыргәыԥла"
|
msgstr "Аҭыԥ маҷхазар, аԥенџьырқәа еидшәыргәыԥла"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:42
|
#: extensions/window-list/prefs.js:39
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Еснагь аԥенџьырқәа реидыргәыԥлара"
|
msgstr "Еснагь аԥенџьырқәа реидыргәыԥлара"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:66
|
#: extensions/window-list/prefs.js:63
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Амониторқәа зегьы рҟны рырбара"
|
msgstr "Амониторқәа зегьы рҟны рырбара"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:261
|
#: extensions/window-list/workspaceIndicator.js:249
|
||||||
#: extensions/workspace-indicator/extension.js:266
|
#: extensions/workspace-indicator/extension.js:254
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Аусуратә ҵакыра аиндикатор"
|
msgstr "Аусуратә ҵакыра аиндикатор"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:62
|
#: extensions/workspace-indicator/prefs.js:18
|
||||||
|
msgid "Workspace Names"
|
||||||
|
msgstr "Аусуратә ҵакырақәа рыхьӡқәа"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:39
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Аусуратә ҵакыра %d"
|
msgstr "Аусуратә ҵакыра %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:129
|
#: extensions/workspace-indicator/prefs.js:184
|
||||||
msgid "Workspace Names"
|
|
||||||
msgstr "Аусуратә ҵакырақәа рыхьӡқәа"
|
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:255
|
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Аусуратә ҵакыра ацҵара"
|
msgstr "Аусуратә ҵакыра ацҵара"
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2022-07-10 12:54+0000\n"
|
"POT-Creation-Date: 2021-01-20 23:03+0000\n"
|
||||||
"PO-Revision-Date: 2022-10-19 15:20+0300\n"
|
"PO-Revision-Date: 2021-01-24 15:33+0300\n"
|
||||||
"Last-Translator: Launchpad translators\n"
|
"Last-Translator: Launchpad translators\n"
|
||||||
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
|
||||||
"Language: be\n"
|
"Language: be\n"
|
||||||
@@ -18,30 +18,21 @@ msgstr ""
|
|||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Poedit 3.0\n"
|
"X-Generator: Poedit 2.4.2\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3
|
#: data/gnome-classic.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "Класічны GNOME"
|
msgstr "Класічны GNOME"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Гэты сеанс выкарыстоўвае класічны GNOME"
|
msgstr "Гэты сеанс выкарыстоўвае класічны GNOME"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "Класічны GNOME на Wayland"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "Класічны GNOME на Xorg"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:118
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Абраныя"
|
msgstr "Абраныя"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:379
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Праграмы"
|
msgstr "Праграмы"
|
||||||
|
|
||||||
@@ -57,41 +48,43 @@ msgstr ""
|
|||||||
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
|
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
|
||||||
"desktop), затым двукроп'е і нумар працоўнай прасторы"
|
"desktop), затым двукроп'е і нумар працоўнай прасторы"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:152
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Правілы для працоўнай прасторы"
|
msgstr "Правілы для працоўнай прасторы"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:306
|
#: extensions/auto-move-windows/prefs.js:237
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Дадаць правіла"
|
msgstr "Дадаць правіла"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:126
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:210
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Не ўдалося выняць дыск «%s»:"
|
msgstr "Не ўдалося выняць дыск «%s»:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:145
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Здымныя прылады"
|
msgstr "Здымныя прылады"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:167
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Адкрыць файлы"
|
msgstr "Адкрыць файлы"
|
||||||
|
|
||||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||||
|
#, fuzzy
|
||||||
msgid "Use more screen for windows"
|
msgid "Use more screen for windows"
|
||||||
msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў"
|
msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў"
|
||||||
|
|
||||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||||
"This setting applies only with the natural placement strategy."
|
"This setting applies only with the natural placement strategy."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Спрабаваць выкарыстаць большую плошчу экрана для размяшчэння мініяцюр праз "
|
"Спрабаваць выкарыстаць большую плошчу экрана для размяшчэння мініяцюр праз "
|
||||||
"змяненне суадносін бакоў экрана, ўшчыльняючы іх, каб зменшыць памеры "
|
"змяненне суадносінаў бакоў экрана, ўшчыльняючы іх, каб зменшыць памеры "
|
||||||
"абмежавальнай рамкі. Гэты параметр ужываецца толькі з натуральным "
|
"абмежавальнай рамкі. Гэты параметр ужываецца толькі з натуральным "
|
||||||
"размяшчэннем мініяцюр."
|
"размяшчэннем мініяцюр."
|
||||||
|
|
||||||
@@ -109,31 +102,31 @@ msgstr ""
|
|||||||
"перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць "
|
"перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць "
|
||||||
"абалонку."
|
"абалонку."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:94
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:97
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Месцы"
|
msgstr "Месцы"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:49
|
#: extensions/places-menu/placeDisplay.js:46
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "Не ўдалося запусціць «%s»"
|
msgstr "Не ўдалося запусціць «%s»"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:64
|
#: extensions/places-menu/placeDisplay.js:61
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to mount volume for “%s”"
|
msgid "Failed to mount volume for “%s”"
|
||||||
msgstr "Не ўдалося прымацаваць том для «%s»."
|
msgstr "Не ўдалося прымацаваць том для «%s»."
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:125
|
|
||||||
#: extensions/places-menu/placeDisplay.js:148
|
#: extensions/places-menu/placeDisplay.js:148
|
||||||
|
#: extensions/places-menu/placeDisplay.js:171
|
||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "Камп'ютар"
|
msgstr "Камп'ютар"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:336
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Хатняя папка"
|
msgstr "Хатняя папка"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:381
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "Агляд сеткі"
|
msgstr "Агляд сеткі"
|
||||||
|
|
||||||
@@ -153,47 +146,47 @@ msgstr "Назва тэмы"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell"
|
msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Закрыць"
|
msgstr "Закрыць"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Скасаваць згортванне"
|
msgstr "Скасаваць згортванне"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Згарнуць"
|
msgstr "Згарнуць"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Скасаваць разгортванне"
|
msgstr "Скасаваць разгортванне"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Разгарнуць"
|
msgstr "Разгарнуць"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:483
|
#: extensions/window-list/extension.js:432
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Згарнуць усе"
|
msgstr "Згарнуць усе"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:489
|
#: extensions/window-list/extension.js:438
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Скасаваць згортванне для ўсіх"
|
msgstr "Скасаваць згортванне для ўсіх"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:495
|
#: extensions/window-list/extension.js:444
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Разгарнуць усе"
|
msgstr "Разгарнуць усе"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:503
|
#: extensions/window-list/extension.js:452
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Скасаваць разгортванне для ўсіх"
|
msgstr "Скасаваць разгортванне для ўсіх"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:511
|
#: extensions/window-list/extension.js:460
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Закрыць усе"
|
msgstr "Закрыць усе"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:795
|
#: extensions/window-list/extension.js:737
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Спіс вокнаў"
|
msgstr "Спіс вокнаў"
|
||||||
|
|
||||||
@@ -210,7 +203,7 @@ msgstr ""
|
|||||||
"значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)."
|
"значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:79
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Паказваць вокны з усіх працоўных прастор"
|
msgstr "Паказваць вокны з усіх працоўных прастор"
|
||||||
|
|
||||||
@@ -229,41 +222,41 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Паказваць спіс вокнаў на ўсіх падлучаных маніторах ці толькі на асноўным."
|
"Паказваць спіс вокнаў на ўсіх падлучаных маніторах ці толькі на асноўным."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:35
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Групаванне вокнаў"
|
msgstr "Групаванне вокнаў"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:40
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Ніколі не групаваць вокны"
|
msgstr "Ніколі не групаваць вокны"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:41
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Групаваць вокны калі не хапае месца"
|
msgstr "Групаваць вокны калі не хапае месца"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:42
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Заўсёды групаваць вокны"
|
msgstr "Заўсёды групаваць вокны"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:66
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Паказваць на ўсіх маніторах"
|
msgstr "Паказваць на ўсіх маніторах"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:261
|
#: extensions/window-list/workspaceIndicator.js:247
|
||||||
#: extensions/workspace-indicator/extension.js:266
|
#: extensions/workspace-indicator/extension.js:253
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Індыкатар працоўнай прасторы"
|
msgstr "Індыкатар працоўнай прасторы"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:62
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
|
msgid "Workspace Names"
|
||||||
|
msgstr "Назвы працоўных прастор"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Працоўная прастора %d"
|
msgstr "Працоўная прастора %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:129
|
#: extensions/workspace-indicator/prefs.js:208
|
||||||
msgid "Workspace Names"
|
|
||||||
msgstr "Назвы працоўных прастор"
|
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:255
|
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Дадаць працоўную прастору"
|
msgstr "Дадаць працоўную прастору"
|
||||||
|
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
# Petr Kovar <pknbe@volny.cz>, 2013.
|
# Petr Kovar <pknbe@volny.cz>, 2013.
|
||||||
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020, 2022.
|
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019, 2020.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions\n"
|
"Project-Id-Version: gnome-shell-extensions\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||||
"PO-Revision-Date: 2022-02-16 09:58+0100\n"
|
"PO-Revision-Date: 2020-08-28 22:18+0200\n"
|
||||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
@@ -20,28 +20,19 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
"X-Generator: Gtranslator 2.91.6\n"
|
"X-Generator: Gtranslator 2.91.6\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "GNOME klasik"
|
msgstr "GNOME klasik"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Toto sezení vás přihlásí do GNOME klasik"
|
msgstr "Toto sezení vás přihlásí do GNOME klasik"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "GNOME klasik na Waylandu"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "GNOME klasik na Xorg"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:112
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Oblíbené"
|
msgstr "Oblíbené"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:366
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplikace"
|
msgstr "Aplikace"
|
||||||
|
|
||||||
@@ -57,26 +48,26 @@ msgstr ""
|
|||||||
"Seznam řetězců, z nichž každý obsahuje ID aplikace (název souboru pracovní "
|
"Seznam řetězců, z nichž každý obsahuje ID aplikace (název souboru pracovní "
|
||||||
"plochy), následovaný dvojtečkou a číslem pracovní plochy"
|
"plochy), následovaný dvojtečkou a číslem pracovní plochy"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:34
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Pravidla pracovních ploch"
|
msgstr "Pravidla pracovních ploch"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:236
|
#: extensions/auto-move-windows/prefs.js:243
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Přidat pravidlo"
|
msgstr "Přidat pravidlo"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:133
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:233
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Vysunutí disku „%s“ selhalo:"
|
msgstr "Vysunutí disku „%s“ selhalo:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:149
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Výměnná zařízení"
|
msgstr "Výměnná zařízení"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:171
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Otevřít soubory"
|
msgstr "Otevřít soubory"
|
||||||
|
|
||||||
@@ -108,8 +99,8 @@ msgstr ""
|
|||||||
"přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto "
|
"přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto "
|
||||||
"nastavení vyžaduje restart shellu, aby se projevila."
|
"nastavení vyžaduje restart shellu, aby se projevila."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:88
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:91
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Místa"
|
msgstr "Místa"
|
||||||
|
|
||||||
@@ -152,47 +143,47 @@ msgstr "Název motivu"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Název motivu, který se má načíst z ~/.themes/name/gnome-shell"
|
msgstr "Název motivu, který se má načíst z ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Zavřít"
|
msgstr "Zavřít"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Zrušit minimalizaci"
|
msgstr "Zrušit minimalizaci"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimalizovat"
|
msgstr "Minimalizovat"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Zrušit maximalizaci"
|
msgstr "Zrušit maximalizaci"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximalizovat"
|
msgstr "Maximalizovat"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:434
|
#: extensions/window-list/extension.js:428
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Minimalizovat všechna"
|
msgstr "Minimalizovat všechna"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:440
|
#: extensions/window-list/extension.js:434
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Zrušit minimalizaci všech"
|
msgstr "Zrušit minimalizaci všech"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:446
|
#: extensions/window-list/extension.js:440
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Maximalizovat všechna"
|
msgstr "Maximalizovat všechna"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:454
|
#: extensions/window-list/extension.js:448
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Zrušit maximalizaci všech"
|
msgstr "Zrušit maximalizaci všech"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:462
|
#: extensions/window-list/extension.js:456
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Zavřít všechna"
|
msgstr "Zavřít všechna"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:734
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Seznam oken"
|
msgstr "Seznam oken"
|
||||||
|
|
||||||
@@ -209,7 +200,7 @@ msgstr ""
|
|||||||
"hodnoty jsou „never“ (nikdy), „auto“ (automaticky) a „always“ (vždy)."
|
"hodnoty jsou „never“ (nikdy), „auto“ (automaticky) a „always“ (vždy)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:86
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Zobrazovat okna ze všech pracovních ploch"
|
msgstr "Zobrazovat okna ze všech pracovních ploch"
|
||||||
|
|
||||||
@@ -229,40 +220,40 @@ msgstr ""
|
|||||||
"Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na "
|
"Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na "
|
||||||
"hlavním."
|
"hlavním."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:39
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Seskupování oken"
|
msgstr "Seskupování oken"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:63
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Nikdy neseskupovat okna"
|
msgstr "Nikdy neseskupovat okna"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:64
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Seskupovat okna při nedostatku místa"
|
msgstr "Seskupovat okna při nedostatku místa"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:65
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Vždy seskupovat okna"
|
msgstr "Vždy seskupovat okna"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:81
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Zobrazovat na všech monitorech"
|
msgstr "Zobrazovat na všech monitorech"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:249
|
#: extensions/window-list/workspaceIndicator.js:207
|
||||||
#: extensions/workspace-indicator/extension.js:254
|
#: extensions/workspace-indicator/extension.js:213
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Ukazatel pracovní plochy"
|
msgstr "Ukazatel pracovní plochy"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:33
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Názvy pracovních ploch"
|
msgstr "Názvy pracovních ploch"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:66
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Pracovní plocha %d"
|
msgstr "Pracovní plocha %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:207
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Přidat pracovní plochu"
|
msgstr "Přidat pracovní plochu"
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||||
"PO-Revision-Date: 2022-02-27 13:21+0100\n"
|
"PO-Revision-Date: 2020-09-07 18:36+0200\n"
|
||||||
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
|
"Last-Translator: Alan Mortensen <alanmortensen.am@gmail.com>\n"
|
||||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||||
"Language: da\n"
|
"Language: da\n"
|
||||||
@@ -22,28 +22,19 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Poedit 2.3\n"
|
"X-Generator: Poedit 2.3\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "GNOME Classic"
|
msgstr "GNOME Classic"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Denne session logger dig ind i GNOME Classic"
|
msgstr "Denne session logger dig ind i GNOME Classic"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "GNOME Classic på Wayland"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "GNOME Classic på Xorg"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:112
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Favoritter"
|
msgstr "Favoritter"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:366
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Programmer"
|
msgstr "Programmer"
|
||||||
|
|
||||||
@@ -59,26 +50,26 @@ msgstr ""
|
|||||||
"En liste over strenge, som hver indeholder et program-id "
|
"En liste over strenge, som hver indeholder et program-id "
|
||||||
"(skrivebordsfilnavn), efterfulgt af et kolon og arbejdsområdets nummer"
|
"(skrivebordsfilnavn), efterfulgt af et kolon og arbejdsområdets nummer"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:34
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Regler for arbejdsområde"
|
msgstr "Regler for arbejdsområde"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:236
|
#: extensions/auto-move-windows/prefs.js:243
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Tilføj regel"
|
msgstr "Tilføj regel"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:133
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:233
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Udskubning af drevet “%s” mislykkedes:"
|
msgstr "Udskubning af drevet “%s” mislykkedes:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:149
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Flytbare enheder"
|
msgstr "Flytbare enheder"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:171
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Åbn filer"
|
msgstr "Åbn filer"
|
||||||
|
|
||||||
@@ -112,8 +103,8 @@ msgstr ""
|
|||||||
"Ændring af denne indstilling kræver at shell'en genstartes for at træde i "
|
"Ændring af denne indstilling kræver at shell'en genstartes for at træde i "
|
||||||
"kraft."
|
"kraft."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:88
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:91
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Steder"
|
msgstr "Steder"
|
||||||
|
|
||||||
@@ -156,47 +147,47 @@ msgstr "Temanavn"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Navnet på temaet, som indlæses fra ~/.themes/name/gnome-shell"
|
msgstr "Navnet på temaet, som indlæses fra ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Luk"
|
msgstr "Luk"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Afminimér"
|
msgstr "Afminimér"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimér"
|
msgstr "Minimér"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Afmaksimér"
|
msgstr "Afmaksimér"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maksimér"
|
msgstr "Maksimér"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:434
|
#: extensions/window-list/extension.js:428
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Minimér"
|
msgstr "Minimér"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:440
|
#: extensions/window-list/extension.js:434
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Afminimér alle"
|
msgstr "Afminimér alle"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:446
|
#: extensions/window-list/extension.js:440
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Maksimér alle"
|
msgstr "Maksimér alle"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:454
|
#: extensions/window-list/extension.js:448
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Afmaksimér alle"
|
msgstr "Afmaksimér alle"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:462
|
#: extensions/window-list/extension.js:456
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Luk alle"
|
msgstr "Luk alle"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:734
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Vinduesliste"
|
msgstr "Vinduesliste"
|
||||||
|
|
||||||
@@ -213,7 +204,7 @@ msgstr ""
|
|||||||
"Mulige værdier er “never” (aldrig), “auto” (automatisk) og “always” (altid)."
|
"Mulige værdier er “never” (aldrig), “auto” (automatisk) og “always” (altid)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:86
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Vis vinduer fra alle arbejdsområder"
|
msgstr "Vis vinduer fra alle arbejdsområder"
|
||||||
|
|
||||||
@@ -234,41 +225,41 @@ msgstr ""
|
|||||||
"Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den "
|
"Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den "
|
||||||
"primære."
|
"primære."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:39
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Vinduesgruppering"
|
msgstr "Vinduesgruppering"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:63
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Gruppér aldrig vinduer"
|
msgstr "Gruppér aldrig vinduer"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:64
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Gruppér vinduer når pladsen er begrænset"
|
msgstr "Gruppér vinduer når pladsen er begrænset"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:65
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Gruppér altid vinduer"
|
msgstr "Gruppér altid vinduer"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:81
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Vis på alle skærme"
|
msgstr "Vis på alle skærme"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:249
|
#: extensions/window-list/workspaceIndicator.js:207
|
||||||
#: extensions/workspace-indicator/extension.js:254
|
#: extensions/workspace-indicator/extension.js:213
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Arbejdsområdeindikator"
|
msgstr "Arbejdsområdeindikator"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:33
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Navne på arbejdsområder"
|
msgstr "Navne på arbejdsområder"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:66
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Arbejdsområde %d"
|
msgstr "Arbejdsområde %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:207
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Tilføj arbejdsområde"
|
msgstr "Tilføj arbejdsområde"
|
||||||
|
|
||||||
|
|||||||
@@ -2,51 +2,41 @@
|
|||||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
# Mario Blättermann <mario.blaettermann@gmail.com>, 2011-2013, 2017.
|
# Mario Blättermann <mario.blaettermann@gmail.com>, 2011-2013, 2017.
|
||||||
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2011, 2012, 2022.
|
# Christian Kirbach <Christian.Kirbach@googlemail.com>, 2011, 2012.
|
||||||
# Benjamin Steinwender <b@stbe.at>, 2013.
|
# Benjamin Steinwender <b@stbe.at>, 2013.
|
||||||
# Wolfgang Stöggl <c72578@yahoo.de>, 2014.
|
# Wolfgang Stöggl <c72578@yahoo.de>, 2014.
|
||||||
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2017.
|
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2017.
|
||||||
# Tim Sabsch <tim@sabsch.com>, 2019-2020.
|
# Tim Sabsch <tim@sabsch.com>, 2019-2020.
|
||||||
# Philipp Kiemle <philipp.kiemle@gmail.com>, 2022.
|
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2022-03-07 15:35+0000\n"
|
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||||
"PO-Revision-Date: 2022-03-10 22:26+0100\n"
|
"PO-Revision-Date: 2020-09-08 20:20+0200\n"
|
||||||
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
|
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
|
||||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Poedit 3.0.1\n"
|
"X-Generator: Poedit 2.4.1\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "GNOME Classic"
|
msgstr "GNOME Classic"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Diese Sitzung meldet Sie in GNOME Classic an"
|
msgstr "Diese Sitzung meldet Sie in GNOME Classic an"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "GNOME Classic unter Wayland"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "GNOME Classic unter Xorg"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:118
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Favoriten"
|
msgstr "Favoriten"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:379
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Anwendungen"
|
msgstr "Anwendungen"
|
||||||
|
|
||||||
@@ -63,26 +53,26 @@ msgstr ""
|
|||||||
"Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der "
|
"Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der "
|
||||||
"Arbeitsfläche"
|
"Arbeitsfläche"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:152
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Arbeitsfläche-Regeln"
|
msgstr "Arbeitsfläche-Regeln"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:306
|
#: extensions/auto-move-windows/prefs.js:243
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Regel hinzufügen"
|
msgstr "Regel hinzufügen"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:126
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:210
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
|
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:145
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Wechseldatenträger"
|
msgstr "Wechseldatenträger"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:167
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Dateien öffnen"
|
msgstr "Dateien öffnen"
|
||||||
|
|
||||||
@@ -116,31 +106,31 @@ msgstr ""
|
|||||||
"Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. "
|
"Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. "
|
||||||
"Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
|
"Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:94
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:97
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Orte"
|
msgstr "Orte"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:49
|
#: extensions/places-menu/placeDisplay.js:46
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "Starten von »%s« fehlgeschlagen"
|
msgstr "Starten von »%s« fehlgeschlagen"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:64
|
#: extensions/places-menu/placeDisplay.js:61
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to mount volume for “%s”"
|
msgid "Failed to mount volume for “%s”"
|
||||||
msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
|
msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:125
|
|
||||||
#: extensions/places-menu/placeDisplay.js:148
|
#: extensions/places-menu/placeDisplay.js:148
|
||||||
|
#: extensions/places-menu/placeDisplay.js:171
|
||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "Rechner"
|
msgstr "Rechner"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:336
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Persönlicher Ordner"
|
msgstr "Persönlicher Ordner"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:381
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "Netzwerk durchsuchen"
|
msgstr "Netzwerk durchsuchen"
|
||||||
|
|
||||||
@@ -162,47 +152,47 @@ msgstr ""
|
|||||||
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
|
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
|
||||||
"soll"
|
"soll"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Schließen"
|
msgstr "Schließen"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Minimieren rückgängig"
|
msgstr "Minimieren rückgängig"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimieren"
|
msgstr "Minimieren"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Maximieren rückgängig"
|
msgstr "Maximieren rückgängig"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximieren"
|
msgstr "Maximieren"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:441
|
#: extensions/window-list/extension.js:428
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Alle minimieren"
|
msgstr "Alle minimieren"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:447
|
#: extensions/window-list/extension.js:434
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Alle minimieren rückgängig"
|
msgstr "Alle minimieren rückgängig"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:453
|
#: extensions/window-list/extension.js:440
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Alle maximieren"
|
msgstr "Alle maximieren"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:461
|
#: extensions/window-list/extension.js:448
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Alle maximieren rückgängig"
|
msgstr "Alle maximieren rückgängig"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:469
|
#: extensions/window-list/extension.js:456
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Alle schließen"
|
msgstr "Alle schließen"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:753
|
#: extensions/window-list/extension.js:734
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Fensterliste"
|
msgstr "Fensterliste"
|
||||||
|
|
||||||
@@ -220,7 +210,7 @@ msgstr ""
|
|||||||
"»always« (immer)."
|
"»always« (immer)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:79
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Fenster von allen Arbeitsflächen anzeigen"
|
msgstr "Fenster von allen Arbeitsflächen anzeigen"
|
||||||
|
|
||||||
@@ -242,41 +232,41 @@ msgstr ""
|
|||||||
"Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen "
|
"Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen "
|
||||||
"angezeigt wird oder nur auf dem Primären."
|
"angezeigt wird oder nur auf dem Primären."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:35
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Fenstergruppierung"
|
msgstr "Fenstergruppierung"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:40
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Fenster niemals gruppieren"
|
msgstr "Fenster niemals gruppieren"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:41
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Fenster bei Platzmangel gruppieren"
|
msgstr "Fenster bei Platzmangel gruppieren"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:42
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Fenster immer gruppieren"
|
msgstr "Fenster immer gruppieren"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:66
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Auf allen Bildschirmen anzeigen"
|
msgstr "Auf allen Bildschirmen anzeigen"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:261
|
#: extensions/window-list/workspaceIndicator.js:207
|
||||||
#: extensions/workspace-indicator/extension.js:266
|
#: extensions/workspace-indicator/extension.js:213
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Arbeitsflächenindikator"
|
msgstr "Arbeitsflächenindikator"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:62
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
|
msgid "Workspace Names"
|
||||||
|
msgstr "Namen der Arbeitsflächen"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Arbeitsfläche %d"
|
msgstr "Arbeitsfläche %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:129
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
msgid "Workspace Names"
|
|
||||||
msgstr "Namen der Arbeitsflächen"
|
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:255
|
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Arbeitsfläche hinzufügen"
|
msgstr "Arbeitsfläche hinzufügen"
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell-extensions\n"
|
"Project-Id-Version: gnome-shell-extensions\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
"POT-Creation-Date: 2020-10-17 20:14+0000\n"
|
||||||
"PO-Revision-Date: 2022-02-27 18:54+0200\n"
|
"PO-Revision-Date: 2021-03-15 21:32+0200\n"
|
||||||
"Last-Translator: JR-Fi <starman@starman.fi>\n"
|
"Last-Translator: JR-Fi <starman@starman.fi>\n"
|
||||||
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
|
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
@@ -21,7 +21,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Poedit 3.0.1\n"
|
"X-Generator: Poedit 2.0.6\n"
|
||||||
"X-Project-Style: gnome\n"
|
"X-Project-Style: gnome\n"
|
||||||
"X-POT-Import-Date: 2012-03-05 15:06:12+0000\n"
|
"X-POT-Import-Date: 2012-03-05 15:06:12+0000\n"
|
||||||
|
|
||||||
@@ -29,24 +29,15 @@ msgstr ""
|
|||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "Perinteinen Gnome"
|
msgstr "Perinteinen Gnome"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen"
|
msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "Perinteinen Gnome Waylandia käyttäen"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "Perinteinen Gnome Xorgia käyttäen"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:112
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Suosikit"
|
msgstr "Suosikit"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:366
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Sovellukset"
|
msgstr "Sovellukset"
|
||||||
|
|
||||||
@@ -62,26 +53,26 @@ msgstr ""
|
|||||||
"Lista merkkijonoja, jossa jokainen on ohjelman tunnus (työpöydän "
|
"Lista merkkijonoja, jossa jokainen on ohjelman tunnus (työpöydän "
|
||||||
"tiedostonimi), jota seuraa kaksoispiste ja työtilan numero"
|
"tiedostonimi), jota seuraa kaksoispiste ja työtilan numero"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:34
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Työtilojen säännöt"
|
msgstr "Työtilojen säännöt"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:236
|
#: extensions/auto-move-windows/prefs.js:243
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Lisää sääntö"
|
msgstr "Lisää sääntö"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:133
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:233
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Aseman “%s” irrottaminen epäonnistui:"
|
msgstr "Aseman “%s” irrottaminen epäonnistui:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:149
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Erilliset tallennusvälineet"
|
msgstr "Erilliset tallennusvälineet"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:171
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Avaa tiedostonhallinta"
|
msgstr "Avaa tiedostonhallinta"
|
||||||
|
|
||||||
@@ -113,8 +104,8 @@ msgstr ""
|
|||||||
"Tämä syrjäyttää oletusasetuksen, eli otsikkotekstin asettamisen pienoiskuvan "
|
"Tämä syrjäyttää oletusasetuksen, eli otsikkotekstin asettamisen pienoiskuvan "
|
||||||
"alle. Tämän asetuksen muutos vaatii Gnomen uudelleenkäynnistyksen."
|
"alle. Tämän asetuksen muutos vaatii Gnomen uudelleenkäynnistyksen."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:88
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:91
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Sijainnit"
|
msgstr "Sijainnit"
|
||||||
|
|
||||||
@@ -158,47 +149,47 @@ msgstr "Teeman nimi"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Teeman nimi, ladataan sijainnista ~/.themes/name/gnome-shell"
|
msgstr "Teeman nimi, ladataan sijainnista ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Sulje"
|
msgstr "Sulje"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Palauta pienennys"
|
msgstr "Palauta pienennys"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Pienennä"
|
msgstr "Pienennä"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Palauta suurennus"
|
msgstr "Palauta suurennus"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Suurenna"
|
msgstr "Suurenna"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:434
|
#: extensions/window-list/extension.js:432
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Pienennä kaikki"
|
msgstr "Pienennä kaikki"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:440
|
#: extensions/window-list/extension.js:438
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Palauta kaikkien koko"
|
msgstr "Palauta kaikkien koko"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:446
|
#: extensions/window-list/extension.js:444
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Suurenna kaikki"
|
msgstr "Suurenna kaikki"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:454
|
#: extensions/window-list/extension.js:452
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Palauta kaikkien koko"
|
msgstr "Palauta kaikkien koko"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:462
|
#: extensions/window-list/extension.js:460
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Sulje kaikki"
|
msgstr "Sulje kaikki"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:738
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Ikkunaluettelo"
|
msgstr "Ikkunaluettelo"
|
||||||
|
|
||||||
@@ -215,7 +206,7 @@ msgstr ""
|
|||||||
"Mahdolliset arvot ovat “never”, “auto” ja “always”."
|
"Mahdolliset arvot ovat “never”, “auto” ja “always”."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:86
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Näytä ikkunat kaikista työtiloista"
|
msgstr "Näytä ikkunat kaikista työtiloista"
|
||||||
|
|
||||||
@@ -237,41 +228,41 @@ msgstr ""
|
|||||||
"Näytetäänkö ikkunaluettelo kaikilla liitetyillä näytöillä vai ainoastaan "
|
"Näytetäänkö ikkunaluettelo kaikilla liitetyillä näytöillä vai ainoastaan "
|
||||||
"ensisijaisella näytöllä."
|
"ensisijaisella näytöllä."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:39
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Ikkunoiden ryhmitys"
|
msgstr "Ikkunoiden ryhmitys"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:63
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Älä ryhmitä ikkunoita koskaan"
|
msgstr "Älä ryhmitä ikkunoita koskaan"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:64
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Ryhmitä ikkunat tilan ollessa rajallinen"
|
msgstr "Ryhmitä ikkunat tilan ollessa rajallinen"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:65
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Ryhmitä ikkunat aina"
|
msgstr "Ryhmitä ikkunat aina"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:81
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Näytä kaikilla näytöillä"
|
msgstr "Näytä kaikilla näytöillä"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:249
|
#: extensions/window-list/workspaceIndicator.js:207
|
||||||
#: extensions/workspace-indicator/extension.js:254
|
#: extensions/workspace-indicator/extension.js:213
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Työtilan ilmaisin"
|
msgstr "Työtilan ilmaisin"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:33
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Työtilojen nimet"
|
msgstr "Työtilojen nimet"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:66
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Työtila %d"
|
msgstr "Työtila %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:207
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Lisää työtila"
|
msgstr "Lisää työtila"
|
||||||
|
|
||||||
|
|||||||
@@ -3,48 +3,36 @@
|
|||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
# Claude Paroz <claude@2xlibre.net>, 2011.
|
# Claude Paroz <claude@2xlibre.net>, 2011.
|
||||||
# Alain Lojewski <allomervan@gmail.com>, 2012-2013.
|
# Alain Lojewski <allomervan@gmail.com>, 2012-2013.
|
||||||
# Charles Monzat <charles.monzat@free.fr>, 2018-2022.
|
# Charles Monzat <charles.monzat@numericable.fr>, 2018.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||||
"PO-Revision-Date: 2022-03-01 21:04+0100\n"
|
"PO-Revision-Date: 2020-08-10 12:50+0200\n"
|
||||||
"Last-Translator: Charles Monzat <charles.monzat@free.fr>\n"
|
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
|
||||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
"X-Generator: Gtranslator 40.0\n"
|
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "GNOME Classique"
|
msgstr "GNOME Classique"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Cette session vous connecte à GNOME Classique"
|
msgstr "Cette session vous connecte à GNOME Classique"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
#| msgid "GNOME Classic"
|
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "GNOME Classique sur Wayland"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
#| msgid "GNOME Classic"
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "GNOME Classique sur Xorg"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:112
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Favoris"
|
msgstr "Favoris"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:366
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Applications"
|
msgstr "Applications"
|
||||||
|
|
||||||
@@ -61,26 +49,26 @@ msgstr ""
|
|||||||
"d’application (nom de fichier desktop), suivi par un deux-points et le "
|
"d’application (nom de fichier desktop), suivi par un deux-points et le "
|
||||||
"numéro de l’espace de travail"
|
"numéro de l’espace de travail"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:34
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Règles des espaces de travail"
|
msgstr "Règles des espaces de travail"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:236
|
#: extensions/auto-move-windows/prefs.js:243
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Ajouter une règle"
|
msgstr "Ajouter une règle"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:133
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:233
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "L’éjection du disque « %s » a échoué :"
|
msgstr "L’éjection du disque « %s » a échoué :"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:149
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Périphériques amovibles"
|
msgstr "Périphériques amovibles"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:171
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Ouvrir Fichiers"
|
msgstr "Ouvrir Fichiers"
|
||||||
|
|
||||||
@@ -114,8 +102,8 @@ msgstr ""
|
|||||||
"dessous. Pour que ce paramètre soit pris en compte, il faut redémarrer le "
|
"dessous. Pour que ce paramètre soit pris en compte, il faut redémarrer le "
|
||||||
"Shell."
|
"Shell."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:88
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:91
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Emplacements"
|
msgstr "Emplacements"
|
||||||
|
|
||||||
@@ -158,47 +146,47 @@ msgstr "Nom du thème"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Le nom du thème, à charger à partir de ~/.themes/name/gnome-shell"
|
msgstr "Le nom du thème, à charger à partir de ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Fermer"
|
msgstr "Fermer"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Restaurer"
|
msgstr "Restaurer"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Réduire"
|
msgstr "Réduire"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Restaurer"
|
msgstr "Restaurer"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximiser"
|
msgstr "Maximiser"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:434
|
#: extensions/window-list/extension.js:428
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Tout réduire"
|
msgstr "Tout réduire"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:440
|
#: extensions/window-list/extension.js:434
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Tout restaurer"
|
msgstr "Tout restaurer"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:446
|
#: extensions/window-list/extension.js:440
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Tout maximiser"
|
msgstr "Tout maximiser"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:454
|
#: extensions/window-list/extension.js:448
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Tout restaurer"
|
msgstr "Tout restaurer"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:462
|
#: extensions/window-list/extension.js:456
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Tout fermer"
|
msgstr "Tout fermer"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:734
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Liste de fenêtres"
|
msgstr "Liste de fenêtres"
|
||||||
|
|
||||||
@@ -216,7 +204,7 @@ msgstr ""
|
|||||||
"« always » (toujours)."
|
"« always » (toujours)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:86
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Afficher les fenêtres de tous les espaces de travail"
|
msgstr "Afficher les fenêtres de tous les espaces de travail"
|
||||||
|
|
||||||
@@ -238,41 +226,41 @@ msgstr ""
|
|||||||
"Indique s’il faut afficher la liste des fenêtres sur tous les écrans "
|
"Indique s’il faut afficher la liste des fenêtres sur tous les écrans "
|
||||||
"connectés ou seulement l’écran principal."
|
"connectés ou seulement l’écran principal."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:39
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Regroupement de fenêtres"
|
msgstr "Regroupement de fenêtres"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:63
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Ne jamais regrouper les fenêtres"
|
msgstr "Ne jamais regrouper les fenêtres"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:64
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Regrouper les fenêtres quand l’espace est limité"
|
msgstr "Regrouper les fenêtres quand l’espace est limité"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:65
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Toujours regrouper les fenêtres"
|
msgstr "Toujours regrouper les fenêtres"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:81
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Afficher sur tous les écrans"
|
msgstr "Afficher sur tous les écrans"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:249
|
#: extensions/window-list/workspaceIndicator.js:207
|
||||||
#: extensions/workspace-indicator/extension.js:254
|
#: extensions/workspace-indicator/extension.js:213
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Indicateur d’espace de travail"
|
msgstr "Indicateur d’espace de travail"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:33
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Noms des espaces de travail"
|
msgstr "Noms des espaces de travail"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:66
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Espace de travail %d"
|
msgstr "Espace de travail %d"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:207
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Ajouter un espace de travail"
|
msgstr "Ajouter un espace de travail"
|
||||||
|
|
||||||
|
|||||||
@@ -1,50 +1,39 @@
|
|||||||
# Hungarian translation for gnome-shell-extensions.
|
# Hungarian translation for gnome-shell-extensions.
|
||||||
# Copyright (C) 2011, 2012, 2013, 2014, 2017, 2019, 2022 Free Software Foundation, Inc.
|
# Copyright (C) 2011, 2012, 2013, 2014, 2017, 2019 Free Software Foundation, Inc.
|
||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
#
|
#
|
||||||
# Biró Balázs <arch.scar at gmail dot com>, 2011.
|
# Biró Balázs <arch.scar at gmail dot com>, 2011.
|
||||||
# Gabor Kelemen <kelemeng at gnome dot hu>, 2011, 2012, 2013.
|
# Gabor Kelemen <kelemeng at gnome dot hu>, 2011, 2012, 2013.
|
||||||
# Balázs Úr <ur.balazs at fsf dot hu>, 2013, 2014, 2017, 2019, 2022.
|
# Balázs Úr <ur.balazs at fsf dot hu>, 2013, 2014, 2017, 2019.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"sues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2021-11-06 14:08+0000\n"
|
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||||
"PO-Revision-Date: 2022-03-11 01:38+0100\n"
|
"PO-Revision-Date: 2020-09-05 18:08+0200\n"
|
||||||
"Last-Translator: Balázs Úr <ur.balazs at fsf dot hu>\n"
|
"Last-Translator: Meskó Balázs <mesko.balazs@fsf.hu>\n"
|
||||||
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
|
"Language-Team: Hungarian <gnome-hu-list at gnome dot org>\n"
|
||||||
"Language: hu\n"
|
"Language: hu\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Lokalize 19.12.3\n"
|
"X-Generator: Poedit 2.4.1\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "Klasszikus GNOME"
|
msgstr "Klasszikus GNOME"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
|
#: data/gnome-classic.desktop.in:4
|
||||||
#: data/gnome-classic-xorg.desktop.in:4
|
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Bejelentkezés a klasszikus GNOME környezetbe"
|
msgstr "Bejelentkezés a klasszikus GNOME környezetbe"
|
||||||
|
|
||||||
#: data/gnome-classic-wayland.desktop.in:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
#| msgid "GNOME Classic"
|
|
||||||
msgid "GNOME Classic on Wayland"
|
|
||||||
msgstr "Klasszikus GNOME Waylanden"
|
|
||||||
|
|
||||||
#: data/gnome-classic-xorg.desktop.in:3
|
|
||||||
#| msgid "GNOME Classic"
|
|
||||||
msgid "GNOME Classic on Xorg"
|
|
||||||
msgstr "Klasszikus GNOME Xorgon"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:112
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Kedvencek"
|
msgstr "Kedvencek"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:366
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Alkalmazások"
|
msgstr "Alkalmazások"
|
||||||
|
|
||||||
@@ -60,26 +49,26 @@ msgstr ""
|
|||||||
"Alkalmazásazonosítókat (.desktop fájl neve), majd kettősponttal elválasztva "
|
"Alkalmazásazonosítókat (.desktop fájl neve), majd kettősponttal elválasztva "
|
||||||
"a munkaterület számát tartalmazó karakterláncok sorozata"
|
"a munkaterület számát tartalmazó karakterláncok sorozata"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:34
|
#: extensions/auto-move-windows/prefs.js:35
|
||||||
msgid "Workspace Rules"
|
msgid "Workspace Rules"
|
||||||
msgstr "Munkaterület szabályok"
|
msgstr "Munkaterület szabályok"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:236
|
#: extensions/auto-move-windows/prefs.js:243
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Szabály hozzáadása"
|
msgstr "Szabály hozzáadása"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:133
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:233
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "A(z) „%s” meghajtó kiadása nem sikerült:"
|
msgstr "A(z) „%s” meghajtó kiadása nem sikerült:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:149
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Cserélhető eszközök"
|
msgstr "Cserélhető eszközök"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:171
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Fájlok megnyitása"
|
msgstr "Fájlok megnyitása"
|
||||||
|
|
||||||
@@ -112,8 +101,8 @@ msgstr ""
|
|||||||
"tetejére helyezi el, az alapértelmezett alja helyett. Ezen beállítás "
|
"tetejére helyezi el, az alapértelmezett alja helyett. Ezen beállítás "
|
||||||
"módosítása a Shell újraindítását igényli."
|
"módosítása a Shell újraindítását igényli."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:88
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:91
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Helyek"
|
msgstr "Helyek"
|
||||||
|
|
||||||
@@ -156,47 +145,47 @@ msgstr "Témanév"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve"
|
msgstr "A ~/.themes/név/gnome-shell alól betöltendő téma neve"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:72
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Bezárás"
|
msgstr "Bezárás"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Minimalizálás megszüntetése"
|
msgstr "Minimalizálás megszüntetése"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:92
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimalizálás"
|
msgstr "Minimalizálás"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Maximalizálás megszüntetése"
|
msgstr "Maximalizálás megszüntetése"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximalizálás"
|
msgstr "Maximalizálás"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:434
|
#: extensions/window-list/extension.js:428
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Minden minimalizálása"
|
msgstr "Minden minimalizálása"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:440
|
#: extensions/window-list/extension.js:434
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Minden minimalizálásának megszüntetése"
|
msgstr "Minden minimalizálásának megszüntetése"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:446
|
#: extensions/window-list/extension.js:440
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Minden maximalizálása"
|
msgstr "Minden maximalizálása"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:454
|
#: extensions/window-list/extension.js:448
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Minden maximalizálásának megszüntetése"
|
msgstr "Minden maximalizálásának megszüntetése"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:462
|
#: extensions/window-list/extension.js:456
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Minden bezárása"
|
msgstr "Minden bezárása"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:734
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Ablaklista"
|
msgstr "Ablaklista"
|
||||||
|
|
||||||
@@ -214,7 +203,7 @@ msgstr ""
|
|||||||
"„always” (mindig)."
|
"„always” (mindig)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:86
|
#: extensions/window-list/prefs.js:100
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Ablakok megjelenítése az összes munkaterületről"
|
msgstr "Ablakok megjelenítése az összes munkaterületről"
|
||||||
|
|
||||||
@@ -236,40 +225,52 @@ msgstr ""
|
|||||||
"Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az "
|
"Megjelenjen-e az ablaklista minden csatlakoztatott monitoron vagy csak az "
|
||||||
"elsődlegesen."
|
"elsődlegesen."
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:39
|
#: extensions/window-list/prefs.js:29
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Ablakcsoportosítás"
|
msgstr "Ablakcsoportosítás"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:63
|
#: extensions/window-list/prefs.js:58
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "Soha ne csoportosítsa az ablakokat"
|
msgstr "Soha ne csoportosítsa az ablakokat"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:64
|
#: extensions/window-list/prefs.js:59
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Ablakok csoportosítása, ha kevés a hely"
|
msgstr "Ablakok csoportosítása, ha kevés a hely"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:65
|
#: extensions/window-list/prefs.js:60
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Mindig csoportosítsa az ablakokat"
|
msgstr "Mindig csoportosítsa az ablakokat"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:81
|
#: extensions/window-list/prefs.js:94
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Megjelenítés minden monitoron"
|
msgstr "Megjelenítés minden monitoron"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:249
|
#: extensions/window-list/workspaceIndicator.js:207
|
||||||
#: extensions/workspace-indicator/extension.js:254
|
#: extensions/workspace-indicator/extension.js:213
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Munkaterület indikátor"
|
msgstr "Munkaterület indikátor"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:33
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Munkaterületnevek"
|
msgstr "Munkaterületnevek"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:66
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "%d. munkaterület"
|
msgstr "%d. munkaterület"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:207
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
msgid "Add Workspace"
|
msgid "Add Workspace"
|
||||||
msgstr "Munkaterület hozzáadása"
|
msgstr "Munkaterület hozzáadása"
|
||||||
|
|
||||||
|
#~ msgid "Application"
|
||||||
|
#~ msgstr "Alkalmazás"
|
||||||
|
|
||||||
|
#~ msgid "Create new matching rule"
|
||||||
|
#~ msgstr "Új illesztési szabály létrehozása"
|
||||||
|
|
||||||
|
#~ msgid "Add"
|
||||||
|
#~ msgstr "Hozzáadás"
|
||||||
|
|
||||||
|
#~ msgid "Name"
|
||||||
|
#~ msgstr "Név"
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user