Compare commits
217 Commits
3.33.90
...
upstream/3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8b9be8f120 | ||
|
|
75919911f5 | ||
|
|
bf1f129854 | ||
|
|
59bcc0a6a7 | ||
|
|
61a54add2e | ||
|
|
17d07239c1 | ||
|
|
bf8a31a6c8 | ||
|
|
1d2fdf5c19 | ||
|
|
f6ada58f5f | ||
|
|
ebfbc397be | ||
|
|
02290e8bba | ||
|
|
1537ac39d4 | ||
|
|
e39c3b4561 | ||
|
|
80030687d9 | ||
|
|
3859c09318 | ||
|
|
a41cd3c19a | ||
|
|
fcbdeba8c5 | ||
|
|
116f074e3b | ||
|
|
9a78c7e4f4 | ||
|
|
9a2d6d68ff | ||
|
|
bc49778100 | ||
|
|
67d2e2f623 | ||
|
|
eff625fcb8 | ||
|
|
3742f79d4b | ||
|
|
b6a3503f5e | ||
|
|
f449ab31c9 | ||
|
|
920b925b12 | ||
|
|
ad5e70b03b | ||
|
|
7beebc11f6 | ||
|
|
1391acd71f | ||
|
|
761fdf1036 | ||
|
|
7f2c39cdb2 | ||
|
|
b5ff860118 | ||
|
|
aeaba3f379 | ||
|
|
f96943a4dc | ||
|
|
60ad2e37ff | ||
|
|
8c53fd9590 | ||
|
|
867ace0b0a | ||
|
|
a74862e745 | ||
|
|
c16f9828bd | ||
|
|
608a8b1639 | ||
|
|
7bc9b282a2 | ||
|
|
9db7b96f24 | ||
|
|
c87cfc822a | ||
|
|
d3b687df8b | ||
|
|
ff94c5a143 | ||
|
|
df463177e7 | ||
|
|
62af36ebfa | ||
|
|
81f999f761 | ||
|
|
17b5c0400a | ||
|
|
ac937b9549 | ||
|
|
0c223de045 | ||
|
|
564235d44c | ||
|
|
92a2361306 | ||
|
|
9f27654729 | ||
|
|
f4013c7a5c | ||
|
|
9e7eff4a3e | ||
|
|
c5246b7415 | ||
|
|
5b2bdd138a | ||
|
|
90d3c5c51d | ||
|
|
b00e531626 | ||
|
|
b1c1b01184 | ||
|
|
739b1e11a0 | ||
|
|
a3541ff0d9 | ||
|
|
8fb5476a1c | ||
|
|
fc8a46f15a | ||
|
|
2e21f7cf72 | ||
|
|
a317d79016 | ||
|
|
4722b89cc3 | ||
|
|
5a4b71ba90 | ||
|
|
a6ee142f21 | ||
|
|
35427ed4f1 | ||
|
|
bce63d3168 | ||
|
|
0426d1d8d5 | ||
|
|
d39c1fd685 | ||
|
|
665a7fbbcb | ||
|
|
f9aaa732b2 | ||
|
|
7b82c5e12b | ||
|
|
a4987d03b8 | ||
|
|
db305687d5 | ||
|
|
c477f10bfb | ||
|
|
f527fe3774 | ||
|
|
2ae0f368b9 | ||
|
|
3428bebb67 | ||
|
|
ac33058086 | ||
|
|
73822dc5f5 | ||
|
|
961757f717 | ||
|
|
7d5c985004 | ||
|
|
cd16995503 | ||
|
|
3a3b5bac85 | ||
|
|
9f6b83eece | ||
|
|
c7a08aaf74 | ||
|
|
4456b440d8 | ||
|
|
f61e2f5f5c | ||
|
|
a8eecac0ff | ||
|
|
9a6b4da33c | ||
|
|
cb53d0b85c | ||
|
|
318b9b18af | ||
|
|
cdf970d4b6 | ||
|
|
1ee3803265 | ||
|
|
b25c4d07a7 | ||
|
|
330e7b312d | ||
|
|
01f921541f | ||
|
|
cc52f4a260 | ||
|
|
eb71474c95 | ||
|
|
69681cdc9a | ||
|
|
c958e2d0fd | ||
|
|
9c964eaf1b | ||
|
|
0500480d75 | ||
|
|
37a09b7be1 | ||
|
|
d8c734124d | ||
|
|
25b6b562d9 | ||
|
|
f2315d28f9 | ||
|
|
9b93931de6 | ||
|
|
47a2fd36e1 | ||
|
|
8c1d6d88cf | ||
|
|
be19802f78 | ||
|
|
33b16681c6 | ||
|
|
35746251fd | ||
|
|
3c51716268 | ||
|
|
e5421b6cc6 | ||
|
|
a2b014ccbf | ||
|
|
f1e7ae1010 | ||
|
|
10fe907c83 | ||
|
|
95131dc252 | ||
|
|
f3acb27d61 | ||
|
|
a904d51cf7 | ||
|
|
30ad3d670f | ||
|
|
63615cb657 | ||
|
|
ae9809caba | ||
|
|
c95d197c5c | ||
|
|
a894897770 | ||
|
|
1b2c0a4b6c | ||
|
|
8e8b0392a2 | ||
|
|
aea57f0305 | ||
|
|
6462af30ee | ||
|
|
8d658f7e0d | ||
|
|
05bcd981cd | ||
|
|
ecf608ead8 | ||
|
|
ae8749b7e1 | ||
|
|
4ad50ab035 | ||
|
|
934d17db4b | ||
|
|
b25e9541ce | ||
|
|
84a548c0b9 | ||
|
|
3204fd7842 | ||
|
|
808f75e998 | ||
|
|
56ecc684cc | ||
|
|
67ceca8f70 | ||
|
|
953445d6cf | ||
|
|
cb834f9fa1 | ||
|
|
ca2cd844b2 | ||
|
|
98b3da41e8 | ||
|
|
c00c749c0b | ||
|
|
e11c90365b | ||
|
|
c812fdc134 | ||
|
|
9299db49fb | ||
|
|
3a15dffe76 | ||
|
|
3df4e5fdbb | ||
|
|
c0a5d0d091 | ||
|
|
d36a196540 | ||
|
|
9077687c0a | ||
|
|
fcbfaec53e | ||
|
|
7c170e7e90 | ||
|
|
ed7a292805 | ||
|
|
eb79f5b512 | ||
|
|
eceff51ba1 | ||
|
|
63c07bdc73 | ||
|
|
fdc3dda484 | ||
|
|
fca516e58a | ||
|
|
c14f7f6fb8 | ||
|
|
2497dc6d31 | ||
|
|
a1f38d818d | ||
|
|
9646149f9a | ||
|
|
b6d02f8e1f | ||
|
|
5f96b3c11c | ||
|
|
e217f23767 | ||
|
|
579a290bae | ||
|
|
2dc4325a90 | ||
|
|
376502e952 | ||
|
|
91c9982d7f | ||
|
|
c721121a2d | ||
|
|
4007b61cf2 | ||
|
|
2655419880 | ||
|
|
9f1b52c852 | ||
|
|
d375cac32e | ||
|
|
66e2b32c8f | ||
|
|
95dd651b29 | ||
|
|
1534e50a15 | ||
|
|
23781abead | ||
|
|
8065d38fdd | ||
|
|
05faa0763b | ||
|
|
e88cd44b3c | ||
|
|
85fa282153 | ||
|
|
119da3291b | ||
|
|
f047cb0baf | ||
|
|
6675d1c55d | ||
|
|
be1a22069a | ||
|
|
2b9162b79d | ||
|
|
6aab09bd06 | ||
|
|
28494941e1 | ||
|
|
b70059ac4d | ||
|
|
eb567c1120 | ||
|
|
b1eb9b9080 | ||
|
|
a0b6535210 | ||
|
|
9a9b3afa31 | ||
|
|
59bc054ef6 | ||
|
|
57e9dfe722 | ||
|
|
f17a519c38 | ||
|
|
8223ca9739 | ||
|
|
fe20c27b60 | ||
|
|
5ba59d1096 | ||
|
|
0ad1e9bbc1 | ||
|
|
5ea14f063f | ||
|
|
3cc3d03f0b | ||
|
|
057e5bb0c1 | ||
|
|
07fc66765d | ||
|
|
daa7b9b6ab |
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"extends": [
|
||||
"./lint/eslintrc-gjs.json",
|
||||
"./lint/eslintrc-shell.json"
|
||||
]
|
||||
}
|
||||
3
.eslintrc.yml
Normal file
3
.eslintrc.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
extends:
|
||||
- ./lint/eslintrc-gjs.yml
|
||||
- ./lint/eslintrc-shell.yml
|
||||
29
.gitignore
vendored
29
.gitignore
vendored
@@ -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
|
||||
@@ -1,40 +0,0 @@
|
||||
stages:
|
||||
- commit_check
|
||||
- source_check
|
||||
- build
|
||||
|
||||
variables:
|
||||
LINT_LOG: "eslint-report.txt"
|
||||
|
||||
.only_default: &only_default
|
||||
only:
|
||||
- branches
|
||||
- tags
|
||||
- merge_requests
|
||||
|
||||
check_commit_log:
|
||||
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
|
||||
stage: commit_check
|
||||
script:
|
||||
- ./.gitlab-ci/check-commit-log.sh
|
||||
only:
|
||||
- merge_requests
|
||||
|
||||
eslint:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: source_check
|
||||
script:
|
||||
- eslint -o $LINT_LOG --no-color || { cat $LINT_LOG; false; }
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- ${LINT_LOG}
|
||||
when: on_failure
|
||||
|
||||
build-shell-extensions:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: build
|
||||
script:
|
||||
- meson _build .
|
||||
- ninja -C _build test install
|
||||
<<: *only_default
|
||||
@@ -1,31 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||
echo Cannot review non-merge request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||
|
||||
commits=$(git log --format='format:%H' $branch_point..$CI_COMMIT_SHA)
|
||||
|
||||
if [ -z "$commits" ]; then
|
||||
echo Commit range empty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function commit_message_has_url() {
|
||||
commit=$1
|
||||
commit_message=$(git show -s --format='format:%b' $commit)
|
||||
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
|
||||
return $?
|
||||
}
|
||||
|
||||
for commit in $commits; do
|
||||
if ! commit_message_has_url $commit; then
|
||||
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +0,0 @@
|
||||
[submodule "data/gnome-shell-sass"]
|
||||
path = data/gnome-shell-sass
|
||||
url = https://gitlab.gnome.org/GNOME/gnome-shell-sass.git
|
||||
144
NEWS
144
NEWS
@@ -1,3 +1,147 @@
|
||||
3.37.91
|
||||
=======
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl], Akarshan Biswas [bn_IN], Kukuh Syafaat [id],
|
||||
Piotr Drąg [pl], Rafael Fontenelle [pt_BR], Jiri Grönroos [fi],
|
||||
Марко Костић [sr], Goran Vidović [hr]
|
||||
|
||||
3.37.90
|
||||
=======
|
||||
* Misc. bug fixes and cleanups [Florian, Piotr; !126, !128]
|
||||
|
||||
Contributors:
|
||||
Piotr Drąg, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Efstathios Iosifidis [el], Anders Jonsson [sv],
|
||||
Asier Sarasua Garmendia [eu], Alexandre Franke [fr]
|
||||
|
||||
3.37.3
|
||||
======
|
||||
* window-list, native-window-placement: Adjust to shell changes [Florian; !124]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Jordi Mas [ca], sicklylife [ja], Boyuan Yang [zh_CN],
|
||||
Baurzhan Muftakhidinov [kk]
|
||||
|
||||
3.37.2
|
||||
======
|
||||
* window-list, auto-move: Modernize preference dialogs [Florian; !121]
|
||||
* Adjust to gnome-shell changes [Florian; !122]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Cheng-Chia Tseng [zh_TW], Yuri Chornoivan [uk], Daniel Mustieles [es],
|
||||
Emin Tufan Çetin [tr], Danial Behzadi [fa], Daniel Șerbănescu [ro],
|
||||
Matej Urbančič [sl]
|
||||
|
||||
3.37.1
|
||||
======
|
||||
* drive-menu: Emphasize eject buttons [Florian; #223]
|
||||
* user-theme: Add preference dialog [Florian; !117]
|
||||
* window-list: Fix inconsistent state in preference dialog [Milan; !119]
|
||||
* workspace-indicator: Overhaul preference dialog [Florian; !120]
|
||||
* user-theme: Support session mode styles [Florian; !118]
|
||||
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106, !114, !116]
|
||||
|
||||
Contributors:
|
||||
Milan Crha, Florian Müllner, Xiaoguang Wang
|
||||
|
||||
Translators:
|
||||
Daniel Korostil [uk], Yosef Or Boczko [he], Kristjan SCHMIDT [eo],
|
||||
Dz Chen [zh_CN], Danial Behzadi [fa], Yuri Chornoivan [uk],
|
||||
Anders Jonsson [sv], Daniel Mustieles [es]
|
||||
|
||||
3.36.0
|
||||
======
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
3.35.91
|
||||
=======
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Zander Brown [en_GB]
|
||||
|
||||
3.35.90
|
||||
=======
|
||||
* Adjust to gnome-shell changes [Florian; !100, !101, !102]
|
||||
* Force single-line window titles in window list [Florian; #202]
|
||||
* Misc. bug fixes and cleanup [Florian; !104, !105]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
sicklylife [ja], Umarzuki Bin Mochlis Moktar [ms]
|
||||
|
||||
3.35.3
|
||||
======
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl]
|
||||
|
||||
3.35.2
|
||||
======
|
||||
* Adjust to gnome-shell changes [Marco, Florian; !89, !95, !96]
|
||||
* window-list, workspace-indicator: Exclude DESKTOP windows from previews
|
||||
[Florian; !93]
|
||||
* screenshot-window-sizer: Fix cycling through all valid sizes [Willy; !97]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Florian Müllner, Willy Stadnick
|
||||
|
||||
3.34.1
|
||||
======
|
||||
* Adjust to gnome-settings-daemon plugin removals [Xiaoguang; !94]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Xiaoguang Wang
|
||||
|
||||
Translators:
|
||||
Nathan Follens [nl], Dušan Kazik [sk], Ask Hjorth Larsen [da],
|
||||
Yi-Jyun Pan [zh_TW]
|
||||
|
||||
3.34.0
|
||||
======
|
||||
|
||||
Translators:
|
||||
Rafael Fontenelle [pt_BR], Efstathios Iosifidis [el], Milo Casagrande [it],
|
||||
Sabri Ünal [tr]
|
||||
|
||||
3.33.92
|
||||
=======
|
||||
|
||||
Translators:
|
||||
Марко Костић [sr], Tim Sabsch [de], Rūdolfs Mazurs [lv], Matej Urbančič [sl],
|
||||
Balázs Úr [hu], Claude Paroz [fr], Fran Dieguez [gl], Changwoo Ryu [ko],
|
||||
Ryuta Fujii [ja], Fabio Tomat [fur], Goran Vidović [hr]
|
||||
|
||||
3.33.91
|
||||
=======
|
||||
* Misc. bug fixes and cleanups [Florian; !88, !90, !91, !92]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Asier Sarasua Garmendia [eu], Anders Jonsson [sv], Marek Černocký [cs],
|
||||
Kukuh Syafaat [id], Jiri Grönroos [fi], Florentina Mușat [ro],
|
||||
Aurimas Černius [lt], Daniel Mustieles [es], Piotr Drąg [pl], Jordi Mas [ca],
|
||||
Danial Behzadi [fa]
|
||||
3.33.90
|
||||
=======
|
||||
* window-list: Support showing windows from all workspaces [Florian; #154]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[Desktop Entry]
|
||||
Name=GNOME Classic
|
||||
Comment=This session logs you into GNOME Classic
|
||||
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic
|
||||
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||
TryExec=gnome-session
|
||||
Type=Application
|
||||
DesktopNames=GNOME-Classic;GNOME;
|
||||
|
||||
@@ -4,6 +4,7 @@ $variant: 'light';
|
||||
@import "gnome-shell-sass/_colors"; //use gtk colors
|
||||
@import "gnome-shell-sass/_drawing";
|
||||
@import "gnome-shell-sass/_common";
|
||||
@import "gnome-shell-sass/_widgets";
|
||||
|
||||
/* Overrides */
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[GNOME Session]
|
||||
Name=GNOME Classic
|
||||
RequiredComponents=org.gnome.Shell;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
|
||||
Submodule data/gnome-shell-sass deleted from c38a7b1320
339
data/gnome-shell-sass/COPYING
Normal file
339
data/gnome-shell-sass/COPYING
Normal file
@@ -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
data/gnome-shell-sass/NEWS
Normal file
0
data/gnome-shell-sass/NEWS
Normal file
16
data/gnome-shell-sass/README.md
Normal file
16
data/gnome-shell-sass/README.md
Normal file
@@ -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/master/data/theme/gnome-shell-sass
|
||||
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
|
||||
[license]: COPYING
|
||||
43
data/gnome-shell-sass/_colors.scss
Normal file
43
data/gnome-shell-sass/_colors.scss
Normal file
@@ -0,0 +1,43 @@
|
||||
// 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));
|
||||
|
||||
//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%);
|
||||
177
data/gnome-shell-sass/_common.scss
Normal file
177
data/gnome-shell-sass/_common.scss
Normal file
@@ -0,0 +1,177 @@
|
||||
//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: 5px;
|
||||
|
||||
$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_bg_color, 0.2);
|
||||
border: 1px solid $osd_outer_borders_color;
|
||||
}
|
||||
|
||||
// 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); }
|
||||
&:hover { @include button(hover, $shadow: none); }
|
||||
&:focus { @include button(focus, $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);
|
||||
}
|
||||
}
|
||||
231
data/gnome-shell-sass/_drawing.scss
Normal file
231
data/gnome-shell-sass/_drawing.scss
Normal file
@@ -0,0 +1,231 @@
|
||||
// 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 1px $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 {
|
||||
background-color: transparentize($selected_bg_color, .15);
|
||||
}
|
||||
}
|
||||
|
||||
&:active,
|
||||
&:checked {
|
||||
.overview-icon {
|
||||
background-color: transparentize(darken($osd_bg_color, 10%), .5);
|
||||
}
|
||||
}
|
||||
}
|
||||
41
data/gnome-shell-sass/_high-contrast-colors.scss
Normal file
41
data/gnome-shell-sass/_high-contrast-colors.scss
Normal file
@@ -0,0 +1,41 @@
|
||||
// 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);
|
||||
|
||||
//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%);
|
||||
51
data/gnome-shell-sass/_widgets.scss
Normal file
51
data/gnome-shell-sass/_widgets.scss
Normal file
@@ -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/app-grid';
|
||||
@import 'widgets/dash';
|
||||
@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';
|
||||
37
data/gnome-shell-sass/gnome-shell-sass.doap
Normal file
37
data/gnome-shell-sass/gnome-shell-sass.doap
Normal file
@@ -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>
|
||||
24
data/gnome-shell-sass/widgets/_a11y.scss
Normal file
24
data/gnome-shell-sass/widgets/_a11y.scss
Normal file
@@ -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; }
|
||||
}
|
||||
144
data/gnome-shell-sass/widgets/_app-grid.scss
Normal file
144
data/gnome-shell-sass/widgets/_app-grid.scss
Normal file
@@ -0,0 +1,144 @@
|
||||
/* App Grid */
|
||||
|
||||
$app_icon_size: 96px;
|
||||
|
||||
// app icons
|
||||
.icon-grid {
|
||||
row-spacing: $base_spacing * 6;
|
||||
column-spacing: $base_spacing * 6;
|
||||
max-row-spacing: $base_spacing * 12;
|
||||
max-column-spacing: $base_spacing * 12;
|
||||
}
|
||||
|
||||
/* 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: transparentize($osd_bg_color, 0.8);
|
||||
border-radius: $base_border_radius + 4px; // same as %icon_tile
|
||||
}
|
||||
|
||||
// expanded folder
|
||||
.app-folder-dialog {
|
||||
border-radius: $modal_radius * 1.5;
|
||||
border: 1px solid $osd_outer_borders_color;
|
||||
background-color: transparentize(darken($osd_bg_color,10%), 0.05);
|
||||
padding: 12px;
|
||||
|
||||
& .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-indicators {
|
||||
margin-bottom: 18px;
|
||||
|
||||
.page-indicator {
|
||||
padding: 15px 12px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.app-folder-dialog-container {
|
||||
padding: 12px;
|
||||
width: 620px;
|
||||
height: 620px;
|
||||
}
|
||||
|
||||
.app-folder-icon {
|
||||
padding: $base_padding;
|
||||
spacing-rows: $base_spacing;
|
||||
spacing-columns: $base_spacing;
|
||||
}
|
||||
|
||||
|
||||
// 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,
|
||||
.app-well-menu {
|
||||
max-width: 27.25em;
|
||||
}
|
||||
|
||||
// App Grid pagination indicators
|
||||
.page-indicator {
|
||||
padding: 15px 20px;
|
||||
|
||||
.page-indicator-icon {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 10px; // the same as height&width
|
||||
background-color: white;
|
||||
}
|
||||
}
|
||||
|
||||
// Some hacks I don't even know
|
||||
.all-apps {
|
||||
// horizontal padding to make sure scrollbars or dash don't overlap content
|
||||
padding: 0px 88px 10px 88px;
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
18
data/gnome-shell-sass/widgets/_base.scss
Normal file
18
data/gnome-shell-sass/widgets/_base.scss
Normal file
@@ -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 2px rgba(black, 0.4);
|
||||
}
|
||||
5
data/gnome-shell-sass/widgets/_buttons.scss
Normal file
5
data/gnome-shell-sass/widgets/_buttons.scss
Normal file
@@ -0,0 +1,5 @@
|
||||
/* Buttons */
|
||||
|
||||
.button {
|
||||
@extend %button; // that's it
|
||||
}
|
||||
291
data/gnome-shell-sass/widgets/_calendar.scss
Normal file
291
data/gnome-shell-sass/widgets/_calendar.scss
Normal file
@@ -0,0 +1,291 @@
|
||||
/* Date/Time Menu */
|
||||
|
||||
.clock-display-box {
|
||||
spacing: $base_spacing / 2;
|
||||
|
||||
.clock {
|
||||
padding-left: $base_padding;
|
||||
padding-right: $base_padding;
|
||||
}
|
||||
}
|
||||
|
||||
// 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;
|
||||
}
|
||||
}
|
||||
18
data/gnome-shell-sass/widgets/_check-box.scss
Normal file
18
data/gnome-shell-sass/widgets/_check-box.scss
Normal file
@@ -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"); }
|
||||
}
|
||||
15
data/gnome-shell-sass/widgets/_corner-ripple.scss
Normal file
15
data/gnome-shell-sass/widgets/_corner-ripple.scss
Normal file
@@ -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; }
|
||||
}
|
||||
61
data/gnome-shell-sass/widgets/_dash.scss
Normal file
61
data/gnome-shell-sass/widgets/_dash.scss
Normal file
@@ -0,0 +1,61 @@
|
||||
/* Dash */
|
||||
|
||||
$dash_placeholder_size: 32px;
|
||||
$dash_spacing: $base_padding + 4px;
|
||||
$dash_border_radius: $modal_radius * 1.5;
|
||||
|
||||
#dash {
|
||||
@extend %overview_panel;
|
||||
@include fontsize($base_font_size - 2);
|
||||
padding: ($dash_spacing / 2) 0;
|
||||
|
||||
border-radius: 0 $dash_border_radius $dash_border_radius 0;
|
||||
border-left-width: 0;
|
||||
&:rtl {
|
||||
border-radius: $dash_border_radius 0 0 $dash_border_radius;
|
||||
border-right-width: 0;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
// Dash Items
|
||||
.dash-item-container > StWidget {
|
||||
padding: ($dash_spacing / 2) $dash_spacing;
|
||||
}
|
||||
|
||||
// OSD Tooltip
|
||||
.dash-label {
|
||||
background-color: transparentize($osd_bg_color,0.05);
|
||||
border-radius: $base_border_radius + 2px;
|
||||
border:none;
|
||||
box-shadow:0 0 0 1px $osd_outer_borders_color;
|
||||
color: $osd_fg_color;
|
||||
padding: $base_padding $base_padding + 2px;
|
||||
text-align: center;
|
||||
-x-offset: $base_margin * 2; // distance from the dash edge
|
||||
}
|
||||
|
||||
// Show apps button
|
||||
.show-apps {
|
||||
@include overview-icon($osd_fg_color);
|
||||
|
||||
&:focus,
|
||||
&:checked {
|
||||
.overview-icon {
|
||||
background-color: darken($osd_bg_color,10%);
|
||||
color: $fg_color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
168
data/gnome-shell-sass/widgets/_dialogs.scss
Normal file
168
data/gnome-shell-sass/widgets/_dialogs.scss
Normal file
@@ -0,0 +1,168 @@
|
||||
/* 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-icon {
|
||||
border-radius: 99px;
|
||||
background-size: contain;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
27
data/gnome-shell-sass/widgets/_entries.scss
Normal file
27
data/gnome-shell-sass/widgets/_entries.scss
Normal file
@@ -0,0 +1,27 @@
|
||||
/* Entries */
|
||||
|
||||
StEntry {
|
||||
border-radius: $base_border_radius;
|
||||
padding: 8px;
|
||||
border-width: 1px;
|
||||
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);
|
||||
}
|
||||
}
|
||||
10
data/gnome-shell-sass/widgets/_hotplug.scss
Normal file
10
data/gnome-shell-sass/widgets/_hotplug.scss
Normal file
@@ -0,0 +1,10 @@
|
||||
// hotplug
|
||||
|
||||
.hotplug-notification-item {
|
||||
@extend %bubble_button;
|
||||
}
|
||||
|
||||
.hotplug-notification-item-icon {
|
||||
icon-size: 24px;
|
||||
padding: 0 4px;
|
||||
}
|
||||
35
data/gnome-shell-sass/widgets/_ibus-popup.scss
Normal file
35
data/gnome-shell-sass/widgets/_ibus-popup.scss
Normal file
@@ -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; }
|
||||
115
data/gnome-shell-sass/widgets/_keyboard.scss
Normal file
115
data/gnome-shell-sass/widgets/_keyboard.scss
Normal file
@@ -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;
|
||||
}
|
||||
169
data/gnome-shell-sass/widgets/_login-dialog.scss
Normal file
169
data/gnome-shell-sass/widgets/_login-dialog.scss
Normal file
@@ -0,0 +1,169 @@
|
||||
/* Login Dialog */
|
||||
|
||||
.login-dialog-banner-view {
|
||||
padding-top: 24px;
|
||||
max-width: 23em;
|
||||
}
|
||||
|
||||
.login-dialog {
|
||||
//reset
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
|
||||
$_gdm_bg: lighten(#2e3436, 19%);
|
||||
|
||||
StEntry {
|
||||
@if $variant=='dark' {
|
||||
$_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
|
||||
background-color: $_gdm_entry_bg;
|
||||
color: $osd_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: $_gdm_bg;
|
||||
border-color: $_gdm_bg;
|
||||
color: $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($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: transparentize($bg_color,0.7);
|
||||
background-color: transparentize($bg_color,0.7);
|
||||
|
||||
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-message-hint { padding-top: 0; padding-bottom: 20px; }
|
||||
.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-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;
|
||||
}
|
||||
109
data/gnome-shell-sass/widgets/_looking-glass.scss
Normal file
109
data/gnome-shell-sass/widgets/_looking-glass.scss
Normal file
@@ -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;
|
||||
}
|
||||
136
data/gnome-shell-sass/widgets/_message-list.scss
Normal file
136
data/gnome-shell-sass/widgets/_message-list.scss
Normal file
@@ -0,0 +1,136 @@
|
||||
/* 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;
|
||||
}
|
||||
|
||||
// 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 $base_padding * 4;
|
||||
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;
|
||||
}
|
||||
}
|
||||
55
data/gnome-shell-sass/widgets/_misc.scss
Normal file
55
data/gnome-shell-sass/widgets/_misc.scss
Normal file
@@ -0,0 +1,55 @@
|
||||
// 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;
|
||||
&:hover {
|
||||
color: lighten($osd_fg_color,30%);
|
||||
}
|
||||
|
||||
& StIcon {
|
||||
background-color: transparentize($osd_fg_color,0.95);
|
||||
border-radius: 99px;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
|
||||
.user-widget.horizontal .user-icon {
|
||||
icon-size: $base_icon_size * 4; // 64px
|
||||
|
||||
& StIcon {
|
||||
padding: $base_padding * 2 ; // 12px
|
||||
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
56
data/gnome-shell-sass/widgets/_network-dialog.scss
Normal file
56
data/gnome-shell-sass/widgets/_network-dialog.scss
Normal file
@@ -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; }
|
||||
57
data/gnome-shell-sass/widgets/_notifications.scss
Normal file
57
data/gnome-shell-sass/widgets/_notifications.scss
Normal file
@@ -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; }
|
||||
}
|
||||
45
data/gnome-shell-sass/widgets/_osd.scss
Normal file
45
data/gnome-shell-sass/widgets/_osd.scss
Normal file
@@ -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;
|
||||
}
|
||||
10
data/gnome-shell-sass/widgets/_overview.scss
Normal file
10
data/gnome-shell-sass/widgets/_overview.scss
Normal file
@@ -0,0 +1,10 @@
|
||||
/* OVERVIEW */
|
||||
|
||||
#overview {
|
||||
spacing: 24px;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.overview-controls {
|
||||
padding-bottom: 32px;
|
||||
}
|
||||
121
data/gnome-shell-sass/widgets/_panel.scss
Normal file
121
data/gnome-shell-sass/widgets/_panel.scss
Normal file
@@ -0,0 +1,121 @@
|
||||
/* Top Bar */
|
||||
// a.k.a. the panel
|
||||
|
||||
$panel_corner_radius: $base_border_radius+1;
|
||||
$panel_bg_color: #000;
|
||||
$panel_fg_color: #ccc;
|
||||
$panel_height: 1.86em;
|
||||
|
||||
|
||||
#panel {
|
||||
background-color: $panel_bg_color;
|
||||
font-weight: bold;
|
||||
height: $panel_height;
|
||||
font-feature-settings: "tnum";
|
||||
|
||||
// transparent panel on lock & login screens
|
||||
&.unlock-screen,
|
||||
&.login-screen {
|
||||
background-color: transparent;
|
||||
|
||||
.panel-corner {
|
||||
-panel-corner-radius: 0;
|
||||
-panel-corner-background-color: transparent;
|
||||
-panel-corner-border-color: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
// spacing between activities, app menu and such
|
||||
#panelLeft, #panelCenter {
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
// 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;
|
||||
|
||||
&:active, &:overview, &:focus {
|
||||
-panel-corner-border-color: lighten($selected_bg_color,5%);
|
||||
}
|
||||
}
|
||||
|
||||
// panel menus
|
||||
.panel-button {
|
||||
font-weight: bold;
|
||||
color: $panel_fg_color;
|
||||
-natural-hpadding: $base_padding * 2;
|
||||
-minimum-hpadding: $base_padding;
|
||||
|
||||
&:hover {
|
||||
color: lighten($panel_fg_color, 20%);
|
||||
}
|
||||
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
color: lighten($panel_fg_color, 20%);
|
||||
}
|
||||
|
||||
// status area icons
|
||||
.system-status-icon {
|
||||
icon-size: $base_icon_size;
|
||||
padding: $base_padding - 1px;
|
||||
}
|
||||
|
||||
// app menu icon
|
||||
.app-menu-icon {
|
||||
margin-left: $base_margin;
|
||||
margin-right: $base_margin;
|
||||
-st-icon-style: symbolic;
|
||||
// dimensions of the icon are hardcoded
|
||||
}
|
||||
|
||||
// lock & login screen styles
|
||||
.unlock-screen &,
|
||||
.login-screen & {
|
||||
color: lighten($fg_color, 10%);
|
||||
&:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
|
||||
}
|
||||
}
|
||||
|
||||
.panel-button {
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
// Trick due to St limitations. It needs a background to draw a box-shadow
|
||||
background-color: rgba(0, 0, 0, 0.01);
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
||||
}
|
||||
}
|
||||
|
||||
.panel-button.clock-display {
|
||||
// Move highlight from .panel-button to .clock
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
box-shadow: none;
|
||||
|
||||
.clock {
|
||||
background-color: rgba(0, 0, 0, 0.01);
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.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; }
|
||||
}
|
||||
131
data/gnome-shell-sass/widgets/_popovers.scss
Normal file
131
data/gnome-shell-sass/widgets/_popovers.scss
Normal file
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
78
data/gnome-shell-sass/widgets/_screen-shield.scss
Normal file
78
data/gnome-shell-sass/widgets/_screen-shield.scss
Normal file
@@ -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: lighten(#2e3436, 8%);
|
||||
}
|
||||
|
||||
#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); }
|
||||
}
|
||||
}
|
||||
29
data/gnome-shell-sass/widgets/_scrollbars.scss
Normal file
29
data/gnome-shell-sass/widgets/_scrollbars.scss
Normal file
@@ -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; }
|
||||
}
|
||||
}
|
||||
35
data/gnome-shell-sass/widgets/_search-entry.scss
Normal file
35
data/gnome-shell-sass/widgets/_search-entry.scss
Normal file
@@ -0,0 +1,35 @@
|
||||
// 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;
|
||||
border-color: $borders_color;
|
||||
|
||||
&:hover {
|
||||
background-color: $hover_bg_color;
|
||||
border-color: $hover_borders_color;
|
||||
color: $hover_fg_color;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
padding: $base_padding $base_padding+2; // 1px less to account for wider border
|
||||
border-width: 2px;
|
||||
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;
|
||||
}
|
||||
}
|
||||
108
data/gnome-shell-sass/widgets/_search-results.scss
Normal file
108
data/gnome-shell-sass/widgets/_search-results.scss
Normal file
@@ -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%);
|
||||
}
|
||||
}
|
||||
27
data/gnome-shell-sass/widgets/_slider.scss
Normal file
27
data/gnome-shell-sass/widgets/_slider.scss
Normal file
@@ -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; }
|
||||
}
|
||||
65
data/gnome-shell-sass/widgets/_switcher-popup.scss
Normal file
65
data/gnome-shell-sass/widgets/_switcher-popup.scss
Normal file
@@ -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;
|
||||
}
|
||||
16
data/gnome-shell-sass/widgets/_switches.scss
Normal file
16
data/gnome-shell-sass/widgets/_switches.scss
Normal file
@@ -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"));
|
||||
}
|
||||
}
|
||||
19
data/gnome-shell-sass/widgets/_tiled-previews.scss
Normal file
19
data/gnome-shell-sass/widgets/_tiled-previews.scss
Normal file
@@ -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;
|
||||
}
|
||||
65
data/gnome-shell-sass/widgets/_window-picker.scss
Normal file
65
data/gnome-shell-sass/widgets/_window-picker.scss
Normal file
@@ -0,0 +1,65 @@
|
||||
/* Window Picker */
|
||||
|
||||
$window_picker_spacing: $base_spacing; // 6px
|
||||
$window_picker_padding: $base_padding * 2; // 12px
|
||||
|
||||
$window_thumbnail_border_color:transparentize($selected_fg_color, 0.65);
|
||||
|
||||
$window_close_button_size: 24px;
|
||||
$window_close_button_padding: 3px;
|
||||
|
||||
$window_clone_border_size: 6px;
|
||||
|
||||
// Window picker
|
||||
.window-picker {
|
||||
// Space between window thumbnails
|
||||
spacing: $window_picker_spacing;
|
||||
|
||||
// Padding for container around window thumbnails
|
||||
padding: $window_picker_padding;
|
||||
|
||||
&.external-monitor { padding: $window_picker_padding; }
|
||||
}
|
||||
|
||||
// Borders on window thumbnails
|
||||
.window-clone-border {
|
||||
border-width: $window_clone_border_size;
|
||||
border-style: solid;
|
||||
border-color: $window_thumbnail_border_color;
|
||||
border-radius: $base_border_radius + 2;
|
||||
// For window decorations with round corners we can't match
|
||||
// the exact shape when the window is scaled. So apply a shadow
|
||||
// to fix that case
|
||||
box-shadow: inset 0 0 0 1px transparentize($borders_color, 0.8);
|
||||
}
|
||||
|
||||
// Window titles
|
||||
.window-caption {
|
||||
color: $osd_fg_color;
|
||||
background-color: $osd_bg_color;
|
||||
border:1px solid $osd_outer_borders_color;
|
||||
border-radius: $base_border_radius + 1;
|
||||
padding: $base_padding $base_padding * 2;
|
||||
font-weight: bold;
|
||||
@include fontsize($base_font_size + 1);
|
||||
}
|
||||
|
||||
// Close button
|
||||
.window-close {
|
||||
background-color: $selected_bg_color;
|
||||
color: $selected_fg_color;
|
||||
border: none;
|
||||
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);
|
||||
|
||||
&:hover {
|
||||
background-color: lighten($selected_bg_color, 5%);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: darken($selected_bg_color, 5%);
|
||||
}
|
||||
}
|
||||
36
data/gnome-shell-sass/widgets/_workspace-switcher.scss
Normal file
36
data/gnome-shell-sass/widgets/_workspace-switcher.scss
Normal file
@@ -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;
|
||||
}
|
||||
32
data/gnome-shell-sass/widgets/_workspace-thumbnails.scss
Normal file
32
data/gnome-shell-sass/widgets/_workspace-thumbnails.scss
Normal file
@@ -0,0 +1,32 @@
|
||||
/* Workspace pager */
|
||||
|
||||
// thumbnails in overview
|
||||
.workspace-thumbnails {
|
||||
@extend %overview_panel;
|
||||
visible-width: 32px; //amount visible before hover
|
||||
spacing: $base_spacing;
|
||||
padding: $base_padding;
|
||||
|
||||
border-radius: $modal_radius 0 0 $modal_radius;
|
||||
border-right-width: 0;
|
||||
|
||||
&:rtl {
|
||||
border-radius: 0 $modal_radius $modal_radius 0;
|
||||
border-left-width: 0;
|
||||
}
|
||||
|
||||
// drag and drop indicator
|
||||
.placeholder {
|
||||
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||
background-size: contain;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
// selected indicator
|
||||
.workspace-thumbnail-indicator {
|
||||
border: 3px solid $selected_bg_color;
|
||||
border-radius: 3px;
|
||||
padding: 0px;
|
||||
// background-color: transparentize($selected_bg_color, 0.9);
|
||||
}
|
||||
@@ -1,18 +1,12 @@
|
||||
sessions = [
|
||||
['gnome-classic.session.desktop.in', sessiondir],
|
||||
['gnome-classic.desktop.in', xsessiondir]
|
||||
]
|
||||
foreach s : sessions
|
||||
name_array = s[0].split('.')
|
||||
i18n.merge_file('',
|
||||
input: s[0],
|
||||
output: '.'.join([name_array[0], name_array[1]]),
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: s[1],
|
||||
type: 'desktop'
|
||||
)
|
||||
endforeach
|
||||
session_desktop = 'gnome-classic.desktop'
|
||||
i18n.merge_file('',
|
||||
input: session_desktop + '.in',
|
||||
output: session_desktop,
|
||||
po_dir: '../po',
|
||||
install: true,
|
||||
install_dir: xsessiondir,
|
||||
type: 'desktop'
|
||||
)
|
||||
|
||||
classic_uuids = []
|
||||
foreach e : classic_extensions
|
||||
|
||||
@@ -21,16 +21,23 @@ for f in $extensiondir/*; do
|
||||
uuid=$name@gnome-shell-extensions.gcampax.github.com
|
||||
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
|
||||
|
||||
cp $srcdir/NEWS $srcdir/COPYING $f
|
||||
cp -r $localedir $f
|
||||
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
|
||||
|
||||
if [ -f $schema ]; then
|
||||
mkdir $f/schemas
|
||||
cp $schema $f/schemas;
|
||||
glib-compile-schemas $f/schemas
|
||||
if [ -f $builddir/$name.pot ]; then
|
||||
mkdir $f/po
|
||||
for l in $(<$srcdir/po/LINGUAS); do
|
||||
msgmerge --quiet --output-file=$f/po/$l.po \
|
||||
$srcdir/po/$l.po $builddir/$name.pot
|
||||
done
|
||||
fi
|
||||
|
||||
(cd $f && zip -rmq $srcdir/zip-files/$uuid.shell-extension.zip .)
|
||||
cp $srcdir/NEWS $srcdir/COPYING $f
|
||||
sources=(NEWS COPYING $(cd $f; ls *.js))
|
||||
|
||||
[ -f $schema ] || unset schema
|
||||
|
||||
gnome-extensions pack ${sources[@]/#/--extra-source=} \
|
||||
${schema:+--schema=$schema} --out-dir=$srcdir/zip-files $f
|
||||
done
|
||||
|
||||
rm -rf $builddir
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/* exported init enable disable */
|
||||
|
||||
const {
|
||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St
|
||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
|
||||
} = imports.gi;
|
||||
const Signals = imports.signals;
|
||||
|
||||
@@ -38,7 +38,7 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
let appLabel = new St.Label({
|
||||
text: app.get_name(),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
this.add_child(appLabel);
|
||||
this.label_actor = appLabel;
|
||||
@@ -55,7 +55,7 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
let draggable = DND.makeDraggable(this);
|
||||
|
||||
let maybeStartDrag = draggable._maybeStartDrag;
|
||||
draggable._maybeStartDrag = (event) => {
|
||||
draggable._maybeStartDrag = event => {
|
||||
if (this._dragEnabled)
|
||||
return maybeStartDrag.call(draggable, event);
|
||||
return false;
|
||||
@@ -77,8 +77,8 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
super.setActive(active, params);
|
||||
}
|
||||
|
||||
setDragEnabled(enable) {
|
||||
this._dragEnabled = enable;
|
||||
setDragEnabled(enabled) {
|
||||
this._dragEnabled = enabled;
|
||||
}
|
||||
|
||||
getDragActor() {
|
||||
@@ -126,7 +126,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_isNavigatingSubmenu([x, y]) {
|
||||
let [posX, posY] = this.get_transformed_position();
|
||||
|
||||
if (this._oldX == -1) {
|
||||
if (this._oldX === -1) {
|
||||
this._oldX = x;
|
||||
this._oldY = y;
|
||||
return true;
|
||||
@@ -174,17 +174,18 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
// Check which side of line AB the point P lies on by taking the
|
||||
// cross-product of AB and AP. See:
|
||||
// http://stackoverflow.com/questions/3461453/determine-which-side-of-a-line-a-point-lies
|
||||
if (((this.width * y) - (NAVIGATION_REGION_OVERSHOOT * x)) <= 0)
|
||||
if (this.width * y - NAVIGATION_REGION_OVERSHOOT * x <= 0)
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
_onMotionEvent(actor, event) {
|
||||
if (!Clutter.get_pointer_grab()) {
|
||||
let device = event.get_device();
|
||||
if (!device.get_grabbed_actor()) {
|
||||
this._oldX = -1;
|
||||
this._oldY = -1;
|
||||
Clutter.grab_pointer(this);
|
||||
device.grab(this);
|
||||
}
|
||||
this.hover = true;
|
||||
|
||||
@@ -194,7 +195,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
this._oldX = -1;
|
||||
this._oldY = -1;
|
||||
this.hover = false;
|
||||
Clutter.ungrab_pointer();
|
||||
device.ungrab();
|
||||
|
||||
let source = event.get_source();
|
||||
if (source instanceof St.Widget)
|
||||
@@ -244,14 +245,14 @@ class DesktopTarget {
|
||||
}
|
||||
|
||||
get hasDesktop() {
|
||||
return this._desktop != null;
|
||||
return this._desktop !== null;
|
||||
}
|
||||
|
||||
_onWindowAdded(group, actor) {
|
||||
if (!(actor instanceof Meta.WindowActor))
|
||||
return;
|
||||
|
||||
if (actor.meta_window.get_window_type() == Meta.WindowType.DESKTOP)
|
||||
if (actor.meta_window.get_window_type() === Meta.WindowType.DESKTOP)
|
||||
this._setDesktop(actor);
|
||||
}
|
||||
|
||||
@@ -367,7 +368,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this._label = new St.Label({
|
||||
text: _('Applications'),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
hbox.add_child(this._label);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
@@ -377,10 +378,10 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.label_actor = this._label;
|
||||
|
||||
this._showingId = Main.overview.connect('showing', () => {
|
||||
this.add_accessible_state (Atk.StateType.CHECKED);
|
||||
this.add_accessible_state(Atk.StateType.CHECKED);
|
||||
});
|
||||
this._hidingId = Main.overview.connect('hiding', () => {
|
||||
this.remove_accessible_state (Atk.StateType.CHECKED);
|
||||
this.remove_accessible_state(Atk.StateType.CHECKED);
|
||||
});
|
||||
Main.layoutManager.connect('startup-complete',
|
||||
this._setKeybinding.bind(this));
|
||||
@@ -420,7 +421,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
_createVertSeparator() {
|
||||
let separator = new St.DrawingArea({
|
||||
style_class: 'calendar-vertical-separator',
|
||||
pseudo_class: 'highlighted'
|
||||
pseudo_class: 'highlighted',
|
||||
});
|
||||
separator.connect('repaint', this._onVertSepRepaint.bind(this));
|
||||
return separator;
|
||||
@@ -446,9 +447,9 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
|
||||
_onMenuKeyPress(actor, event) {
|
||||
let symbol = event.get_key_symbol();
|
||||
if (symbol == Clutter.KEY_Left || symbol == Clutter.KEY_Right) {
|
||||
let direction = symbol == Clutter.KEY_Left ?
|
||||
Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT;
|
||||
if (symbol === Clutter.KEY_Left || symbol === Clutter.KEY_Right) {
|
||||
let direction = symbol === Clutter.KEY_Left
|
||||
? Gtk.DirectionType.LEFT : Gtk.DirectionType.RIGHT;
|
||||
if (this.menu.actor.navigate_focus(global.stage.key_focus, direction, false))
|
||||
return true;
|
||||
}
|
||||
@@ -496,8 +497,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
_loadCategory(categoryId, dir) {
|
||||
let iter = dir.iter();
|
||||
let nextType;
|
||||
while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
|
||||
if (nextType == GMenu.TreeItemType.ENTRY) {
|
||||
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
|
||||
if (nextType === GMenu.TreeItemType.ENTRY) {
|
||||
let entry = iter.get_entry();
|
||||
let id;
|
||||
try {
|
||||
@@ -510,9 +511,9 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
app = new Shell.App({ app_info: entry.get_app_info() });
|
||||
if (app.get_app_info().should_show())
|
||||
this.applicationsByCategory[categoryId].push(app);
|
||||
} else if (nextType == GMenu.TreeItemType.SEPARATOR) {
|
||||
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
|
||||
this.applicationsByCategory[categoryId].push('separator');
|
||||
} else if (nextType == GMenu.TreeItemType.DIRECTORY) {
|
||||
} else if (nextType === GMenu.TreeItemType.DIRECTORY) {
|
||||
let subdir = iter.get_directory();
|
||||
if (!subdir.get_is_nodisplay())
|
||||
this._loadCategory(categoryId, subdir);
|
||||
@@ -531,7 +532,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
newScrollValue = buttonAlloc.y1 - 10;
|
||||
if (boxHeight + currentScrollValue < buttonAlloc.y2 + 10)
|
||||
newScrollValue = buttonAlloc.y2 - boxHeight + 10;
|
||||
if (newScrollValue != currentScrollValue)
|
||||
if (newScrollValue !== currentScrollValue)
|
||||
appsScrollBoxAdj.set_value(newScrollValue);
|
||||
}
|
||||
|
||||
@@ -546,7 +547,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
newScrollValue = buttonAlloc.y1 - 10;
|
||||
if (boxHeight + currentScrollValue < buttonAlloc.y2 + 10)
|
||||
newScrollValue = buttonAlloc.y2 - boxHeight + 10;
|
||||
if (newScrollValue != currentScrollValue)
|
||||
if (newScrollValue !== currentScrollValue)
|
||||
catsScrollBoxAdj.set_value(newScrollValue);
|
||||
}
|
||||
|
||||
@@ -556,10 +557,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.mainBox = new St.BoxLayout({ vertical: false });
|
||||
this.leftBox = new St.BoxLayout({ vertical: true });
|
||||
this.applicationsScrollBox = new St.ScrollView({
|
||||
x_fill: true,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START,
|
||||
style_class: 'apps-menu vfade'
|
||||
style_class: 'apps-menu vfade',
|
||||
x_expand: true,
|
||||
});
|
||||
this.applicationsScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
let vscroll = this.applicationsScrollBox.get_vscroll_bar();
|
||||
@@ -570,21 +569,13 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.menu.passEvents = false;
|
||||
});
|
||||
this.categoriesScrollBox = new St.ScrollView({
|
||||
x_fill: true,
|
||||
y_fill: false,
|
||||
y_align: St.Align.START,
|
||||
style_class: 'vfade'
|
||||
style_class: 'vfade',
|
||||
});
|
||||
this.categoriesScrollBox.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
vscroll = this.categoriesScrollBox.get_vscroll_bar();
|
||||
vscroll.connect('scroll-start', () => this.menu.passEvents = true);
|
||||
vscroll.connect('scroll-stop', () => this.menu.passEvents = false);
|
||||
this.leftBox.add(this.categoriesScrollBox, {
|
||||
expand: true,
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
y_align: St.Align.START
|
||||
});
|
||||
vscroll.connect('scroll-start', () => (this.menu.passEvents = true));
|
||||
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
|
||||
this.leftBox.add_child(this.categoriesScrollBox);
|
||||
|
||||
this.applicationsBox = new St.BoxLayout({ vertical: true });
|
||||
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
||||
@@ -592,16 +583,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.categoriesScrollBox.add_actor(this.categoriesBox);
|
||||
|
||||
this.mainBox.add(this.leftBox);
|
||||
this.mainBox.add(this._createVertSeparator(), {
|
||||
expand: false,
|
||||
x_fill: false,
|
||||
y_fill: true
|
||||
});
|
||||
this.mainBox.add(this.applicationsScrollBox, {
|
||||
expand: true,
|
||||
x_fill: true,
|
||||
y_fill: true
|
||||
});
|
||||
this.mainBox.add_child(this._createVertSeparator());
|
||||
this.mainBox.add_child(this.applicationsScrollBox);
|
||||
section.actor.add_actor(this.mainBox);
|
||||
}
|
||||
|
||||
@@ -610,7 +593,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.mainBox.style = 'width: 35em;';
|
||||
this.mainBox.hide();
|
||||
|
||||
//Load categories
|
||||
// Load categories
|
||||
this.applicationsByCategory = {};
|
||||
this._tree.load_sync();
|
||||
let root = this._tree.get_root_directory();
|
||||
@@ -618,8 +601,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.categoriesBox.add_actor(categoryMenuItem);
|
||||
let iter = root.iter();
|
||||
let nextType;
|
||||
while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
|
||||
if (nextType != GMenu.TreeItemType.DIRECTORY)
|
||||
while ((nextType = iter.next()) !== GMenu.TreeItemType.INVALID) {
|
||||
if (nextType !== GMenu.TreeItemType.DIRECTORY)
|
||||
continue;
|
||||
|
||||
let dir = iter.get_directory();
|
||||
@@ -630,12 +613,12 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
this.applicationsByCategory[categoryId] = [];
|
||||
this._loadCategory(categoryId, dir);
|
||||
if (this.applicationsByCategory[categoryId].length > 0) {
|
||||
let categoryMenuItem = new CategoryMenuItem(this, dir);
|
||||
categoryMenuItem = new CategoryMenuItem(this, dir);
|
||||
this.categoriesBox.add_actor(categoryMenuItem);
|
||||
}
|
||||
}
|
||||
|
||||
//Load applications
|
||||
// Load applications
|
||||
this._displayButtons(this._listApplications(null));
|
||||
|
||||
let themeContext = St.ThemeContext.get_for_stage(global.stage);
|
||||
@@ -683,13 +666,9 @@ class ApplicationsButton extends PanelMenu.Button {
|
||||
if (categoryMenuId) {
|
||||
applist = this.applicationsByCategory[categoryMenuId];
|
||||
} else {
|
||||
applist = new Array();
|
||||
let favorites = global.settings.get_strv('favorite-apps');
|
||||
for (let i = 0; i < favorites.length; i++) {
|
||||
let app = appSys.lookup_app(favorites[i]);
|
||||
if (app)
|
||||
applist.push(app);
|
||||
}
|
||||
applist = global.settings.get_strv('favorite-apps')
|
||||
.map(id => appSys.lookup_app(id))
|
||||
.filter(app => app);
|
||||
}
|
||||
|
||||
return applist;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// Start apps on custom workspaces
|
||||
/* exported init enable disable */
|
||||
|
||||
const Shell = imports.gi.Shell;
|
||||
const { Shell } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
@@ -35,23 +35,22 @@ class WindowMover {
|
||||
|
||||
_updateAppData() {
|
||||
let ids = [...this._appConfigs.keys()];
|
||||
let removedApps = [...this._appData.keys()].filter(
|
||||
a => !ids.includes(a.id)
|
||||
);
|
||||
let removedApps = [...this._appData.keys()]
|
||||
.filter(a => !ids.includes(a.id));
|
||||
removedApps.forEach(app => {
|
||||
app.disconnect(this._appData.get(app).windowsChangedId);
|
||||
this._appData.delete(app);
|
||||
});
|
||||
|
||||
let addedApps = ids.map(id => this._appSystem.lookup_app(id)).filter(
|
||||
app => app != null && !this._appData.has(app)
|
||||
);
|
||||
let addedApps = ids
|
||||
.map(id => this._appSystem.lookup_app(id))
|
||||
.filter(app => app && !this._appData.has(app));
|
||||
addedApps.forEach(app => {
|
||||
let data = {
|
||||
windowsChangedId: app.connect('windows-changed',
|
||||
this._appWindowsChanged.bind(this)),
|
||||
moveWindowsId: 0,
|
||||
windows: app.get_windows()
|
||||
windows: app.get_windows(),
|
||||
};
|
||||
this._appData.set(app, data);
|
||||
});
|
||||
@@ -94,9 +93,9 @@ class WindowMover {
|
||||
// the window still exists and is just moved to a different workspace
|
||||
// or something; assume it'll be added back immediately, so keep it
|
||||
// to avoid moving it again
|
||||
windows.push(...data.windows.filter(
|
||||
w => !windows.includes(w) && w.get_compositor_private() != null
|
||||
));
|
||||
windows.push(...data.windows.filter(w => {
|
||||
return !windows.includes(w) && w.get_compositor_private() !== null;
|
||||
}));
|
||||
|
||||
let workspaceNum = this._appConfigs.get(app.id);
|
||||
windows.filter(w => !data.windows.includes(w)).forEach(window => {
|
||||
@@ -124,7 +123,7 @@ function myCheckWorkspaces() {
|
||||
}
|
||||
|
||||
// make sure the original method only removes empty workspaces at the end
|
||||
keepAliveWorkspaces.forEach(ws => ws._keepAliveId = 1);
|
||||
keepAliveWorkspaces.forEach(ws => (ws._keepAliveId = 1));
|
||||
prevCheckWorkspaces.call(this);
|
||||
keepAliveWorkspaces.forEach(ws => delete ws._keepAliveId);
|
||||
|
||||
|
||||
@@ -2,11 +2,10 @@
|
||||
// Start apps on custom workspaces
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
const { Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
const N_ = e => e;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
@@ -14,270 +13,282 @@ const SETTINGS_KEY = 'application-list';
|
||||
|
||||
const WORKSPACE_MAX = 36; // compiled in limit of mutter
|
||||
|
||||
const Columns = {
|
||||
APPINFO: 0,
|
||||
DISPLAY_NAME: 1,
|
||||
ICON: 2,
|
||||
WORKSPACE: 3,
|
||||
ADJUSTMENT: 4
|
||||
};
|
||||
const AutoMoveSettingsWidget = GObject.registerClass(
|
||||
class AutoMoveSettingsWidget extends Gtk.ScrolledWindow {
|
||||
_init() {
|
||||
super._init({
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||
});
|
||||
|
||||
const Widget = GObject.registerClass({
|
||||
GTypeName: 'AutoMoveWindowsPrefsWidget',
|
||||
}, class Widget extends Gtk.Grid {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
this.set_orientation(Gtk.Orientation.VERTICAL);
|
||||
const box = new Gtk.Box({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
halign: Gtk.Align.CENTER,
|
||||
spacing: 12,
|
||||
margin_top: 36,
|
||||
margin_bottom: 36,
|
||||
margin_start: 36,
|
||||
margin_end: 36,
|
||||
});
|
||||
this.add(box);
|
||||
|
||||
box.add(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Rules')),
|
||||
use_markup: true,
|
||||
halign: Gtk.Align.START,
|
||||
}));
|
||||
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
valign: Gtk.Align.START,
|
||||
});
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
box.add(this._list);
|
||||
|
||||
const context = this._list.get_style_context();
|
||||
const cssProvider = new Gtk.CssProvider();
|
||||
cssProvider.load_from_data(
|
||||
'list { min-width: 30em; }');
|
||||
|
||||
context.add_provider(cssProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
context.add_class('frame');
|
||||
|
||||
this._list.add(new NewRuleRow());
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
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._settings.connect('changed', this._refresh.bind(this));
|
||||
this._changedPermitted = false;
|
||||
this._changedId = this._settings.connect('changed',
|
||||
this._sync.bind(this));
|
||||
this._sync();
|
||||
|
||||
this._store = new Gtk.ListStore();
|
||||
this._store.set_column_types([
|
||||
Gio.AppInfo,
|
||||
GObject.TYPE_STRING,
|
||||
Gio.Icon,
|
||||
GObject.TYPE_INT,
|
||||
Gtk.Adjustment
|
||||
]);
|
||||
this.connect('destroy', () => this._settings.run_dispose());
|
||||
|
||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
this.add(scrolled);
|
||||
|
||||
|
||||
this._treeView = new Gtk.TreeView({
|
||||
model: this._store,
|
||||
hexpand: true,
|
||||
vexpand: true
|
||||
});
|
||||
this._treeView.get_selection().set_mode(Gtk.SelectionMode.SINGLE);
|
||||
|
||||
let appColumn = new Gtk.TreeViewColumn({
|
||||
expand: true,
|
||||
sort_column_id: Columns.DISPLAY_NAME,
|
||||
title: _('Application')
|
||||
});
|
||||
let iconRenderer = new Gtk.CellRendererPixbuf;
|
||||
appColumn.pack_start(iconRenderer, false);
|
||||
appColumn.add_attribute(iconRenderer, 'gicon', Columns.ICON);
|
||||
let nameRenderer = new Gtk.CellRendererText;
|
||||
appColumn.pack_start(nameRenderer, true);
|
||||
appColumn.add_attribute(nameRenderer, 'text', Columns.DISPLAY_NAME);
|
||||
this._treeView.append_column(appColumn);
|
||||
|
||||
let workspaceColumn = new Gtk.TreeViewColumn({
|
||||
title: _('Workspace'),
|
||||
sort_column_id: Columns.WORKSPACE
|
||||
});
|
||||
let workspaceRenderer = new Gtk.CellRendererSpin({ editable: true });
|
||||
workspaceRenderer.connect('edited', this._workspaceEdited.bind(this));
|
||||
workspaceColumn.pack_start(workspaceRenderer, true);
|
||||
workspaceColumn.add_attribute(workspaceRenderer, 'adjustment', Columns.ADJUSTMENT);
|
||||
workspaceColumn.add_attribute(workspaceRenderer, 'text', Columns.WORKSPACE);
|
||||
this._treeView.append_column(workspaceColumn);
|
||||
|
||||
scrolled.add(this._treeView);
|
||||
|
||||
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
|
||||
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
|
||||
this.add(toolbar);
|
||||
|
||||
let newButton = new Gtk.ToolButton({
|
||||
icon_name: 'bookmark-new-symbolic',
|
||||
label: _('Add Rule'),
|
||||
is_important: true
|
||||
});
|
||||
newButton.connect('clicked', this._createNew.bind(this));
|
||||
toolbar.add(newButton);
|
||||
|
||||
let delButton = new Gtk.ToolButton({ icon_name: 'edit-delete-symbolic' });
|
||||
delButton.connect('clicked', this._deleteSelected.bind(this));
|
||||
toolbar.add(delButton);
|
||||
|
||||
let selection = this._treeView.get_selection();
|
||||
selection.connect('changed', () => {
|
||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
||||
});
|
||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
||||
|
||||
this._changedPermitted = true;
|
||||
this._refresh();
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
_createNew() {
|
||||
let dialog = new Gtk.Dialog({
|
||||
title: _('Create new matching rule'),
|
||||
transient_for: this.get_toplevel(),
|
||||
use_header_bar: true,
|
||||
modal: true
|
||||
});
|
||||
dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
|
||||
let addButton = dialog.add_button(_('Add'), Gtk.ResponseType.OK);
|
||||
dialog.set_default_response(Gtk.ResponseType.OK);
|
||||
|
||||
let grid = new Gtk.Grid({
|
||||
column_spacing: 10,
|
||||
row_spacing: 15,
|
||||
margin: 10
|
||||
});
|
||||
dialog._appChooser = new Gtk.AppChooserWidget({ show_all: true });
|
||||
dialog._appChooser.connect('application-selected', (w, appInfo) => {
|
||||
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
|
||||
});
|
||||
let appInfo = dialog._appChooser.get_app_info();
|
||||
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
|
||||
|
||||
grid.attach(dialog._appChooser, 0, 0, 2, 1);
|
||||
grid.attach(new Gtk.Label({
|
||||
label: _('Workspace'),
|
||||
halign: Gtk.Align.END
|
||||
}), 0, 1, 1, 1);
|
||||
let adjustment = new Gtk.Adjustment({
|
||||
lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1
|
||||
});
|
||||
dialog._spin = new Gtk.SpinButton({
|
||||
adjustment: adjustment,
|
||||
snap_to_ticks: true
|
||||
});
|
||||
dialog._spin.set_value(1);
|
||||
grid.attach(dialog._spin, 1, 1, 1, 1);
|
||||
dialog.get_content_area().add(grid);
|
||||
|
||||
dialog.connect('response', (dialog, id) => {
|
||||
if (id != Gtk.ResponseType.OK) {
|
||||
dialog.destroy();
|
||||
return;
|
||||
_onAddActivated() {
|
||||
const dialog = new NewRuleDialog(this.get_toplevel());
|
||||
dialog.connect('response', (dlg, id) => {
|
||||
const appInfo = id === Gtk.ResponseType.OK
|
||||
? dialog.get_widget().get_app_info() : null;
|
||||
if (appInfo) {
|
||||
this._settings.set_strv(SETTINGS_KEY, [
|
||||
...this._settings.get_strv(SETTINGS_KEY),
|
||||
`${appInfo.get_id()}:1`,
|
||||
]);
|
||||
}
|
||||
|
||||
let appInfo = dialog._appChooser.get_app_info();
|
||||
if (!appInfo)
|
||||
return;
|
||||
let index = Math.floor(dialog._spin.value);
|
||||
if (isNaN(index) || index < 0)
|
||||
index = 1;
|
||||
|
||||
this._changedPermitted = false;
|
||||
this._appendItem(appInfo.get_id(), index);
|
||||
this._changedPermitted = true;
|
||||
|
||||
this._appendRow(appInfo, index);
|
||||
|
||||
dialog.destroy();
|
||||
});
|
||||
dialog.show_all();
|
||||
}
|
||||
|
||||
_deleteSelected() {
|
||||
let [any, model_, iter] = this._treeView.get_selection().get_selected();
|
||||
|
||||
if (any) {
|
||||
let appInfo = this._store.get_value(iter, Columns.APPINFO);
|
||||
|
||||
this._changedPermitted = false;
|
||||
this._removeItem(appInfo.get_id());
|
||||
this._changedPermitted = true;
|
||||
this._store.remove(iter);
|
||||
}
|
||||
_onRemoveActivated(action, param) {
|
||||
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;
|
||||
}));
|
||||
}
|
||||
|
||||
_workspaceEdited(renderer, pathString, text) {
|
||||
let index = parseInt(text);
|
||||
if (isNaN(index) || index < 0)
|
||||
index = 1;
|
||||
let path = Gtk.TreePath.new_from_string(pathString);
|
||||
let [model_, iter] = this._store.get_iter(path);
|
||||
let appInfo = this._store.get_value(iter, Columns.APPINFO);
|
||||
|
||||
this._changedPermitted = false;
|
||||
this._changeItem(appInfo.get_id(), index);
|
||||
this._store.set_value(iter, Columns.WORKSPACE, index);
|
||||
this._changedPermitted = true;
|
||||
_getRuleRows() {
|
||||
return this._list.get_children().filter(row => !!row.id);
|
||||
}
|
||||
|
||||
_refresh() {
|
||||
if (!this._changedPermitted)
|
||||
// Ignore this notification, model is being modified outside
|
||||
return;
|
||||
|
||||
this._store.clear();
|
||||
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
let validItems = [];
|
||||
for (let i = 0; i < currentItems.length; i++) {
|
||||
let [id, index] = currentItems[i].split(':');
|
||||
let appInfo = Gio.DesktopAppInfo.new(id);
|
||||
if (!appInfo)
|
||||
continue;
|
||||
validItems.push(currentItems[i]);
|
||||
|
||||
this._appendRow(appInfo, parseInt(index));
|
||||
}
|
||||
|
||||
if (validItems.length != currentItems.length) // some items were filtered out
|
||||
this._settings.set_strv(SETTINGS_KEY, validItems);
|
||||
}
|
||||
|
||||
_appendRow(appInfo, workspace) {
|
||||
let iter = this._store.append();
|
||||
let icon = appInfo.get_icon();
|
||||
let displayName = appInfo.get_display_name();
|
||||
let adj = new Gtk.Adjustment({
|
||||
lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1,
|
||||
value: workspace
|
||||
_sync() {
|
||||
const oldRules = this._getRuleRows();
|
||||
const newRules = this._settings.get_strv(SETTINGS_KEY).map(entry => {
|
||||
const [id, value] = entry.split(':');
|
||||
return { id, value };
|
||||
});
|
||||
let { APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT } = Columns;
|
||||
this._store.set(iter,
|
||||
[APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT],
|
||||
[appInfo, icon, displayName, workspace, adj]);
|
||||
|
||||
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 => r.destroy());
|
||||
|
||||
this._settings.unblock_signal_handler(this._changedId);
|
||||
this._updateAction.enabled = true;
|
||||
}
|
||||
|
||||
_checkId(id) {
|
||||
let items = this._settings.get_strv(SETTINGS_KEY);
|
||||
return !items.some(i => i.startsWith(`${id}:`));
|
||||
}
|
||||
|
||||
_appendItem(id, workspace) {
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
currentItems.push(`${id}:${workspace}`);
|
||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
||||
}
|
||||
|
||||
_removeItem(id) {
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
|
||||
|
||||
if (index < 0)
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
currentItems.splice(index, 1);
|
||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
||||
}
|
||||
|
||||
_changeItem(id, workspace) {
|
||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
||||
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
|
||||
|
||||
if (index < 0)
|
||||
currentItems.push(`${id}:${workspace}`);
|
||||
else
|
||||
currentItems[index] = `${id}:${workspace}`;
|
||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const RuleRow = GObject.registerClass({
|
||||
Properties: {
|
||||
'id': GObject.ParamSpec.string(
|
||||
'id', 'id', 'id',
|
||||
GObject.ParamFlags.READABLE,
|
||||
''),
|
||||
'value': GObject.ParamSpec.uint(
|
||||
'value', 'value', 'value',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
1, WORKSPACE_MAX, 1),
|
||||
},
|
||||
}, class RuleRow extends Gtk.ListBoxRow {
|
||||
_init(appInfo, value) {
|
||||
super._init({
|
||||
activatable: false,
|
||||
value,
|
||||
});
|
||||
this._appInfo = appInfo;
|
||||
|
||||
const box = new Gtk.Box({
|
||||
spacing: 6,
|
||||
margin_top: 6,
|
||||
margin_bottom: 6,
|
||||
margin_start: 6,
|
||||
margin_end: 6,
|
||||
});
|
||||
|
||||
const icon = new Gtk.Image({
|
||||
gicon: appInfo.get_icon(),
|
||||
pixel_size: 32,
|
||||
});
|
||||
icon.get_style_context().add_class('icon-dropshadow');
|
||||
box.add(icon);
|
||||
|
||||
const label = new Gtk.Label({
|
||||
label: appInfo.get_display_name(),
|
||||
halign: Gtk.Align.START,
|
||||
hexpand: true,
|
||||
max_width_chars: 20,
|
||||
ellipsize: Pango.EllipsizeMode.END,
|
||||
});
|
||||
box.add(label);
|
||||
|
||||
const spinButton = new Gtk.SpinButton({
|
||||
adjustment: new Gtk.Adjustment({
|
||||
lower: 1,
|
||||
upper: WORKSPACE_MAX,
|
||||
step_increment: 1,
|
||||
}),
|
||||
snap_to_ticks: true,
|
||||
margin_end: 6,
|
||||
});
|
||||
this.bind_property('value',
|
||||
spinButton, 'value',
|
||||
GObject.BindingFlags.SYNC_CREATE | GObject.BindingFlags.BIDIRECTIONAL);
|
||||
box.add(spinButton);
|
||||
|
||||
const button = new Gtk.Button({
|
||||
action_name: 'rules.remove',
|
||||
action_target: new GLib.Variant('s', this.id),
|
||||
image: new Gtk.Image({
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
pixel_size: 16,
|
||||
}),
|
||||
});
|
||||
box.add(button);
|
||||
|
||||
this.add(box);
|
||||
|
||||
this.connect('notify::value', () => {
|
||||
const actionGroup = this.get_action_group('rules');
|
||||
actionGroup.activate_action('update', null);
|
||||
});
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
get id() {
|
||||
return this._appInfo.get_id();
|
||||
}
|
||||
});
|
||||
|
||||
const NewRuleRow = GObject.registerClass(
|
||||
class NewRuleRow extends Gtk.ListBoxRow {
|
||||
_init() {
|
||||
super._init({
|
||||
action_name: 'rules.add',
|
||||
});
|
||||
this.get_accessible().set_name(_('Add Rule'));
|
||||
|
||||
this.add(new Gtk.Image({
|
||||
icon_name: 'list-add-symbolic',
|
||||
pixel_size: 16,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
}));
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
});
|
||||
|
||||
const NewRuleDialog = GObject.registerClass(
|
||||
class NewRuleDialog extends Gtk.AppChooserDialog {
|
||||
_init(parent) {
|
||||
super._init({
|
||||
transient_for: parent,
|
||||
modal: true,
|
||||
});
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
|
||||
this.get_widget().set({
|
||||
show_all: true,
|
||||
show_other: true, // hide more button
|
||||
});
|
||||
|
||||
this.get_widget().connect('application-selected',
|
||||
this._updateSensitivity.bind(this));
|
||||
this._updateSensitivity();
|
||||
|
||||
this.show();
|
||||
}
|
||||
|
||||
_updateSensitivity() {
|
||||
const rules = this._settings.get_strv(SETTINGS_KEY);
|
||||
const appInfo = this.get_widget().get_app_info();
|
||||
this.set_response_sensitive(Gtk.ResponseType.OK,
|
||||
appInfo && !rules.some(i => i.startsWith(appInfo.get_id())));
|
||||
}
|
||||
});
|
||||
|
||||
function init() {
|
||||
ExtensionUtils.initTranslations();
|
||||
}
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new Widget({ margin: 12 });
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new AutoMoveSettingsWidget();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* exported init enable disable */
|
||||
// Drive menu extension
|
||||
const { Gio, GObject, Shell, St } = imports.gi;
|
||||
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
@@ -14,10 +14,16 @@ const ShellMountOperation = imports.ui.shellMountOperation;
|
||||
var MountMenuItem = GObject.registerClass(
|
||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(mount) {
|
||||
super._init();
|
||||
super._init({
|
||||
style_class: 'drive-menu-item',
|
||||
});
|
||||
|
||||
this.label = new St.Label({ text: mount.get_name() });
|
||||
this.add(this.label, { expand: true });
|
||||
this.label = new St.Label({
|
||||
text: mount.get_name(),
|
||||
x_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
this.add_child(this.label);
|
||||
this.label_actor = this.label;
|
||||
|
||||
this.mount = mount;
|
||||
@@ -26,9 +32,12 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
|
||||
let ejectIcon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon'
|
||||
style_class: 'popup-menu-icon',
|
||||
});
|
||||
let ejectButton = new St.Button({
|
||||
child: ejectIcon,
|
||||
style_class: 'button',
|
||||
});
|
||||
let ejectButton = new St.Button({ child: ejectIcon });
|
||||
ejectButton.connect('clicked', this._eject.bind(this));
|
||||
this.add(ejectButton);
|
||||
|
||||
@@ -53,13 +62,13 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
|
||||
let volume = this.mount.get_volume();
|
||||
|
||||
if (volume == null) {
|
||||
if (!volume) {
|
||||
// probably a GDaemonMount, could be network or
|
||||
// local, but we can't tell; assume it's local for now
|
||||
return true;
|
||||
}
|
||||
|
||||
return volume.get_identifier('class') != 'network';
|
||||
return volume.get_identifier('class') !== 'network';
|
||||
}
|
||||
|
||||
_syncVisibility() {
|
||||
@@ -69,16 +78,17 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_eject() {
|
||||
let unmountArgs = [
|
||||
Gio.MountUnmountFlags.NONE,
|
||||
(new ShellMountOperation.ShellMountOperation(this.mount)).mountOp,
|
||||
null // Gio.Cancellable
|
||||
new ShellMountOperation.ShellMountOperation(this.mount).mountOp,
|
||||
null, // Gio.Cancellable
|
||||
];
|
||||
|
||||
if (this.mount.can_eject())
|
||||
if (this.mount.can_eject()) {
|
||||
this.mount.eject_with_operation(...unmountArgs,
|
||||
this._ejectFinish.bind(this));
|
||||
else
|
||||
} else {
|
||||
this.mount.unmount_with_operation(...unmountArgs,
|
||||
this._unmountFinish.bind(this));
|
||||
}
|
||||
}
|
||||
|
||||
_unmountFinish(mount, result) {
|
||||
@@ -120,7 +130,7 @@ class DriveMenu extends PanelMenu.Button {
|
||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
let icon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'system-status-icon'
|
||||
style_class: 'system-status-icon',
|
||||
});
|
||||
|
||||
hbox.add_child(icon);
|
||||
@@ -167,13 +177,13 @@ class DriveMenu extends PanelMenu.Button {
|
||||
_removeMount(mount) {
|
||||
for (let i = 0; i < this._mounts.length; i++) {
|
||||
let item = this._mounts[i];
|
||||
if (item.mount == mount) {
|
||||
if (item.mount === mount) {
|
||||
item.destroy();
|
||||
this._mounts.splice(i, 1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
log ('Removing a mount that was never added to the menu');
|
||||
log('Removing a mount that was never added to the menu');
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
@@ -195,7 +205,7 @@ function init() {
|
||||
let _indicator;
|
||||
|
||||
function enable() {
|
||||
_indicator = new DriveMenu;
|
||||
_indicator = new DriveMenu();
|
||||
Main.panel.addToStatusArea('drive-menu', _indicator);
|
||||
}
|
||||
|
||||
|
||||
@@ -1 +1,7 @@
|
||||
/* This extensions requires no custom styling */
|
||||
.drive-menu-item { spacing: 12px; }
|
||||
|
||||
.drive-menu-item .button {
|
||||
border-radius: 99px;
|
||||
padding: 3px;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ class Extension {
|
||||
1,
|
||||
-1);
|
||||
|
||||
ThumbnailsBox.prototype._updateSwitcherVisibility = function() {
|
||||
ThumbnailsBox.prototype._updateSwitcherVisibility = function () {
|
||||
this.hide();
|
||||
};
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ let _activateOriginal = null;
|
||||
|
||||
function enable() {
|
||||
_activateOriginal = AppDisplay.AppIcon.prototype.activate;
|
||||
AppDisplay.AppIcon.prototype.activate = function() {
|
||||
AppDisplay.AppIcon.prototype.activate = function () {
|
||||
_activateOriginal.call(this, 2);
|
||||
};
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ js_sources = []
|
||||
|
||||
metadata_name = 'metadata.json'
|
||||
|
||||
foreach e : all_extensions
|
||||
foreach e : enabled_extensions
|
||||
uuid = e + uuid_suffix
|
||||
|
||||
metadata_conf = configuration_data()
|
||||
@@ -19,27 +19,11 @@ foreach e : all_extensions
|
||||
|
||||
subdir(e)
|
||||
|
||||
js_sources += extension_sources
|
||||
|
||||
if (enabled_extensions.contains(e))
|
||||
install_data (extension_sources + extension_data,
|
||||
install_dir: join_paths(extensiondir, uuid)
|
||||
)
|
||||
endif
|
||||
install_data (extension_sources + extension_data,
|
||||
install_dir: join_paths(extensiondir, uuid)
|
||||
)
|
||||
endforeach
|
||||
|
||||
install_data (extension_schemas,
|
||||
install_dir: schemadir
|
||||
)
|
||||
|
||||
foreach js_source : js_sources
|
||||
if (js60.found())
|
||||
path_array = '@0@'.format(js_source).split('/')
|
||||
name = join_paths(path_array[-2], path_array[-1])
|
||||
|
||||
test('Checking syntax of ' + name, js60,
|
||||
args: ['-s', '-c', js_source],
|
||||
workdir: meson.current_source_dir()
|
||||
)
|
||||
endif
|
||||
endforeach
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported enable disable */
|
||||
const { Clutter } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const { WindowPreview } = imports.ui.windowPreview;
|
||||
const Workspace = imports.ui.workspace;
|
||||
|
||||
// testing settings for natural window placement strategy:
|
||||
@@ -13,9 +16,7 @@ class Rect {
|
||||
[this.x, this.y, this.width, this.height] = [x, y, width, height];
|
||||
}
|
||||
|
||||
/**
|
||||
* used in _calculateWindowTransformationsNatural to replace Meta.Rectangle that is too slow.
|
||||
*/
|
||||
// used in _calculateWindowTransformationsNatural to replace Meta.Rectangle that is too slow.
|
||||
copy() {
|
||||
return new Rect(this.x, this.y, this.width, this.height);
|
||||
}
|
||||
@@ -48,10 +49,10 @@ class Rect {
|
||||
}
|
||||
|
||||
overlap(rect2) {
|
||||
return !((this.x + this.width <= rect2.x) ||
|
||||
(rect2.x + rect2.width <= this.x) ||
|
||||
(this.y + this.height <= rect2.y) ||
|
||||
(rect2.y + rect2.height <= this.y));
|
||||
return !(this.x + this.width <= rect2.x ||
|
||||
rect2.x + rect2.width <= this.x ||
|
||||
this.y + this.height <= rect2.y ||
|
||||
rect2.y + rect2.height <= this.y);
|
||||
}
|
||||
|
||||
center() {
|
||||
@@ -74,7 +75,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
layout.windows = windows;
|
||||
}
|
||||
|
||||
/**
|
||||
/*
|
||||
* Returns clones with matching target coordinates and scales to arrange windows in a natural way that no overlap exists and relative window size is preserved.
|
||||
* This function is almost a 1:1 copy of the function
|
||||
* PresentWindowsEffect::calculateWindowTransformationsNatural() from KDE, see:
|
||||
@@ -100,9 +101,9 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
// This is used when the window is on the edge of the screen to try to use as much screen real estate as possible.
|
||||
directions[i] = direction;
|
||||
direction++;
|
||||
if (direction == 4) {
|
||||
if (direction === 4)
|
||||
direction = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
let loopCounter = 0;
|
||||
@@ -112,10 +113,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
for (let i = 0; i < rects.length; i++) {
|
||||
for (let j = 0; j < rects.length; j++) {
|
||||
let adjustments = [-1, -1, 1, 1]
|
||||
.map(v => v *= WINDOW_PLACEMENT_NATURAL_GAPS);
|
||||
.map(v => (v *= WINDOW_PLACEMENT_NATURAL_GAPS));
|
||||
let iAdjusted = rects[i].adjusted(...adjustments);
|
||||
let jAdjusted = rects[j].adjusted(...adjustments);
|
||||
if (i != j && iAdjusted.overlap(jAdjusted)) {
|
||||
if (i !== j && iAdjusted.overlap(jAdjusted)) {
|
||||
loopCounter++;
|
||||
overlap = true;
|
||||
|
||||
@@ -127,10 +128,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
let diff = [jCenter[0] - iCenter[0], jCenter[1] - iCenter[1]];
|
||||
|
||||
// Prevent dividing by zero and non-movement
|
||||
if (diff[0] == 0 && diff[1] == 0)
|
||||
if (diff[0] === 0 && diff[1] === 0)
|
||||
diff[0] = 1;
|
||||
// Try to keep screen/workspace aspect ratio
|
||||
if ( bounds.height / bounds.width > areaRect.height / areaRect.width )
|
||||
if (bounds.height / bounds.width > areaRect.height / areaRect.width)
|
||||
diff[0] *= 2;
|
||||
else
|
||||
diff[1] *= 2;
|
||||
@@ -159,33 +160,33 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
let xSection = Math.round((rects[i].x - bounds.x) / (bounds.width / 3));
|
||||
let ySection = Math.round((rects[i].y - bounds.y) / (bounds.height / 3));
|
||||
|
||||
let iCenter = rects[i].center();
|
||||
iCenter = rects[i].center();
|
||||
diff[0] = 0;
|
||||
diff[1] = 0;
|
||||
if (xSection != 1 || ySection != 1) { // Remove this if you want the center to pull as well
|
||||
if (xSection == 1)
|
||||
xSection = (directions[i] / 2 ? 2 : 0);
|
||||
if (ySection == 1)
|
||||
ySection = (directions[i] % 2 ? 2 : 0);
|
||||
if (xSection !== 1 || ySection !== 1) { // Remove this if you want the center to pull as well
|
||||
if (xSection === 1)
|
||||
xSection = directions[i] / 2 ? 2 : 0;
|
||||
if (ySection === 1)
|
||||
ySection = directions[i] % 2 ? 2 : 0;
|
||||
}
|
||||
if (xSection == 0 && ySection == 0) {
|
||||
if (xSection === 0 && ySection === 0) {
|
||||
diff[0] = bounds.x - iCenter[0];
|
||||
diff[1] = bounds.y - iCenter[1];
|
||||
}
|
||||
if (xSection == 2 && ySection == 0) {
|
||||
if (xSection === 2 && ySection === 0) {
|
||||
diff[0] = bounds.x + bounds.width - iCenter[0];
|
||||
diff[1] = bounds.y - iCenter[1];
|
||||
}
|
||||
if (xSection == 2 && ySection == 2) {
|
||||
if (xSection === 2 && ySection === 2) {
|
||||
diff[0] = bounds.x + bounds.width - iCenter[0];
|
||||
diff[1] = bounds.y + bounds.height - iCenter[1];
|
||||
}
|
||||
if (xSection == 0 && ySection == 2) {
|
||||
if (xSection === 0 && ySection === 2) {
|
||||
diff[0] = bounds.x - iCenter[0];
|
||||
diff[1] = bounds.y + bounds.height - iCenter[1];
|
||||
}
|
||||
if (diff[0] != 0 || diff[1] != 0) {
|
||||
let length = Math.sqrt(diff[0] * diff[0] + diff[1] * diff[1]);
|
||||
if (diff[0] !== 0 || diff[1] !== 0) {
|
||||
length = Math.sqrt(diff[0] * diff[0] + diff[1] * diff[1]);
|
||||
diff[0] *= WINDOW_PLACEMENT_NATURAL_ACCURACY / length / 2; // /2 to make it less influencing than the normal center-move above
|
||||
diff[1] *= WINDOW_PLACEMENT_NATURAL_ACCURACY / length / 2;
|
||||
rects[i].translate(diff[0], diff[1]);
|
||||
@@ -208,23 +209,25 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||
1.0);
|
||||
|
||||
// Make bounding rect fill the screen size for later steps
|
||||
bounds.x = bounds.x - (areaRect.width - bounds.width * scale) / 2;
|
||||
bounds.y = bounds.y - (areaRect.height - bounds.height * scale) / 2;
|
||||
bounds.x -= (areaRect.width - bounds.width * scale) / 2;
|
||||
bounds.y -= (areaRect.height - bounds.height * scale) / 2;
|
||||
bounds.width = areaRect.width / scale;
|
||||
bounds.height = areaRect.height / scale;
|
||||
|
||||
// Move all windows back onto the screen and set their scale
|
||||
for (let i = 0; i < rects.length; i++) {
|
||||
for (let i = 0; i < rects.length; i++)
|
||||
rects[i].translate(-bounds.x, -bounds.y);
|
||||
}
|
||||
|
||||
|
||||
// rescale to workspace
|
||||
let slots = [];
|
||||
for (let i = 0; i < rects.length; i++) {
|
||||
rects[i].x = rects[i].x * scale + areaRect.x;
|
||||
rects[i].y = rects[i].y * scale + areaRect.y;
|
||||
rects[i].width *= scale;
|
||||
rects[i].height *= scale;
|
||||
|
||||
slots.push([rects[i].x, rects[i].y, scale, clones[i]]);
|
||||
slots.push([rects[i].x, rects[i].y, rects[i].width, rects[i].height, clones[i]]);
|
||||
}
|
||||
|
||||
return slots;
|
||||
@@ -243,24 +246,24 @@ function enable() {
|
||||
|
||||
let settings = ExtensionUtils.getSettings();
|
||||
|
||||
workspaceInjections['_getBestLayout'] = Workspace.Workspace.prototype._getBestLayout;
|
||||
Workspace.Workspace.prototype._getBestLayout = function(windows) {
|
||||
workspaceInjections['_createBestLayout'] = Workspace.WorkspaceLayout.prototype._createBestLayout;
|
||||
Workspace.WorkspaceLayout.prototype._createBestLayout = function (area) {
|
||||
let strategy = new NaturalLayoutStrategy(settings);
|
||||
let layout = { strategy };
|
||||
strategy.computeLayout(windows, layout);
|
||||
let layout = { area, strategy };
|
||||
strategy.computeLayout(this._sortedWindows, layout);
|
||||
|
||||
return layout;
|
||||
};
|
||||
|
||||
/// position window titles on top of windows in overlay ////
|
||||
winInjections['relayout'] = Workspace.WindowOverlay.prototype.relayout;
|
||||
Workspace.WindowOverlay.prototype.relayout = function(animate) {
|
||||
if (settings.get_boolean('window-captions-on-top')) {
|
||||
let [, , , cloneHeight] = this._windowClone.slot;
|
||||
this.title.translation_y = -cloneHeight;
|
||||
}
|
||||
// position window titles on top of windows in overlay
|
||||
winInjections['_init'] = WindowPreview.prototype._init;
|
||||
WindowPreview.prototype._init = function (metaWindow, workspace) {
|
||||
winInjections['_init'].call(this, metaWindow, workspace);
|
||||
|
||||
winInjections['relayout'].call(this, animate);
|
||||
const constraint = this._title.get_constraints().find(
|
||||
c => c.align_axis && c.align_axis === Clutter.AlignAxis.Y_AXIS);
|
||||
constraint.factor = settings.get_boolean('window-captions-on-top')
|
||||
? 0 : 1;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -275,9 +278,9 @@ function disable() {
|
||||
var i;
|
||||
|
||||
for (i in workspaceInjections)
|
||||
removeInjection(Workspace.Workspace.prototype, workspaceInjections, i);
|
||||
removeInjection(Workspace.WorkspaceLayout.prototype, workspaceInjections, i);
|
||||
for (i in winInjections)
|
||||
removeInjection(Workspace.WindowOverlay.prototype, winInjections, i);
|
||||
removeInjection(WindowPreview.prototype, winInjections, i);
|
||||
|
||||
global.stage.queue_relayout();
|
||||
resetState();
|
||||
|
||||
@@ -20,24 +20,33 @@ const PLACE_ICON_SIZE = 16;
|
||||
var PlaceMenuItem = GObject.registerClass(
|
||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||
_init(info) {
|
||||
super._init();
|
||||
super._init({
|
||||
style_class: 'place-menu-item',
|
||||
});
|
||||
this._info = info;
|
||||
|
||||
this._icon = new St.Icon({
|
||||
gicon: info.icon,
|
||||
icon_size: PLACE_ICON_SIZE
|
||||
icon_size: PLACE_ICON_SIZE,
|
||||
});
|
||||
this.add_child(this._icon);
|
||||
|
||||
this._label = new St.Label({ text: info.name, x_expand: true });
|
||||
this._label = new St.Label({
|
||||
text: info.name,
|
||||
x_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
this.add_child(this._label);
|
||||
|
||||
if (info.isRemovable()) {
|
||||
this._ejectIcon = new St.Icon({
|
||||
icon_name: 'media-eject-symbolic',
|
||||
style_class: 'popup-menu-icon'
|
||||
style_class: 'popup-menu-icon',
|
||||
});
|
||||
this._ejectButton = new St.Button({
|
||||
child: this._ejectIcon,
|
||||
style_class: 'button',
|
||||
});
|
||||
this._ejectButton = new St.Button({ child: this._ejectIcon });
|
||||
this._ejectButton.connect('clicked', info.eject.bind(info));
|
||||
this.add_child(this._ejectButton);
|
||||
}
|
||||
@@ -71,7 +80,7 @@ const SECTIONS = [
|
||||
'special',
|
||||
'devices',
|
||||
'bookmarks',
|
||||
'network'
|
||||
'network',
|
||||
];
|
||||
|
||||
let PlacesMenu = GObject.registerClass(
|
||||
@@ -83,7 +92,7 @@ class PlacesMenu extends PanelMenu.Button {
|
||||
let label = new St.Label({
|
||||
text: _('Places'),
|
||||
y_expand: true,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
hbox.add_child(label);
|
||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
@@ -134,7 +143,7 @@ function init() {
|
||||
let _indicator;
|
||||
|
||||
function enable() {
|
||||
_indicator = new PlacesMenu;
|
||||
_indicator = new PlacesMenu();
|
||||
|
||||
let pos = Main.sessionMode.panel.left.indexOf('appMenu');
|
||||
if ('apps-menu' in Main.panel.statusArea)
|
||||
|
||||
@@ -20,8 +20,8 @@ const Hostname1Iface = '<node> \
|
||||
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
|
||||
|
||||
class PlaceInfo {
|
||||
constructor() {
|
||||
this._init.apply(this, arguments);
|
||||
constructor(...params) {
|
||||
this._init(...params);
|
||||
}
|
||||
|
||||
_init(kind, file, name, icon) {
|
||||
@@ -41,14 +41,14 @@ class PlaceInfo {
|
||||
async _ensureMountAndLaunch(context, tryMount) {
|
||||
try {
|
||||
await this._launchDefaultForUri(this.file.get_uri(), context, null);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
||||
Main.notifyError(_('Failed to launch “%s”').format(this.name), e.message);
|
||||
} catch (err) {
|
||||
if (!err.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
||||
Main.notifyError(_('Failed to launch “%s”').format(this.name), err.message);
|
||||
return;
|
||||
}
|
||||
|
||||
let source = {
|
||||
get_icon: () => this.icon
|
||||
get_icon: () => this.icon,
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
try {
|
||||
@@ -200,16 +200,17 @@ class PlaceDeviceInfo extends PlaceInfo {
|
||||
eject() {
|
||||
let unmountArgs = [
|
||||
Gio.MountUnmountFlags.NONE,
|
||||
(new ShellMountOperation.ShellMountOperation(this._mount)).mountOp,
|
||||
null // Gio.Cancellable
|
||||
new ShellMountOperation.ShellMountOperation(this._mount).mountOp,
|
||||
null, // Gio.Cancellable
|
||||
];
|
||||
|
||||
if (this._mount.can_eject())
|
||||
if (this._mount.can_eject()) {
|
||||
this._mount.eject_with_operation(...unmountArgs,
|
||||
this._ejectFinish.bind(this));
|
||||
else
|
||||
} else {
|
||||
this._mount.unmount_with_operation(...unmountArgs,
|
||||
this._unmountFinish.bind(this));
|
||||
}
|
||||
}
|
||||
|
||||
_ejectFinish(mount, result) {
|
||||
@@ -321,7 +322,7 @@ var PlacesManager = class {
|
||||
'mount-changed',
|
||||
'drive-connected',
|
||||
'drive-disconnected',
|
||||
'drive-changed'
|
||||
'drive-changed',
|
||||
];
|
||||
|
||||
this._volumeMonitorSignals = [];
|
||||
@@ -365,7 +366,7 @@ var PlacesManager = class {
|
||||
|
||||
for (let i = 0; i < dirs.length; i++) {
|
||||
let specialPath = GLib.get_user_special_dir(dirs[i]);
|
||||
if (specialPath == null || specialPath == homePath)
|
||||
if (!specialPath || specialPath === homePath)
|
||||
continue;
|
||||
|
||||
let file = Gio.File.new_for_path(specialPath), info;
|
||||
@@ -414,7 +415,7 @@ var PlacesManager = class {
|
||||
networkVolumes.push(volumes[j]);
|
||||
} else {
|
||||
let mount = volumes[j].get_mount();
|
||||
if (mount != null)
|
||||
if (mount)
|
||||
this._addMount('devices', mount);
|
||||
}
|
||||
}
|
||||
@@ -423,7 +424,7 @@ var PlacesManager = class {
|
||||
/* add all volumes that is not associated with a drive */
|
||||
let volumes = this._volumeMonitor.get_volumes();
|
||||
for (let i = 0; i < volumes.length; i++) {
|
||||
if (volumes[i].get_drive() != null)
|
||||
if (volumes[i].get_drive())
|
||||
continue;
|
||||
|
||||
let identifier = volumes[i].get_identifier('class');
|
||||
@@ -431,7 +432,7 @@ var PlacesManager = class {
|
||||
networkVolumes.push(volumes[i]);
|
||||
} else {
|
||||
let mount = volumes[i].get_mount();
|
||||
if (mount != null)
|
||||
if (mount)
|
||||
this._addMount('devices', mount);
|
||||
}
|
||||
}
|
||||
@@ -462,9 +463,9 @@ var PlacesManager = class {
|
||||
this._addVolume('network', networkVolumes[i]);
|
||||
}
|
||||
|
||||
for (let i = 0; i < networkMounts.length; i++) {
|
||||
for (let i = 0; i < networkMounts.length; i++)
|
||||
this._addMount('network', networkMounts[i]);
|
||||
}
|
||||
|
||||
|
||||
this.emit('devices-updated');
|
||||
this.emit('network-updated');
|
||||
@@ -495,7 +496,7 @@ var PlacesManager = class {
|
||||
for (let i = 0; i < lines.length; i++) {
|
||||
let line = lines[i];
|
||||
let components = line.split(' ');
|
||||
let bookmark = components[0];
|
||||
let [bookmark] = components;
|
||||
|
||||
if (!bookmark)
|
||||
continue;
|
||||
@@ -505,16 +506,16 @@ var PlacesManager = class {
|
||||
continue;
|
||||
|
||||
let duplicate = false;
|
||||
for (let i = 0; i < this._places.special.length; i++) {
|
||||
if (file.equal(this._places.special[i].file)) {
|
||||
for (let j = 0; j < this._places.special.length; j++) {
|
||||
if (file.equal(this._places.special[j].file)) {
|
||||
duplicate = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (duplicate)
|
||||
continue;
|
||||
for (let i = 0; i < bookmarks.length; i++) {
|
||||
if (file.equal(bookmarks[i].file)) {
|
||||
for (let j = 0; j < bookmarks.length; j++) {
|
||||
if (file.equal(bookmarks[j].file)) {
|
||||
duplicate = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
/* none used*/
|
||||
.place-menu-item .button {
|
||||
border-radius: 99px;
|
||||
padding: 3px;
|
||||
min-height: auto;
|
||||
}
|
||||
|
||||
.place-menu-item .button:ltr { margin-left: 6px; }
|
||||
.place-menu-item .button:rtl { margin-right: 6px; }
|
||||
|
||||
@@ -19,11 +19,10 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
const { Meta, Shell, St } = imports.gi;
|
||||
const { Clutter, Meta, Shell, St } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
const MESSAGE_FADE_TIME = 2000;
|
||||
|
||||
@@ -65,17 +64,17 @@ let SIZES = [
|
||||
[1200, 675],
|
||||
[1600, 900],
|
||||
[360, 654], // Phone portrait maximized
|
||||
[720, 360] // Phone landscape fullscreen
|
||||
[720, 360], // Phone landscape fullscreen
|
||||
];
|
||||
|
||||
function cycleScreenshotSizes(display, window, binding) {
|
||||
// Probably this isn't useful with 5 sizes, but you can decrease instead
|
||||
// of increase by holding down shift.
|
||||
let modifiers = binding.get_modifiers();
|
||||
let backwards = (modifiers & Meta.VirtualModifier.SHIFT_MASK) != 0;
|
||||
let backwards = (modifiers & Meta.VirtualModifier.SHIFT_MASK) !== 0;
|
||||
|
||||
// Unmaximize first
|
||||
if (window.get_maximized() != 0)
|
||||
if (window.get_maximized() !== 0)
|
||||
window.unmaximize(Meta.MaximizeFlags.BOTH);
|
||||
|
||||
let workArea = window.get_work_area_current_monitor();
|
||||
@@ -83,7 +82,8 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
|
||||
// Double both axes if on a hidpi display
|
||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
||||
let scaledSizes = SIZES.map(size => size.map(wh => wh * scaleFactor));
|
||||
let scaledSizes = SIZES.map(size => size.map(wh => wh * scaleFactor))
|
||||
.filter(([w, h]) => w <= workArea.width && h <= workArea.height);
|
||||
|
||||
// Find the nearest 16:9 size for the current window size
|
||||
let nearestIndex;
|
||||
@@ -98,7 +98,7 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
|
||||
// get the best initial window size
|
||||
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
|
||||
if (nearestIndex == null || error < nearestError) {
|
||||
if (nearestIndex === undefined || error < nearestError) {
|
||||
nearestIndex = i;
|
||||
nearestError = error;
|
||||
}
|
||||
@@ -106,10 +106,7 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
|
||||
// get the next size up or down from ideal
|
||||
let newIndex = (nearestIndex + (backwards ? -1 : 1)) % scaledSizes.length;
|
||||
let newWidth, newHeight;
|
||||
[newWidth, newHeight] = scaledSizes[newIndex];
|
||||
if (newWidth > workArea.width || newHeight > workArea.height)
|
||||
[newWidth, newHeight] = scaledSizes[0];
|
||||
let [newWidth, newHeight] = scaledSizes[newIndex];
|
||||
|
||||
// Push the window onscreen if it would be resized offscreen
|
||||
let newX = outerRect.x;
|
||||
@@ -123,13 +120,13 @@ function cycleScreenshotSizes(display, window, binding) {
|
||||
|
||||
let newOuterRect = window.get_frame_rect();
|
||||
let message = '%d×%d'.format(
|
||||
(newOuterRect.width / scaleFactor),
|
||||
(newOuterRect.height / scaleFactor));
|
||||
newOuterRect.width / scaleFactor,
|
||||
newOuterRect.height / scaleFactor);
|
||||
|
||||
// The new size might have been constrained by geometry hints (e.g. for
|
||||
// a terminal) - in that case, include the actual ratio to the message
|
||||
// we flash
|
||||
let actualNumerator = (newOuterRect.width / newOuterRect.height) * 9;
|
||||
let actualNumerator = 9 * newOuterRect.width / newOuterRect.height;
|
||||
if (Math.abs(actualNumerator - 16) > 0.01)
|
||||
message += ' (%.2f:9)'.format(actualNumerator);
|
||||
|
||||
|
||||
@@ -2,11 +2,14 @@
|
||||
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
||||
/* exported init */
|
||||
|
||||
const { Gio, GLib } = imports.gi;
|
||||
const { Gio } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const Main = imports.ui.main;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Util = Me.imports.util;
|
||||
|
||||
const SETTINGS_KEY = 'name';
|
||||
|
||||
class ThemeManager {
|
||||
@@ -34,13 +37,11 @@ class ThemeManager {
|
||||
let themeName = this._settings.get_string(SETTINGS_KEY);
|
||||
|
||||
if (themeName) {
|
||||
let stylesheetPaths = [
|
||||
[GLib.get_home_dir(), '.themes'],
|
||||
[GLib.get_user_data_dir(), 'themes'],
|
||||
...GLib.get_system_data_dirs().map(dir => [dir, 'themes'])
|
||||
].map(themeDir => GLib.build_filenamev([
|
||||
...themeDir, themeName, 'gnome-shell', 'gnome-shell.css'
|
||||
]));
|
||||
const stylesheetPaths = Util.getThemeDirs()
|
||||
.map(dir => `${dir}/${themeName}/gnome-shell/gnome-shell.css`);
|
||||
|
||||
stylesheetPaths.push(...Util.getModeThemeDirs()
|
||||
.map(dir => `${dir}/${themeName}.css`));
|
||||
|
||||
stylesheet = stylesheetPaths.find(path => {
|
||||
let file = Gio.file_new_for_path(path);
|
||||
|
||||
@@ -4,4 +4,5 @@ extension_data += configure_file(
|
||||
configuration: metadata_conf
|
||||
)
|
||||
|
||||
extension_sources += files('prefs.js', 'util.js')
|
||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||
|
||||
189
extensions/user-theme/prefs.js
Normal file
189
extensions/user-theme/prefs.js
Normal file
@@ -0,0 +1,189 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
// we use async/await here to not block the mainloop, not to parallelize
|
||||
/* eslint-disable no-await-in-loop */
|
||||
|
||||
const { Gio, GLib, GObject, Gtk } = imports.gi;
|
||||
|
||||
const ExtensionUtils = imports.misc.extensionUtils;
|
||||
|
||||
const Me = ExtensionUtils.getCurrentExtension();
|
||||
const Util = Me.imports.util;
|
||||
|
||||
Gio._promisify(Gio._LocalFilePrototype,
|
||||
'enumerate_children_async', 'enumerate_children_finish');
|
||||
Gio._promisify(Gio._LocalFilePrototype,
|
||||
'query_info_async', 'query_info_finish');
|
||||
Gio._promisify(Gio.FileEnumerator.prototype,
|
||||
'next_files_async', 'next_files_finish');
|
||||
|
||||
const UserThemePrefsWidget = GObject.registerClass(
|
||||
class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
||||
_init() {
|
||||
super._init({
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||
});
|
||||
|
||||
const box = new Gtk.Box();
|
||||
this.add(box);
|
||||
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
halign: Gtk.Align.CENTER,
|
||||
valign: Gtk.Align.START,
|
||||
hexpand: true,
|
||||
margin: 60,
|
||||
});
|
||||
this._list.get_style_context().add_class('frame');
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
box.add(this._list);
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
this._list.insert_action_group('theme', this._actionGroup);
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
this._actionGroup.add_action(
|
||||
this._settings.create_action('name'));
|
||||
|
||||
this.connect('destroy', () => this._settings.run_dispose());
|
||||
|
||||
this._rows = new Map();
|
||||
this._addTheme(''); // default
|
||||
|
||||
this._collectThemes();
|
||||
}
|
||||
|
||||
async _collectThemes() {
|
||||
for (const dirName of Util.getThemeDirs()) {
|
||||
const dir = Gio.File.new_for_path(dirName);
|
||||
for (const name of await this._enumerateDir(dir)) {
|
||||
if (this._rows.has(name))
|
||||
continue;
|
||||
|
||||
const file = dir.resolve_relative_path(
|
||||
`${name}/gnome-shell/gnome-shell.css`);
|
||||
try {
|
||||
await file.query_info_async(
|
||||
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
|
||||
Gio.FileQueryInfoFlags.NONE,
|
||||
GLib.PRIORITY_DEFAULT, null);
|
||||
this._addTheme(name);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
|
||||
logError(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (const dirName of Util.getModeThemeDirs()) {
|
||||
const dir = Gio.File.new_for_path(dirName);
|
||||
for (const filename of await this._enumerateDir(dir)) {
|
||||
if (!filename.endsWith('.css'))
|
||||
continue;
|
||||
|
||||
const name = filename.slice(0, -4);
|
||||
if (!this._rows.has(name))
|
||||
this._addTheme(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_addTheme(name) {
|
||||
const row = new ThemeRow(name);
|
||||
this._rows.set(name, row);
|
||||
|
||||
this._list.add(row);
|
||||
row.show_all();
|
||||
}
|
||||
|
||||
async _enumerateDir(dir) {
|
||||
const fileInfos = [];
|
||||
let fileEnum;
|
||||
|
||||
try {
|
||||
fileEnum = await dir.enumerate_children_async(
|
||||
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
|
||||
Gio.FileQueryInfoFlags.NONE,
|
||||
GLib.PRIORITY_DEFAULT, null);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
|
||||
logError(e);
|
||||
return [];
|
||||
}
|
||||
|
||||
let infos;
|
||||
do {
|
||||
infos = await fileEnum.next_files_async(100,
|
||||
GLib.PRIORITY_DEFAULT, null);
|
||||
fileInfos.push(...infos);
|
||||
} while (infos.length > 0);
|
||||
|
||||
return fileInfos.map(info => info.get_name());
|
||||
}
|
||||
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const ThemeRow = GObject.registerClass(
|
||||
class ThemeRow extends Gtk.ListBoxRow {
|
||||
_init(name) {
|
||||
this._name = new GLib.Variant('s', name);
|
||||
|
||||
super._init({
|
||||
action_name: 'theme.name',
|
||||
action_target: this._name,
|
||||
});
|
||||
|
||||
const box = new Gtk.Box({
|
||||
spacing: 12,
|
||||
margin: 12,
|
||||
});
|
||||
this.add(box);
|
||||
|
||||
box.add(new Gtk.Label({
|
||||
label: name || 'Default',
|
||||
hexpand: true,
|
||||
xalign: 0,
|
||||
max_width_chars: 25,
|
||||
width_chars: 25,
|
||||
}));
|
||||
|
||||
this._checkmark = new Gtk.Image({
|
||||
icon_name: 'emblem-ok-symbolic',
|
||||
pixel_size: 16,
|
||||
});
|
||||
box.add(this._checkmark);
|
||||
|
||||
box.show_all();
|
||||
|
||||
const id = this.connect('parent-set', () => {
|
||||
this.disconnect(id);
|
||||
|
||||
const actionGroup = this.get_action_group('theme');
|
||||
actionGroup.connect('action-state-changed::name',
|
||||
this._syncCheckmark.bind(this));
|
||||
this._syncCheckmark();
|
||||
});
|
||||
}
|
||||
|
||||
_syncCheckmark() {
|
||||
const actionGroup = this.get_action_group('theme');
|
||||
const state = actionGroup.get_action_state('name');
|
||||
this._checkmark.opacity = this._name.equal(state);
|
||||
}
|
||||
});
|
||||
|
||||
function init() {
|
||||
}
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new UserThemePrefsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
}
|
||||
17
extensions/user-theme/util.js
Normal file
17
extensions/user-theme/util.js
Normal file
@@ -0,0 +1,17 @@
|
||||
/* exported getThemeDirs getModeThemeDirs */
|
||||
const { GLib } = imports.gi;
|
||||
|
||||
const fn = (...args) => GLib.build_filenamev(args);
|
||||
|
||||
function getThemeDirs() {
|
||||
return [
|
||||
fn(GLib.get_home_dir(), '.themes'),
|
||||
fn(GLib.get_user_data_dir(), 'themes'),
|
||||
...GLib.get_system_data_dirs().map(dir => fn(dir, 'themes')),
|
||||
];
|
||||
}
|
||||
|
||||
function getModeThemeDirs() {
|
||||
return GLib.get_system_data_dirs()
|
||||
.map(dir => fn(dir, 'gnome-shell', 'theme'));
|
||||
}
|
||||
@@ -20,14 +20,14 @@ const DND_ACTIVATE_TIMEOUT = 500;
|
||||
const GroupingMode = {
|
||||
NEVER: 0,
|
||||
AUTO: 1,
|
||||
ALWAYS: 2
|
||||
ALWAYS: 2,
|
||||
};
|
||||
|
||||
|
||||
function _minimizeOrActivateWindow(window) {
|
||||
let focusWindow = global.display.focus_window;
|
||||
if (focusWindow == window ||
|
||||
focusWindow && focusWindow.get_transient_for() == window)
|
||||
if (focusWindow === window ||
|
||||
focusWindow && focusWindow.get_transient_for() === window)
|
||||
window.minimize();
|
||||
else
|
||||
window.activate(global.get_current_time());
|
||||
@@ -37,7 +37,7 @@ function _openMenu(menu) {
|
||||
menu.open();
|
||||
|
||||
let event = Clutter.get_current_event();
|
||||
if (event && event.type() == Clutter.EventType.KEY_RELEASE)
|
||||
if (event && event.type() === Clutter.EventType.KEY_RELEASE)
|
||||
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||
}
|
||||
|
||||
@@ -80,7 +80,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
|
||||
this._maximizeItem = new PopupMenu.PopupMenuItem('');
|
||||
this._maximizeItem.connect('activate', () => {
|
||||
if (this._metaWindow.get_maximized() == Meta.MaximizeFlags.BOTH)
|
||||
if (this._metaWindow.get_maximized() === Meta.MaximizeFlags.BOTH)
|
||||
this._metaWindow.unmaximize(Meta.MaximizeFlags.BOTH);
|
||||
else
|
||||
this._metaWindow.maximize(Meta.MaximizeFlags.BOTH);
|
||||
@@ -114,15 +114,15 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
}
|
||||
|
||||
_updateMinimizeItem() {
|
||||
this._minimizeItem.label.text = this._metaWindow.minimized ?
|
||||
_('Unminimize') : _('Minimize');
|
||||
this._minimizeItem.label.text = this._metaWindow.minimized
|
||||
? _('Unminimize') : _('Minimize');
|
||||
}
|
||||
|
||||
_updateMaximizeItem() {
|
||||
let maximized = this._metaWindow.maximized_vertically &&
|
||||
this._metaWindow.maximized_horizontally;
|
||||
this._maximizeItem.label.text = maximized ?
|
||||
_('Unmaximize') : _('Maximize');
|
||||
this._maximizeItem.label.text = maximized
|
||||
? _('Unmaximize') : _('Maximize');
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
@@ -132,21 +132,21 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
}
|
||||
}
|
||||
|
||||
const WindowTitle = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowTitle'
|
||||
}, class WindowTitle extends St.BoxLayout {
|
||||
const WindowTitle = GObject.registerClass(
|
||||
class WindowTitle extends St.BoxLayout {
|
||||
_init(metaWindow) {
|
||||
this._metaWindow = metaWindow;
|
||||
|
||||
super._init({
|
||||
style_class: 'window-button-box',
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
y_expand: true,
|
||||
});
|
||||
|
||||
this._icon = new St.Bin({ style_class: 'window-button-icon' });
|
||||
this.add(this._icon);
|
||||
this.label_actor = new St.Label({ y_align: Clutter.ActorAlign.CENTER });
|
||||
this.label_actor.clutter_text.single_line_mode = true;
|
||||
this.add(this.label_actor);
|
||||
|
||||
this._textureCache = St.TextureCache.get_default();
|
||||
@@ -184,13 +184,14 @@ const WindowTitle = GObject.registerClass({
|
||||
|
||||
_updateIcon() {
|
||||
let app = Shell.WindowTracker.get_default().get_window_app(this._metaWindow);
|
||||
if (app)
|
||||
if (app) {
|
||||
this._icon.child = app.create_icon_texture(ICON_TEXTURE_SIZE);
|
||||
else
|
||||
} else {
|
||||
this._icon.child = new St.Icon({
|
||||
icon_name: 'icon-missing',
|
||||
icon_size: ICON_TEXTURE_SIZE
|
||||
icon_size: ICON_TEXTURE_SIZE,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
_onDestroy() {
|
||||
@@ -204,14 +205,13 @@ const WindowTitle = GObject.registerClass({
|
||||
|
||||
|
||||
const BaseButton = GObject.registerClass({
|
||||
GTypeName: 'WindowListBaseButton',
|
||||
GTypeFlags: GObject.TypeFlags.ABSTRACT,
|
||||
Properties: {
|
||||
'ignore-workspace': GObject.ParamSpec.boolean(
|
||||
'ignore-workspace', 'ignore-workspace', 'ignore-workspace',
|
||||
GObject.ParamFlags.READWRITE,
|
||||
false)
|
||||
}
|
||||
false),
|
||||
},
|
||||
}, class BaseButton extends St.Button {
|
||||
_init(perMonitor, monitorIndex) {
|
||||
this._perMonitor = perMonitor;
|
||||
@@ -220,13 +220,12 @@ const BaseButton = GObject.registerClass({
|
||||
|
||||
super._init({
|
||||
style_class: 'window-button',
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
can_focus: true,
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE
|
||||
x_expand: true,
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
});
|
||||
|
||||
this.connect('allocation-changed',
|
||||
this.connect('notify::allocation',
|
||||
this._updateIconGeometry.bind(this));
|
||||
this.connect('clicked', this._onClicked.bind(this));
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
@@ -258,7 +257,7 @@ const BaseButton = GObject.registerClass({
|
||||
|
||||
// eslint-disable-next-line camelcase
|
||||
set ignore_workspace(ignore) {
|
||||
if (this._ignoreWorkspace == ignore)
|
||||
if (this._ignoreWorkspace === ignore)
|
||||
return;
|
||||
|
||||
this._ignoreWorkspace = ignore;
|
||||
@@ -311,7 +310,7 @@ const BaseButton = GObject.registerClass({
|
||||
|
||||
return !window.skip_taskbar &&
|
||||
(this._ignoreWorkspace || window.located_on_workspace(workspace)) &&
|
||||
(!this._perMonitor || window.get_monitor() == this._monitorIndex);
|
||||
(!this._perMonitor || window.get_monitor() === this._monitorIndex);
|
||||
}
|
||||
|
||||
_updateVisibility() {
|
||||
@@ -347,9 +346,8 @@ const BaseButton = GObject.registerClass({
|
||||
});
|
||||
|
||||
|
||||
const WindowButton = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowButton'
|
||||
}, class WindowButton extends BaseButton {
|
||||
const WindowButton = GObject.registerClass(
|
||||
class WindowButton extends BaseButton {
|
||||
_init(metaWindow, perMonitor, monitorIndex) {
|
||||
super._init(perMonitor, monitorIndex);
|
||||
|
||||
@@ -380,14 +378,14 @@ const WindowButton = GObject.registerClass({
|
||||
return;
|
||||
}
|
||||
|
||||
if (button == 1)
|
||||
if (button === 1)
|
||||
_minimizeOrActivateWindow(this.metaWindow);
|
||||
else
|
||||
_openMenu(this._contextMenu);
|
||||
}
|
||||
|
||||
_isFocused() {
|
||||
return global.display.focus_window == this.metaWindow;
|
||||
return global.display.focus_window === this.metaWindow;
|
||||
}
|
||||
|
||||
_updateStyle() {
|
||||
@@ -400,7 +398,7 @@ const WindowButton = GObject.registerClass({
|
||||
}
|
||||
|
||||
_windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
|
||||
if (monitorIndex == this._monitorIndex && metaWindow == this.metaWindow)
|
||||
if (monitorIndex === this._monitorIndex && metaWindow === this.metaWindow)
|
||||
this._updateVisibility();
|
||||
}
|
||||
|
||||
@@ -469,19 +467,18 @@ class AppContextMenu extends PopupMenu.PopupMenu {
|
||||
this._minimizeItem.visible = windows.some(w => !w.minimized);
|
||||
this._unminimizeItem.visible = windows.some(w => w.minimized);
|
||||
this._maximizeItem.visible = windows.some(w => {
|
||||
return w.get_maximized() != Meta.MaximizeFlags.BOTH;
|
||||
return w.get_maximized() !== Meta.MaximizeFlags.BOTH;
|
||||
});
|
||||
this._unmaximizeItem.visible = windows.some(w => {
|
||||
return w.get_maximized() == Meta.MaximizeFlags.BOTH;
|
||||
return w.get_maximized() === Meta.MaximizeFlags.BOTH;
|
||||
});
|
||||
|
||||
super.open(animate);
|
||||
}
|
||||
}
|
||||
|
||||
const AppButton = GObject.registerClass({
|
||||
GTypeName: 'WindowListAppButton',
|
||||
}, class AppButton extends BaseButton {
|
||||
const AppButton = GObject.registerClass(
|
||||
class AppButton extends BaseButton {
|
||||
_init(app, perMonitor, monitorIndex) {
|
||||
super._init(perMonitor, monitorIndex);
|
||||
|
||||
@@ -493,26 +490,24 @@ const AppButton = GObject.registerClass({
|
||||
|
||||
this._singleWindowTitle = new St.Bin({
|
||||
x_expand: true,
|
||||
y_fill: true,
|
||||
x_align: St.Align.START
|
||||
});
|
||||
stack.add_actor(this._singleWindowTitle);
|
||||
|
||||
this._multiWindowTitle = new St.BoxLayout({
|
||||
style_class: 'window-button-box',
|
||||
x_expand: true
|
||||
x_expand: true,
|
||||
});
|
||||
stack.add_actor(this._multiWindowTitle);
|
||||
|
||||
this._icon = new St.Bin({
|
||||
style_class: 'window-button-icon',
|
||||
child: app.create_icon_texture(ICON_TEXTURE_SIZE)
|
||||
child: app.create_icon_texture(ICON_TEXTURE_SIZE),
|
||||
});
|
||||
this._multiWindowTitle.add(this._icon);
|
||||
|
||||
let label = new St.Label({
|
||||
text: app.get_name(),
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
});
|
||||
this._multiWindowTitle.add(label);
|
||||
this._multiWindowTitle.label_actor = label;
|
||||
@@ -547,8 +542,8 @@ const AppButton = GObject.registerClass({
|
||||
}
|
||||
|
||||
_windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) {
|
||||
if (this._windowTracker.get_window_app(metaWindow) == this.app &&
|
||||
monitorIndex == this._monitorIndex) {
|
||||
if (this._windowTracker.get_window_app(metaWindow) === this.app &&
|
||||
monitorIndex === this._monitorIndex) {
|
||||
this._updateVisibility();
|
||||
this._windowsChanged();
|
||||
}
|
||||
@@ -567,7 +562,7 @@ const AppButton = GObject.registerClass({
|
||||
}
|
||||
|
||||
_isFocused() {
|
||||
return this._windowTracker.focus_app == this.app;
|
||||
return this._windowTracker.focus_app === this.app;
|
||||
}
|
||||
|
||||
_updateIconGeometry() {
|
||||
@@ -583,7 +578,7 @@ const AppButton = GObject.registerClass({
|
||||
|
||||
_windowsChanged() {
|
||||
let windows = this.getWindowList();
|
||||
this._singleWindowTitle.visible = windows.length == 1;
|
||||
this._singleWindowTitle.visible = windows.length === 1;
|
||||
this._multiWindowTitle.visible = !this._singleWindowTitle.visible;
|
||||
|
||||
if (this._singleWindowTitle.visible) {
|
||||
@@ -625,12 +620,12 @@ const AppButton = GObject.registerClass({
|
||||
if (contextMenuWasOpen)
|
||||
this._contextMenu.close();
|
||||
|
||||
if (button == 1) {
|
||||
if (button === 1) {
|
||||
if (menuWasOpen)
|
||||
return;
|
||||
|
||||
let windows = this.getWindowList();
|
||||
if (windows.length == 1) {
|
||||
if (windows.length === 1) {
|
||||
if (contextMenuWasOpen)
|
||||
return;
|
||||
_minimizeOrActivateWindow(windows[0]);
|
||||
@@ -671,9 +666,8 @@ const AppButton = GObject.registerClass({
|
||||
});
|
||||
|
||||
|
||||
const WindowList = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowList',
|
||||
}, class WindowList extends St.Widget {
|
||||
const WindowList = GObject.registerClass(
|
||||
class WindowList extends St.Widget {
|
||||
_init(perMonitor, monitor) {
|
||||
this._perMonitor = perMonitor;
|
||||
this._monitor = monitor;
|
||||
@@ -683,7 +677,7 @@ const WindowList = GObject.registerClass({
|
||||
style_class: 'bottom-panel solid',
|
||||
reactive: true,
|
||||
track_hover: true,
|
||||
layout_manager: new Clutter.BinLayout()
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
});
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
@@ -703,9 +697,9 @@ const WindowList = GObject.registerClass({
|
||||
layout_manager: layout,
|
||||
x_align: Clutter.ActorAlign.START,
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
y_expand: true,
|
||||
});
|
||||
box.add(this._windowList, { expand: true });
|
||||
box.add_child(this._windowList);
|
||||
|
||||
this._windowList.connect('style-changed', () => {
|
||||
let node = this._windowList.get_theme_node();
|
||||
@@ -718,7 +712,7 @@ const WindowList = GObject.registerClass({
|
||||
box.add(indicatorsBox);
|
||||
|
||||
this._workspaceIndicator = new WorkspaceIndicator();
|
||||
indicatorsBox.add(this._workspaceIndicator.container, { expand: false, y_fill: true });
|
||||
indicatorsBox.add_child(this._workspaceIndicator.container);
|
||||
|
||||
this._mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' });
|
||||
this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect(
|
||||
@@ -734,7 +728,7 @@ const WindowList = GObject.registerClass({
|
||||
|
||||
Main.layoutManager.addChrome(this, {
|
||||
affectsStruts: true,
|
||||
trackFullscreen: true
|
||||
trackFullscreen: true,
|
||||
});
|
||||
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
|
||||
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
|
||||
@@ -751,7 +745,7 @@ const WindowList = GObject.registerClass({
|
||||
'keyboard-visible-changed',
|
||||
(o, state) => {
|
||||
Main.layoutManager.keyboardBox.visible = state;
|
||||
let keyboardBox = Main.layoutManager.keyboardBox;
|
||||
let { keyboardBox } = Main.layoutManager;
|
||||
keyboardBox.visible = state;
|
||||
if (state) {
|
||||
Main.uiGroup.set_child_above_sibling(
|
||||
@@ -793,7 +787,7 @@ const WindowList = GObject.registerClass({
|
||||
this._dragEndId = Main.xdndHandler.connect('drag-end',
|
||||
this._onDragEnd.bind(this));
|
||||
this._dragMonitor = {
|
||||
dragMotion: this._onDragMotion.bind(this)
|
||||
dragMotion: this._onDragMotion.bind(this),
|
||||
};
|
||||
|
||||
this._dndTimeoutId = 0;
|
||||
@@ -809,9 +803,9 @@ const WindowList = GObject.registerClass({
|
||||
_onScrollEvent(actor, event) {
|
||||
let direction = event.get_scroll_direction();
|
||||
let diff = 0;
|
||||
if (direction == Clutter.ScrollDirection.DOWN)
|
||||
if (direction === Clutter.ScrollDirection.DOWN)
|
||||
diff = 1;
|
||||
else if (direction == Clutter.ScrollDirection.UP)
|
||||
else if (direction === Clutter.ScrollDirection.UP)
|
||||
diff = -1;
|
||||
else
|
||||
return;
|
||||
@@ -833,7 +827,7 @@ const WindowList = GObject.registerClass({
|
||||
let workspaceManager = global.workspace_manager;
|
||||
let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') ||
|
||||
workspaceManager.n_workspaces > 1;
|
||||
let workspacesOnMonitor = this._monitor == Main.layoutManager.primaryMonitor ||
|
||||
let workspacesOnMonitor = this._monitor === Main.layoutManager.primaryMonitor ||
|
||||
!this._mutterSettings.get_boolean('workspaces-only-on-primary');
|
||||
|
||||
this._workspaceIndicator.visible = hasWorkspaces && workspacesOnMonitor;
|
||||
@@ -849,23 +843,23 @@ const WindowList = GObject.registerClass({
|
||||
});
|
||||
|
||||
this._windowList.reactive = visible;
|
||||
this._windowList.get_children().forEach(c => c.reactive = visible);
|
||||
this._windowList.get_children().forEach(c => (c.reactive = visible));
|
||||
}
|
||||
|
||||
_getPreferredUngroupedWindowListWidth() {
|
||||
if (this._windowList.get_n_children() == 0)
|
||||
if (this._windowList.get_n_children() === 0)
|
||||
return this._windowList.get_preferred_width(-1)[1];
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let [, childWidth] = children[0].get_preferred_width(-1);
|
||||
let spacing = this._windowList.layout_manager.spacing;
|
||||
let { spacing } = this._windowList.layout_manager;
|
||||
|
||||
let workspace = global.workspace_manager.get_active_workspace();
|
||||
let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||
if (this._perMonitor)
|
||||
windows = windows.filter(w => w.get_monitor() == this._monitor.index);
|
||||
windows = windows.filter(w => w.get_monitor() === this._monitor.index);
|
||||
let nWindows = windows.length;
|
||||
if (nWindows == 0)
|
||||
if (nWindows === 0)
|
||||
return this._windowList.get_preferred_width(-1)[1];
|
||||
|
||||
return nWindows * childWidth + (nWindows - 1) * spacing;
|
||||
@@ -879,22 +873,22 @@ const WindowList = GObject.registerClass({
|
||||
_groupingModeChanged() {
|
||||
this._groupingMode = this._settings.get_enum('grouping-mode');
|
||||
|
||||
if (this._groupingMode == GroupingMode.AUTO) {
|
||||
if (this._groupingMode === GroupingMode.AUTO) {
|
||||
this._checkGrouping();
|
||||
} else {
|
||||
this._grouped = this._groupingMode == GroupingMode.ALWAYS;
|
||||
this._grouped = this._groupingMode === GroupingMode.ALWAYS;
|
||||
this._populateWindowList();
|
||||
}
|
||||
}
|
||||
|
||||
_checkGrouping() {
|
||||
if (this._groupingMode != GroupingMode.AUTO)
|
||||
if (this._groupingMode !== GroupingMode.AUTO)
|
||||
return;
|
||||
|
||||
let maxWidth = this._getMaxWindowListWidth();
|
||||
let natWidth = this._getPreferredUngroupedWindowListWidth();
|
||||
|
||||
let grouped = (maxWidth < natWidth);
|
||||
let grouped = maxWidth < natWidth;
|
||||
if (this._grouped !== grouped) {
|
||||
this._grouped = grouped;
|
||||
this._populateWindowList();
|
||||
@@ -922,20 +916,20 @@ const WindowList = GObject.registerClass({
|
||||
}
|
||||
|
||||
_updateKeyboardAnchor() {
|
||||
if (!Main.keyboard.actor)
|
||||
if (!Main.keyboard.keyboardActor)
|
||||
return;
|
||||
|
||||
let translationY = Main.overview.visible ? 0 : this.height;
|
||||
Main.keyboard.actor.translation_y = -translationY;
|
||||
Main.keyboard.keyboardActor.translation_y = -translationY;
|
||||
}
|
||||
|
||||
_onAppStateChanged(appSys, app) {
|
||||
if (!this._grouped)
|
||||
return;
|
||||
|
||||
if (app.state == Shell.AppState.RUNNING)
|
||||
if (app.state === Shell.AppState.RUNNING)
|
||||
this._addApp(app);
|
||||
else if (app.state == Shell.AppState.STOPPED)
|
||||
else if (app.state === Shell.AppState.STOPPED)
|
||||
this._removeApp(app);
|
||||
}
|
||||
|
||||
@@ -943,15 +937,12 @@ const WindowList = GObject.registerClass({
|
||||
let button = new AppButton(app, this._perMonitor, this._monitor.index);
|
||||
this._settings.bind('display-all-workspaces',
|
||||
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
|
||||
this._windowList.layout_manager.pack(button,
|
||||
true, true, true,
|
||||
Clutter.BoxAlignment.START,
|
||||
Clutter.BoxAlignment.START);
|
||||
this._windowList.add_child(button);
|
||||
}
|
||||
|
||||
_removeApp(app) {
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.app == app);
|
||||
let child = children.find(c => c.app === app);
|
||||
if (child)
|
||||
child.destroy();
|
||||
}
|
||||
@@ -967,16 +958,13 @@ const WindowList = GObject.registerClass({
|
||||
return;
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
if (children.find(c => c.metaWindow == win))
|
||||
if (children.find(c => c.metaWindow === win))
|
||||
return;
|
||||
|
||||
let button = new WindowButton(win, this._perMonitor, this._monitor.index);
|
||||
this._settings.bind('display-all-workspaces',
|
||||
button, 'ignore-workspace', Gio.SettingsBindFlags.GET);
|
||||
this._windowList.layout_manager.pack(button,
|
||||
true, true, true,
|
||||
Clutter.BoxAlignment.START,
|
||||
Clutter.BoxAlignment.START);
|
||||
this._windowList.add_child(button);
|
||||
}
|
||||
|
||||
_onWindowRemoved(ws, win) {
|
||||
@@ -990,7 +978,7 @@ const WindowList = GObject.registerClass({
|
||||
return; // not actually removed, just moved to another workspace
|
||||
|
||||
let children = this._windowList.get_children();
|
||||
let child = children.find(c => c.metaWindow == win);
|
||||
let child = children.find(c => c.metaWindow === win);
|
||||
if (child)
|
||||
child.destroy();
|
||||
}
|
||||
@@ -1046,7 +1034,7 @@ const WindowList = GObject.registerClass({
|
||||
|
||||
let hoveredWindow = dragEvent.targetActor.metaWindow;
|
||||
if (!hoveredWindow ||
|
||||
this._dndWindow == hoveredWindow)
|
||||
this._dndWindow === hoveredWindow)
|
||||
return DND.DragMotionResult.CONTINUE;
|
||||
|
||||
this._removeActivateTimeout();
|
||||
@@ -1060,7 +1048,7 @@ const WindowList = GObject.registerClass({
|
||||
|
||||
_removeActivateTimeout() {
|
||||
if (this._dndTimeoutId)
|
||||
GLib.source_remove (this._dndTimeoutId);
|
||||
GLib.source_remove(this._dndTimeoutId);
|
||||
this._dndTimeoutId = 0;
|
||||
this._dndWindow = null;
|
||||
}
|
||||
@@ -1150,7 +1138,7 @@ class Extension {
|
||||
let showOnAllMonitors = this._settings.get_boolean('show-on-all-monitors');
|
||||
|
||||
Main.layoutManager.monitors.forEach(monitor => {
|
||||
if (showOnAllMonitors || monitor == Main.layoutManager.primaryMonitor)
|
||||
if (showOnAllMonitors || monitor === Main.layoutManager.primaryMonitor)
|
||||
this._windowLists.push(new WindowList(showOnAllMonitors, monitor));
|
||||
});
|
||||
}
|
||||
|
||||
@@ -14,29 +14,40 @@ function init() {
|
||||
}
|
||||
|
||||
const WindowListPrefsWidget = GObject.registerClass(
|
||||
class WindowListPrefsWidget extends Gtk.Grid {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
|
||||
this.margin = 24;
|
||||
this.row_spacing = 6;
|
||||
this.orientation = Gtk.Orientation.VERTICAL;
|
||||
class WindowListPrefsWidget extends Gtk.Box {
|
||||
_init() {
|
||||
super._init({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
spacing: 6,
|
||||
margin_top: 36,
|
||||
margin_bottom: 36,
|
||||
margin_start: 36,
|
||||
margin_end: 36,
|
||||
halign: Gtk.Align.CENTER,
|
||||
});
|
||||
|
||||
let groupingLabel = '<b>%s</b>'.format(_('Window Grouping'));
|
||||
this.add(new Gtk.Label({
|
||||
label: groupingLabel, use_markup: true,
|
||||
halign: Gtk.Align.START
|
||||
halign: Gtk.Align.START,
|
||||
}));
|
||||
|
||||
let align = new Gtk.Alignment({ left_padding: 12 });
|
||||
this.add(align);
|
||||
|
||||
let grid = new Gtk.Grid({
|
||||
const box = new Gtk.Box({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
row_spacing: 6,
|
||||
column_spacing: 6
|
||||
spacing: 12,
|
||||
margin_bottom: 12,
|
||||
});
|
||||
align.add(grid);
|
||||
this.add(box);
|
||||
|
||||
const context = box.get_style_context();
|
||||
const cssProvider = new Gtk.CssProvider();
|
||||
cssProvider.load_from_data(
|
||||
'box { padding: 12px; }');
|
||||
|
||||
context.add_provider(cssProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
context.add_class('frame');
|
||||
context.add_class('view');
|
||||
|
||||
this._settings = ExtensionUtils.getSettings();
|
||||
let currentMode = this._settings.get_string('grouping-mode');
|
||||
@@ -46,10 +57,11 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
let modeLabels = {
|
||||
'never': _('Never group windows'),
|
||||
'auto': _('Group windows when space is limited'),
|
||||
'always': _('Always group windows')
|
||||
'always': _('Always group windows'),
|
||||
};
|
||||
|
||||
let radio = null;
|
||||
let currentRadio = null;
|
||||
for (let i = 0; i < modes.length; i++) {
|
||||
let mode = modes[i];
|
||||
let label = modeLabels[mode];
|
||||
@@ -59,11 +71,15 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
}
|
||||
|
||||
radio = new Gtk.RadioButton({
|
||||
active: currentMode == mode,
|
||||
label: label,
|
||||
group: radio
|
||||
active: !i,
|
||||
label,
|
||||
group: radio,
|
||||
margin_end: 12,
|
||||
});
|
||||
grid.add(radio);
|
||||
box.add(radio);
|
||||
|
||||
if (currentMode === mode)
|
||||
currentRadio = radio;
|
||||
|
||||
radio.connect('toggled', button => {
|
||||
if (button.active)
|
||||
@@ -71,25 +87,25 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
||||
});
|
||||
}
|
||||
|
||||
if (currentRadio)
|
||||
currentRadio.active = true;
|
||||
|
||||
let check = new Gtk.CheckButton({
|
||||
label: _('Show on all monitors'),
|
||||
margin_top: 6
|
||||
});
|
||||
this._settings.bind('show-on-all-monitors', check, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
this.add(check);
|
||||
|
||||
check = new Gtk.CheckButton({
|
||||
label: _('Show windows from all workspaces'),
|
||||
margin_top: 6
|
||||
});
|
||||
this._settings.bind('display-all-workspaces', check, 'active', Gio.SettingsBindFlags.DEFAULT);
|
||||
this.add(check);
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
});
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new WindowListPrefsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new WindowListPrefsWidget();
|
||||
}
|
||||
|
||||
@@ -6,51 +6,77 @@ const Main = imports.ui.main;
|
||||
const Overview = imports.ui.overview;
|
||||
const { WorkspacesDisplay } = imports.ui.workspacesView;
|
||||
|
||||
let MyWorkspacesDisplay = class extends WorkspacesDisplay {
|
||||
constructor() {
|
||||
super();
|
||||
let MyWorkspacesDisplay = GObject.registerClass(
|
||||
class MyWorkspacesDisplay extends WorkspacesDisplay {
|
||||
_init() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
this.actor.add_constraint(
|
||||
this._workspaceAdjustment = new St.Adjustment({
|
||||
value: workspaceManager.get_active_workspace_index(),
|
||||
lower: 0,
|
||||
page_increment: 1,
|
||||
page_size: 1,
|
||||
step_increment: 0,
|
||||
upper: workspaceManager.n_workspaces,
|
||||
});
|
||||
|
||||
this._nWorkspacesChangedId =
|
||||
workspaceManager.connect('notify::n-workspaces',
|
||||
this._updateAdjustment.bind(this));
|
||||
|
||||
super._init(this._workspaceAdjustment);
|
||||
|
||||
this._workspaceAdjustment.actor = this;
|
||||
|
||||
this.add_constraint(
|
||||
new Layout.MonitorConstraint({
|
||||
primary: true,
|
||||
work_area: true
|
||||
work_area: true,
|
||||
}));
|
||||
|
||||
this.actor.connect('destroy', this._onDestroy.bind(this));
|
||||
|
||||
this._workareasChangedId = global.display.connect('workareas-changed',
|
||||
this._onWorkAreasChanged.bind(this));
|
||||
this._onWorkAreasChanged();
|
||||
}
|
||||
|
||||
show(...args) {
|
||||
if (this._scrollEventId == 0)
|
||||
animateToOverview(...args) {
|
||||
if (!this._scrollEventId) {
|
||||
this._scrollEventId = Main.windowPicker.connect('scroll-event',
|
||||
this._onScrollEvent.bind(this));
|
||||
}
|
||||
|
||||
super.show(...args);
|
||||
super.animateToOverview(...args);
|
||||
}
|
||||
|
||||
hide(...args) {
|
||||
vfunc_hide(...args) {
|
||||
if (this._scrollEventId > 0)
|
||||
Main.windowPicker.disconnect(this._scrollEventId);
|
||||
this._scrollEventId = 0;
|
||||
|
||||
super.hide(...args);
|
||||
super.vfunc_hide(...args);
|
||||
}
|
||||
|
||||
_onWorkAreasChanged() {
|
||||
let { primaryIndex } = Main.layoutManager;
|
||||
let workarea = Main.layoutManager.getWorkAreaForMonitor(primaryIndex);
|
||||
this.setWorkspacesFullGeometry(workarea);
|
||||
this._actualGeometry =
|
||||
Main.layoutManager.getWorkAreaForMonitor(primaryIndex);
|
||||
this._syncWorkspacesActualGeometry();
|
||||
}
|
||||
|
||||
_updateAdjustment() {
|
||||
let workspaceManager = global.workspace_manager;
|
||||
this._workspaceAdjustment.set({
|
||||
upper: workspaceManager.n_workspaces,
|
||||
value: workspaceManager.get_active_workspace_index(),
|
||||
});
|
||||
}
|
||||
|
||||
_updateWorkspacesViews() {
|
||||
super._updateWorkspacesViews();
|
||||
|
||||
this._workspacesViews.forEach(v => {
|
||||
Main.layoutManager.overviewGroup.remove_actor(v.actor);
|
||||
Main.windowPicker.add_actor(v.actor);
|
||||
Main.layoutManager.overviewGroup.remove_actor(v);
|
||||
Main.windowPicker.add_actor(v);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -58,14 +84,19 @@ let MyWorkspacesDisplay = class extends WorkspacesDisplay {
|
||||
if (this._workareasChangedId)
|
||||
global.display.disconnect(this._workareasChangedId);
|
||||
this._workareasChangedId = 0;
|
||||
|
||||
if (this._nWorkspacesChangedId)
|
||||
global.workspace_manager.disconnect(this._nWorkspacesChangedId);
|
||||
this._nWorkspacesChangedId = 0;
|
||||
|
||||
super._onDestroy();
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
var WindowPicker = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowPicker',
|
||||
Signals: {
|
||||
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] }
|
||||
}
|
||||
'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
|
||||
},
|
||||
}, class extends Clutter.Actor {
|
||||
_init() {
|
||||
this._visible = false;
|
||||
@@ -97,7 +128,7 @@ var WindowPicker = GObject.registerClass({
|
||||
Main.overview.addAction = a => this._backgroundGroup.add_action(a);
|
||||
|
||||
this._workspacesDisplay = new MyWorkspacesDisplay();
|
||||
this.add_child(this._workspacesDisplay.actor);
|
||||
this.add_child(this._workspacesDisplay);
|
||||
|
||||
Main.overview.addAction = addActionOrig;
|
||||
|
||||
@@ -135,12 +166,12 @@ var WindowPicker = GObject.registerClass({
|
||||
this._fakeOverviewVisible(true);
|
||||
this._shadeBackgrounds();
|
||||
this._fakeOverviewAnimation();
|
||||
this._workspacesDisplay.show(false);
|
||||
this._workspacesDisplay.animateToOverview(false);
|
||||
|
||||
this._stageKeyPressId = global.stage.connect('key-press-event',
|
||||
(a, event) => {
|
||||
let sym = event.get_key_symbol();
|
||||
if (sym == Clutter.KEY_Escape) {
|
||||
if (sym === Clutter.KEY_Escape) {
|
||||
this.close();
|
||||
return Clutter.EVENT_STOP;
|
||||
}
|
||||
@@ -173,12 +204,12 @@ var WindowPicker = GObject.registerClass({
|
||||
}
|
||||
|
||||
_fakeOverviewAnimation(onComplete) {
|
||||
Main.overview.animationInProgress = true;
|
||||
Main.overview._animationInProgress = true;
|
||||
GLib.timeout_add(
|
||||
GLib.PRIORITY_DEFAULT,
|
||||
Overview.ANIMATION_TIME,
|
||||
() => {
|
||||
Main.overview.animationInProgress = false;
|
||||
Main.overview._animationInProgress = false;
|
||||
if (onComplete)
|
||||
onComplete();
|
||||
});
|
||||
@@ -186,7 +217,7 @@ var WindowPicker = GObject.registerClass({
|
||||
|
||||
_fakeOverviewVisible(visible) {
|
||||
// Fake overview state for WorkspacesDisplay
|
||||
Main.overview.visible = visible;
|
||||
Main.overview._visible = visible;
|
||||
|
||||
// Hide real windows
|
||||
Main.layoutManager._inOverview = visible;
|
||||
@@ -199,7 +230,7 @@ var WindowPicker = GObject.registerClass({
|
||||
return true;
|
||||
|
||||
this._modal = Main.pushModal(this, {
|
||||
actionMode: Shell.ActionMode.OVERVIEW
|
||||
actionMode: Shell.ActionMode.OVERVIEW,
|
||||
});
|
||||
|
||||
if (!this._modal) {
|
||||
@@ -244,7 +275,7 @@ var WindowPickerToggle = GObject.registerClass(
|
||||
class WindowPickerToggle extends St.Button {
|
||||
_init() {
|
||||
let iconBin = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout()
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
});
|
||||
iconBin.add_child(new St.Icon({
|
||||
icon_name: 'focus-windows-symbolic',
|
||||
@@ -252,15 +283,13 @@ class WindowPickerToggle extends St.Button {
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
}));
|
||||
super._init({
|
||||
style_class: 'window-picker-toggle',
|
||||
child: iconBin,
|
||||
visible: !Main.sessionMode.hasOverview,
|
||||
x_fill: true,
|
||||
y_fill: true,
|
||||
toggle_mode: true
|
||||
toggle_mode: true,
|
||||
});
|
||||
|
||||
this.connect('notify::checked', () => {
|
||||
|
||||
@@ -9,12 +9,11 @@ const PopupMenu = imports.ui.popupMenu;
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
|
||||
let WindowPreview = GObject.registerClass({
|
||||
GTypeName: 'WindowListWindowPreview'
|
||||
}, class WindowPreview extends St.Button {
|
||||
let WindowPreview = GObject.registerClass(
|
||||
class WindowPreview extends St.Button {
|
||||
_init(window) {
|
||||
super._init({
|
||||
style_class: 'window-list-window-preview'
|
||||
style_class: 'window-list-window-preview',
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
@@ -69,7 +68,7 @@ let WindowPreview = GObject.registerClass({
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
if (global.display.focus_window == this._window)
|
||||
if (global.display.focus_window === this._window)
|
||||
this.add_style_class_name('active');
|
||||
else
|
||||
this.remove_style_class_name('active');
|
||||
@@ -77,7 +76,8 @@ let WindowPreview = GObject.registerClass({
|
||||
|
||||
_relayout() {
|
||||
let monitor = Main.layoutManager.findIndexForActor(this);
|
||||
this.visible = monitor == this._window.get_monitor() &&
|
||||
this.visible = monitor === this._window.get_monitor() &&
|
||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
|
||||
if (!this.visible)
|
||||
@@ -97,18 +97,15 @@ let WindowPreview = GObject.registerClass({
|
||||
}
|
||||
});
|
||||
|
||||
let WorkspaceThumbnail = GObject.registerClass({
|
||||
GTypeName: 'WindowListWorkspaceThumbnail'
|
||||
}, class WorkspaceThumbnail extends St.Button {
|
||||
let WorkspaceThumbnail = GObject.registerClass(
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
_init(index) {
|
||||
super._init({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
clip_to_allocation: true
|
||||
clip_to_allocation: true,
|
||||
}),
|
||||
x_fill: true,
|
||||
y_fill: true
|
||||
});
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
@@ -186,7 +183,7 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
|
||||
_moveWindow(window) {
|
||||
let monitorIndex = Main.layoutManager.findIndexForActor(this);
|
||||
if (monitorIndex != window.get_monitor())
|
||||
if (monitorIndex !== window.get_monitor())
|
||||
window.move_to_monitor(monitorIndex);
|
||||
window.change_workspace_by_index(this._index, false);
|
||||
}
|
||||
@@ -204,9 +201,8 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
}
|
||||
});
|
||||
|
||||
var WorkspaceIndicator = GObject.registerClass({
|
||||
GTypeName: 'WindowListWorkspaceIndicator'
|
||||
}, class WorkspaceIndicator extends PanelMenu.Button {
|
||||
var WorkspaceIndicator = GObject.registerClass(
|
||||
class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_init() {
|
||||
super._init(0.0, _('Workspace Indicator'), true);
|
||||
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
|
||||
@@ -216,7 +212,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
y_expand: true,
|
||||
});
|
||||
this.add_actor(container);
|
||||
|
||||
@@ -229,14 +225,14 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
style_class: 'status-label-bin',
|
||||
x_expand: true,
|
||||
y_expand: true,
|
||||
child: this._statusLabel
|
||||
child: this._statusLabel,
|
||||
});
|
||||
container.add_actor(this._statusBin);
|
||||
|
||||
this._thumbnailsBox = new St.BoxLayout({
|
||||
style_class: 'workspaces-box',
|
||||
y_expand: true,
|
||||
reactive: true
|
||||
reactive: true,
|
||||
});
|
||||
this._thumbnailsBox.connect('scroll-event',
|
||||
this._onScrollEvent.bind(this));
|
||||
@@ -250,7 +246,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
workspaceManager.connect_after('workspace-switched',
|
||||
this._onWorkspaceSwitched.bind(this)),
|
||||
workspaceManager.connect('notify::layout-rows',
|
||||
this._onWorkspaceOrientationChanged.bind(this))
|
||||
this._onWorkspaceOrientationChanged.bind(this)),
|
||||
];
|
||||
|
||||
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
@@ -276,7 +272,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
}
|
||||
|
||||
_onWorkspaceOrientationChanged() {
|
||||
let vertical = global.workspace_manager.layout_rows == -1;
|
||||
let vertical = global.workspace_manager.layout_rows === -1;
|
||||
this.reactive = vertical;
|
||||
|
||||
this._statusBin.visible = vertical;
|
||||
@@ -300,7 +296,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
|
||||
_updateMenuOrnament() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++) {
|
||||
this._workspacesItems[i].setOrnament(i == this._currentWorkspace
|
||||
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NONE);
|
||||
}
|
||||
@@ -309,7 +305,7 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
_updateActiveThumbnail() {
|
||||
let thumbs = this._thumbnailsBox.get_children();
|
||||
for (let i = 0; i < thumbs.length; i++) {
|
||||
if (i == this._currentWorkspace)
|
||||
if (i === this._currentWorkspace)
|
||||
thumbs[i].add_style_class_name('active');
|
||||
else
|
||||
thumbs[i].remove_style_class_name('active');
|
||||
@@ -344,11 +340,11 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
let item = new PopupMenu.PopupMenuItem(name);
|
||||
item.workspaceId = i;
|
||||
|
||||
item.connect('activate', (item, _event) => {
|
||||
item.connect('activate', () => {
|
||||
this._activate(item.workspaceId);
|
||||
});
|
||||
|
||||
if (i == this._currentWorkspace)
|
||||
if (i === this._currentWorkspace)
|
||||
item.setOrnament(PopupMenu.Ornament.DOT);
|
||||
|
||||
this.menu.addMenuItem(item);
|
||||
@@ -382,21 +378,15 @@ var WorkspaceIndicator = GObject.registerClass({
|
||||
_onScrollEvent(actor, event) {
|
||||
let direction = event.get_scroll_direction();
|
||||
let diff = 0;
|
||||
if (direction == Clutter.ScrollDirection.DOWN) {
|
||||
if (direction === Clutter.ScrollDirection.DOWN)
|
||||
diff = 1;
|
||||
} else if (direction == Clutter.ScrollDirection.UP) {
|
||||
else if (direction === Clutter.ScrollDirection.UP)
|
||||
diff = -1;
|
||||
} else {
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
let newIndex = this._currentWorkspace + diff;
|
||||
this._activate(newIndex);
|
||||
}
|
||||
|
||||
_allocate(actor, box, flags) {
|
||||
if (actor.get_n_children() > 0)
|
||||
actor.get_first_child().allocate(box, flags);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||
/* exported init */
|
||||
const { Clutter, St } = imports.gi;
|
||||
const { Clutter, GObject, St } = imports.gi;
|
||||
|
||||
const Main = imports.ui.main;
|
||||
const Workspace = imports.ui.workspace;
|
||||
const WorkspacesView = imports.ui.workspacesView;
|
||||
|
||||
var MyWindowOverlay = class extends Workspace.WindowOverlay {
|
||||
class MyWindowOverlay extends Workspace.WindowOverlay {
|
||||
constructor(windowClone, parentActor) {
|
||||
super(windowClone, parentActor);
|
||||
|
||||
this._id = null;
|
||||
this._text = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false
|
||||
visible: false,
|
||||
});
|
||||
parentActor.add_actor(this._text);
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
this._text.raise_top();
|
||||
this._parentActor.set_child_below_sibling(this._text, null);
|
||||
this._text.show();
|
||||
this._text.text = (this._windowClone.slotId + 1).toString();
|
||||
}
|
||||
@@ -37,36 +37,38 @@ var MyWindowOverlay = class extends Workspace.WindowOverlay {
|
||||
let textX = cloneX - 2;
|
||||
let textY = cloneY - 2;
|
||||
this._text.set_position(Math.floor(textX) + 5, Math.floor(textY) + 5);
|
||||
this._text.raise_top();
|
||||
this._parentActor.set_child_below_sibling(this._text, null);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
var MyWorkspace = class extends Workspace.Workspace {
|
||||
constructor(metaWorkspace, monitorIndex) {
|
||||
super(metaWorkspace, monitorIndex);
|
||||
var MyWorkspace = GObject.registerClass(
|
||||
class MyWorkspace extends Workspace.Workspace {
|
||||
_init(metaWorkspace, monitorIndex) {
|
||||
super._init(metaWorkspace, monitorIndex);
|
||||
|
||||
if (metaWorkspace && metaWorkspace.index() < 9) {
|
||||
this._tip = new St.Label({
|
||||
style_class: 'extension-windowsNavigator-window-tooltip',
|
||||
visible: false
|
||||
visible: false,
|
||||
});
|
||||
this.actor.add_actor(this._tip);
|
||||
this.add_actor(this._tip);
|
||||
|
||||
this.actor.connect('notify::scale-x', () => {
|
||||
this._tip.set_scale(1 / this.actor.scale_x, 1 / this.actor.scale_x);
|
||||
this.connect('notify::scale-x', () => {
|
||||
this._tip.set_scale(1 / this.scale_x, 1 / this.scale_x);
|
||||
});
|
||||
} else
|
||||
} else {
|
||||
this._tip = null;
|
||||
}
|
||||
}
|
||||
|
||||
showTooltip() {
|
||||
if (this._tip == null || this._actualGeometry == null)
|
||||
if (!this._tip || !this._actualGeometry)
|
||||
return;
|
||||
this._tip.text = (this.metaWorkspace.index() + 1).toString();
|
||||
|
||||
// Hand code this instead of using _getSpacingAndPadding
|
||||
// because that fails on empty workspaces
|
||||
let node = this.actor.get_theme_node();
|
||||
let node = this.get_theme_node();
|
||||
let padding = {
|
||||
left: node.get_padding(St.Side.LEFT),
|
||||
top: node.get_padding(St.Side.TOP),
|
||||
@@ -78,11 +80,11 @@ var MyWorkspace = class extends Workspace.Workspace {
|
||||
this._tip.x = area.x;
|
||||
this._tip.y = area.y;
|
||||
this._tip.show();
|
||||
this._tip.raise_top();
|
||||
this.set_child_below_sibling(this._tip, null);
|
||||
}
|
||||
|
||||
hideTooltip() {
|
||||
if (this._tip == null)
|
||||
if (!this._tip)
|
||||
return;
|
||||
if (!this._tip.get_parent())
|
||||
return;
|
||||
@@ -91,7 +93,7 @@ var MyWorkspace = class extends Workspace.Workspace {
|
||||
|
||||
getWindowWithTooltip(id) {
|
||||
for (let i = 0; i < this._windows.length; i++) {
|
||||
if ((this._windows[i].slotId + 1) == id)
|
||||
if (this._windows[i].slotId + 1 === id)
|
||||
return this._windows[i].metaWindow;
|
||||
}
|
||||
return null;
|
||||
@@ -99,22 +101,23 @@ var MyWorkspace = class extends Workspace.Workspace {
|
||||
|
||||
showWindowsTooltips() {
|
||||
for (let i in this._windowOverlays) {
|
||||
if (this._windowOverlays[i] != null)
|
||||
if (this._windowOverlays[i])
|
||||
this._windowOverlays[i].showTooltip();
|
||||
}
|
||||
}
|
||||
|
||||
hideWindowsTooltips() {
|
||||
for (let i in this._windowOverlays) {
|
||||
if (this._windowOverlays[i] != null)
|
||||
if (this._windowOverlays[i])
|
||||
this._windowOverlays[i].hideTooltip();
|
||||
}
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
constructor(width, height, x, y, workspaces) {
|
||||
super(width, height, x, y, workspaces);
|
||||
var MyWorkspacesView = GObject.registerClass(
|
||||
class MyWorkspacesView extends WorkspacesView.WorkspacesView {
|
||||
_init(width, height, x, y, workspaces) {
|
||||
super._init(width, height, x, y, workspaces);
|
||||
|
||||
this._pickWorkspace = false;
|
||||
this._pickWindow = false;
|
||||
@@ -132,7 +135,7 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
}
|
||||
|
||||
_hideTooltips() {
|
||||
if (global.stage.get_key_focus() == global.stage)
|
||||
if (global.stage.get_key_focus() === global.stage)
|
||||
global.stage.set_key_focus(this._prevFocusActor);
|
||||
this._pickWindow = false;
|
||||
for (let i = 0; i < this._workspaces.length; i++)
|
||||
@@ -148,25 +151,25 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
|
||||
_onKeyRelease(s, o) {
|
||||
if (this._pickWindow &&
|
||||
(o.get_key_symbol() == Clutter.KEY_Alt_L ||
|
||||
o.get_key_symbol() == Clutter.KEY_Alt_R))
|
||||
(o.get_key_symbol() === Clutter.KEY_Alt_L ||
|
||||
o.get_key_symbol() === Clutter.KEY_Alt_R))
|
||||
this._hideTooltips();
|
||||
if (this._pickWorkspace &&
|
||||
(o.get_key_symbol() == Clutter.KEY_Control_L ||
|
||||
o.get_key_symbol() == Clutter.KEY_Control_R))
|
||||
(o.get_key_symbol() === Clutter.KEY_Control_L ||
|
||||
o.get_key_symbol() === Clutter.KEY_Control_R))
|
||||
this._hideWorkspacesTooltips();
|
||||
}
|
||||
|
||||
_onKeyPress(s, o) {
|
||||
let viewSelector = Main.overview.viewSelector;
|
||||
if (viewSelector._activePage != viewSelector._workspacesPage)
|
||||
let { viewSelector } = Main.overview;
|
||||
if (viewSelector._activePage !== viewSelector._workspacesPage)
|
||||
return false;
|
||||
|
||||
let workspaceManager = global.workspace_manager;
|
||||
|
||||
if ((o.get_key_symbol() == Clutter.KEY_Alt_L ||
|
||||
o.get_key_symbol() == Clutter.KEY_Alt_R)
|
||||
&& !this._pickWorkspace) {
|
||||
if ((o.get_key_symbol() === Clutter.KEY_Alt_L ||
|
||||
o.get_key_symbol() === Clutter.KEY_Alt_R) &&
|
||||
!this._pickWorkspace) {
|
||||
this._prevFocusActor = global.stage.get_key_focus();
|
||||
global.stage.set_key_focus(null);
|
||||
this._active = workspaceManager.get_active_workspace_index();
|
||||
@@ -174,9 +177,9 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips();
|
||||
return true;
|
||||
}
|
||||
if ((o.get_key_symbol() == Clutter.KEY_Control_L ||
|
||||
o.get_key_symbol() == Clutter.KEY_Control_R)
|
||||
&& !this._pickWindow) {
|
||||
if ((o.get_key_symbol() === Clutter.KEY_Control_L ||
|
||||
o.get_key_symbol() === Clutter.KEY_Control_R) &&
|
||||
!this._pickWindow) {
|
||||
this._prevFocusActor = global.stage.get_key_focus();
|
||||
global.stage.set_key_focus(null);
|
||||
this._pickWorkspace = true;
|
||||
@@ -185,17 +188,17 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (global.stage.get_key_focus() != global.stage)
|
||||
if (global.stage.get_key_focus() !== global.stage)
|
||||
return false;
|
||||
|
||||
// ignore shift presses, they're required to get numerals in azerty keyboards
|
||||
if ((this._pickWindow || this._pickWorkspace) &&
|
||||
(o.get_key_symbol() == Clutter.KEY_Shift_L ||
|
||||
o.get_key_symbol() == Clutter.KEY_Shift_R))
|
||||
(o.get_key_symbol() === Clutter.KEY_Shift_L ||
|
||||
o.get_key_symbol() === Clutter.KEY_Shift_R))
|
||||
return true;
|
||||
|
||||
if (this._pickWindow) {
|
||||
if (this._active != workspaceManager.get_active_workspace_index()) {
|
||||
if (this._active !== workspaceManager.get_active_workspace_index()) {
|
||||
this._hideTooltips();
|
||||
return false;
|
||||
}
|
||||
@@ -237,7 +240,7 @@ var MyWorkspacesView = class extends WorkspacesView.WorkspacesView {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
});
|
||||
|
||||
class Extension {
|
||||
constructor() {
|
||||
|
||||
@@ -15,12 +15,11 @@ const _ = Gettext.gettext;
|
||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const WORKSPACE_KEY = 'workspace-names';
|
||||
|
||||
let WindowPreview = GObject.registerClass({
|
||||
GTypeName: 'WorkspaceIndicatorWindowPreview'
|
||||
}, class WindowPreview extends St.Button {
|
||||
let WindowPreview = GObject.registerClass(
|
||||
class WindowPreview extends St.Button {
|
||||
_init(window) {
|
||||
super._init({
|
||||
style_class: 'workspace-indicator-window-preview'
|
||||
style_class: 'workspace-indicator-window-preview',
|
||||
});
|
||||
|
||||
this._delegate = this;
|
||||
@@ -75,7 +74,7 @@ let WindowPreview = GObject.registerClass({
|
||||
}
|
||||
|
||||
_onFocusChanged() {
|
||||
if (global.display.focus_window == this._window)
|
||||
if (global.display.focus_window === this._window)
|
||||
this.add_style_class_name('active');
|
||||
else
|
||||
this.remove_style_class_name('active');
|
||||
@@ -83,7 +82,8 @@ let WindowPreview = GObject.registerClass({
|
||||
|
||||
_relayout() {
|
||||
let monitor = Main.layoutManager.findIndexForActor(this);
|
||||
this.visible = monitor == this._window.get_monitor() &&
|
||||
this.visible = monitor === this._window.get_monitor() &&
|
||||
this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this._window.showing_on_its_workspace();
|
||||
|
||||
if (!this.visible)
|
||||
@@ -103,18 +103,15 @@ let WindowPreview = GObject.registerClass({
|
||||
}
|
||||
});
|
||||
|
||||
let WorkspaceThumbnail = GObject.registerClass({
|
||||
GTypeName: 'WorkspaceIndicatorWorkspaceThumbnail'
|
||||
}, class WorkspaceThumbnail extends St.Button {
|
||||
let WorkspaceThumbnail = GObject.registerClass(
|
||||
class WorkspaceThumbnail extends St.Button {
|
||||
_init(index) {
|
||||
super._init({
|
||||
style_class: 'workspace',
|
||||
child: new Clutter.Actor({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
clip_to_allocation: true
|
||||
clip_to_allocation: true,
|
||||
}),
|
||||
x_fill: true,
|
||||
y_fill: true
|
||||
});
|
||||
|
||||
this.connect('destroy', this._onDestroy.bind(this));
|
||||
@@ -192,7 +189,7 @@ let WorkspaceThumbnail = GObject.registerClass({
|
||||
|
||||
_moveWindow(window) {
|
||||
let monitorIndex = Main.layoutManager.findIndexForActor(this);
|
||||
if (monitorIndex != window.get_monitor())
|
||||
if (monitorIndex !== window.get_monitor())
|
||||
window.move_to_monitor(monitorIndex);
|
||||
window.change_workspace_by_index(this._index, false);
|
||||
}
|
||||
@@ -218,7 +215,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
let container = new St.Widget({
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true,
|
||||
y_expand: true
|
||||
y_expand: true,
|
||||
});
|
||||
this.add_actor(container);
|
||||
|
||||
@@ -228,7 +225,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
this._statusLabel = new St.Label({
|
||||
style_class: 'panel-workspace-indicator',
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
text: this._labelText()
|
||||
text: this._labelText(),
|
||||
});
|
||||
|
||||
container.add_actor(this._statusLabel);
|
||||
@@ -236,7 +233,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
this._thumbnailsBox = new St.BoxLayout({
|
||||
style_class: 'panel-workspace-indicator-box',
|
||||
y_expand: true,
|
||||
reactive: true
|
||||
reactive: true,
|
||||
});
|
||||
|
||||
container.add_actor(this._thumbnailsBox);
|
||||
@@ -251,7 +248,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
workspaceManager.connect_after('workspace-switched',
|
||||
this._onWorkspaceSwitched.bind(this)),
|
||||
workspaceManager.connect('notify::layout-rows',
|
||||
this._onWorkspaceOrientationChanged.bind(this))
|
||||
this._onWorkspaceOrientationChanged.bind(this)),
|
||||
];
|
||||
|
||||
this.connect('scroll-event', this._onScrollEvent.bind(this));
|
||||
@@ -281,7 +278,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
}
|
||||
|
||||
_onWorkspaceOrientationChanged() {
|
||||
let vertical = global.workspace_manager.layout_rows == -1;
|
||||
let vertical = global.workspace_manager.layout_rows === -1;
|
||||
this.reactive = vertical;
|
||||
|
||||
this._statusLabel.visible = vertical;
|
||||
@@ -310,7 +307,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
|
||||
_updateMenuOrnament() {
|
||||
for (let i = 0; i < this._workspacesItems.length; i++) {
|
||||
this._workspacesItems[i].setOrnament(i == this._currentWorkspace
|
||||
this._workspacesItems[i].setOrnament(i === this._currentWorkspace
|
||||
? PopupMenu.Ornament.DOT
|
||||
: PopupMenu.Ornament.NONE);
|
||||
}
|
||||
@@ -319,7 +316,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_updateActiveThumbnail() {
|
||||
let thumbs = this._thumbnailsBox.get_children();
|
||||
for (let i = 0; i < thumbs.length; i++) {
|
||||
if (i == this._currentWorkspace)
|
||||
if (i === this._currentWorkspace)
|
||||
thumbs[i].add_style_class_name('active');
|
||||
else
|
||||
thumbs[i].remove_style_class_name('active');
|
||||
@@ -327,7 +324,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
}
|
||||
|
||||
_labelText(workspaceIndex) {
|
||||
if (workspaceIndex == undefined) {
|
||||
if (workspaceIndex === undefined) {
|
||||
workspaceIndex = this._currentWorkspace;
|
||||
return (workspaceIndex + 1).toString();
|
||||
}
|
||||
@@ -356,7 +353,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
this._activate(actor.workspaceId);
|
||||
});
|
||||
|
||||
if (i == this._currentWorkspace)
|
||||
if (i === this._currentWorkspace)
|
||||
this._workspacesItems[i].setOrnament(PopupMenu.Ornament.DOT);
|
||||
}
|
||||
|
||||
@@ -387,13 +384,13 @@ class WorkspaceIndicator extends PanelMenu.Button {
|
||||
_onScrollEvent(actor, event) {
|
||||
let direction = event.get_scroll_direction();
|
||||
let diff = 0;
|
||||
if (direction == Clutter.ScrollDirection.DOWN) {
|
||||
if (direction === Clutter.ScrollDirection.DOWN)
|
||||
diff = 1;
|
||||
} else if (direction == Clutter.ScrollDirection.UP) {
|
||||
else if (direction === Clutter.ScrollDirection.UP)
|
||||
diff = -1;
|
||||
} else {
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
let newIndex = global.workspace_manager.get_active_workspace_index() + diff;
|
||||
this._activate(newIndex);
|
||||
@@ -407,7 +404,7 @@ function init() {
|
||||
let _indicator;
|
||||
|
||||
function enable() {
|
||||
_indicator = new WorkspaceIndicator;
|
||||
_indicator = new WorkspaceIndicator();
|
||||
Main.panel.addToStatusArea('workspace-indicator', _indicator);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||
/* exported init buildPrefsWidget */
|
||||
|
||||
const { Gio, GObject, Gtk } = imports.gi;
|
||||
const { Gdk, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||
|
||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||
const _ = Gettext.gettext;
|
||||
@@ -12,191 +12,221 @@ const ExtensionUtils = imports.misc.extensionUtils;
|
||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||
const WORKSPACE_KEY = 'workspace-names';
|
||||
|
||||
const WorkspaceNameModel = GObject.registerClass(
|
||||
class WorkspaceNameModel extends Gtk.ListStore {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
this.set_column_types([GObject.TYPE_STRING]);
|
||||
const WorkspaceSettingsWidget = GObject.registerClass(
|
||||
class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||
_init() {
|
||||
super._init({
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||
});
|
||||
|
||||
this.Columns = {
|
||||
LABEL: 0,
|
||||
};
|
||||
const box = new Gtk.Box({
|
||||
orientation: Gtk.Orientation.VERTICAL,
|
||||
halign: Gtk.Align.CENTER,
|
||||
spacing: 12,
|
||||
margin_top: 36,
|
||||
margin_bottom: 36,
|
||||
margin_start: 36,
|
||||
margin_end: 36,
|
||||
});
|
||||
this.add(box);
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
|
||||
//this._settings.connect('changed::workspace-names', this._reloadFromSettings.bind(this));
|
||||
box.add(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Names')),
|
||||
use_markup: true,
|
||||
halign: Gtk.Align.START,
|
||||
}));
|
||||
|
||||
this._reloadFromSettings();
|
||||
this._list = new Gtk.ListBox({
|
||||
selection_mode: Gtk.SelectionMode.NONE,
|
||||
valign: Gtk.Align.START,
|
||||
});
|
||||
this._list.set_header_func(this._updateHeader.bind(this));
|
||||
this._list.connect('row-activated', (l, row) => row.edit());
|
||||
box.add(this._list);
|
||||
|
||||
// overriding class closure doesn't work, because GtkTreeModel
|
||||
// plays tricks with marshallers and class closures
|
||||
this.connect('row-changed', this._onRowChanged.bind(this));
|
||||
this.connect('row-inserted', this._onRowInserted.bind(this));
|
||||
this.connect('row-deleted', this._onRowDeleted.bind(this));
|
||||
const context = this._list.get_style_context();
|
||||
const cssProvider = new Gtk.CssProvider();
|
||||
cssProvider.load_from_data(
|
||||
'list { min-width: 25em; }');
|
||||
|
||||
context.add_provider(cssProvider,
|
||||
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||
context.add_class('frame');
|
||||
|
||||
this._list.add(new NewWorkspaceRow());
|
||||
|
||||
this._actionGroup = new Gio.SimpleActionGroup();
|
||||
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();
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
_reloadFromSettings() {
|
||||
if (this._preventChanges)
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
|
||||
let newNames = this._settings.get_strv(WORKSPACE_KEY);
|
||||
|
||||
let i = 0;
|
||||
let [ok, iter] = this.get_iter_first();
|
||||
while (ok && i < newNames.length) {
|
||||
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
|
||||
|
||||
ok = this.iter_next(iter);
|
||||
i++;
|
||||
}
|
||||
|
||||
while (ok)
|
||||
ok = this.remove(iter);
|
||||
|
||||
for ( ; i < newNames.length; i++) {
|
||||
iter = this.append();
|
||||
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
|
||||
}
|
||||
|
||||
this._preventChanges = false;
|
||||
_getWorkspaceRows() {
|
||||
return this._list.get_children().filter(row => row.name);
|
||||
}
|
||||
|
||||
_onRowChanged(self, path, iter) {
|
||||
if (this._preventChanges)
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
_sync() {
|
||||
const rows = this._getWorkspaceRows();
|
||||
|
||||
let index = path.get_indices()[0];
|
||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
||||
const oldNames = rows.map(row => row.name);
|
||||
const newNames = this._settings.get_strv(WORKSPACE_KEY);
|
||||
|
||||
if (index >= names.length) {
|
||||
// fill with blanks
|
||||
for (let i = names.length; i <= index; i++)
|
||||
names[i] = '';
|
||||
}
|
||||
const removed = oldNames.filter(n => !newNames.includes(n));
|
||||
const added = newNames.filter(n => !oldNames.includes(n));
|
||||
|
||||
names[index] = this.get_value(iter, this.Columns.LABEL);
|
||||
|
||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
||||
|
||||
this._preventChanges = false;
|
||||
removed.forEach(n => rows.find(r => r.name === n).destroy());
|
||||
added.forEach(n => {
|
||||
this._list.insert(new WorkspaceRow(n), newNames.indexOf(n));
|
||||
});
|
||||
}
|
||||
|
||||
_onRowInserted(self, path, iter) {
|
||||
if (this._preventChanges)
|
||||
_updateHeader(row, before) {
|
||||
if (!before || row.get_header())
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
|
||||
let index = path.get_indices()[0];
|
||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
||||
let label = this.get_value(iter, this.Columns.LABEL) || '';
|
||||
names.splice(index, 0, label);
|
||||
|
||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
||||
|
||||
this._preventChanges = false;
|
||||
}
|
||||
|
||||
_onRowDeleted(self, path) {
|
||||
if (this._preventChanges)
|
||||
return;
|
||||
this._preventChanges = true;
|
||||
|
||||
let index = path.get_indices()[0];
|
||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
||||
|
||||
if (index >= names.length)
|
||||
return;
|
||||
|
||||
names.splice(index, 1);
|
||||
|
||||
// compact the array
|
||||
for (let i = names.length - 1; i >= 0 && !names[i]; i++)
|
||||
names.pop();
|
||||
|
||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
||||
|
||||
this._preventChanges = false;
|
||||
row.set_header(new Gtk.Separator());
|
||||
}
|
||||
});
|
||||
|
||||
const WorkspaceSettingsWidget = GObject.registerClass(
|
||||
class WorkspaceSettingsWidget extends Gtk.Grid {
|
||||
_init(params) {
|
||||
super._init(params);
|
||||
this.margin = 12;
|
||||
this.orientation = Gtk.Orientation.VERTICAL;
|
||||
const WorkspaceRow = GObject.registerClass(
|
||||
class WorkspaceRow extends Gtk.ListBoxRow {
|
||||
_init(name) {
|
||||
super._init({ name });
|
||||
|
||||
this.add(new Gtk.Label({
|
||||
label: '<b>%s</b>'.format(_('Workspace Names')),
|
||||
use_markup: true,
|
||||
const box = new Gtk.Box({
|
||||
spacing: 12,
|
||||
margin_top: 6,
|
||||
margin_bottom: 6,
|
||||
margin_start: 6,
|
||||
margin_end: 6,
|
||||
});
|
||||
|
||||
const label = new Gtk.Label({
|
||||
hexpand: true,
|
||||
halign: Gtk.Align.START
|
||||
xalign: 0,
|
||||
max_width_chars: 25,
|
||||
ellipsize: Pango.EllipsizeMode.END,
|
||||
});
|
||||
this.bind_property('name', label, 'label',
|
||||
GObject.BindingFlags.SYNC_CREATE);
|
||||
box.add(label);
|
||||
|
||||
const image = new Gtk.Image({
|
||||
icon_name: 'edit-delete-symbolic',
|
||||
pixel_size: 16,
|
||||
});
|
||||
const button = new Gtk.Button({
|
||||
action_name: 'workspaces.remove',
|
||||
action_target: new GLib.Variant('s', name),
|
||||
image,
|
||||
});
|
||||
box.add(button);
|
||||
|
||||
this._entry = new Gtk.Entry({
|
||||
max_width_chars: 25,
|
||||
});
|
||||
|
||||
this._stack = new Gtk.Stack();
|
||||
this._stack.add_named(box, 'display');
|
||||
this._stack.add_named(this._entry, 'edit');
|
||||
this.add(this._stack);
|
||||
|
||||
this._entry.connect('activate', () => {
|
||||
this.name = this._entry.text;
|
||||
this._stopEdit();
|
||||
});
|
||||
this._entry.connect('notify::has-focus', () => {
|
||||
if (this._entry.has_focus)
|
||||
return;
|
||||
this._stopEdit();
|
||||
});
|
||||
this._entry.connect('key-press-event',
|
||||
this._onEntryKeyPress.bind(this));
|
||||
|
||||
this.connect('notify::name', () => {
|
||||
button.action_target = new GLib.Variant('s', this.name);
|
||||
|
||||
const actionGroup = this.get_action_group('workspaces');
|
||||
actionGroup.activate_action('update', null);
|
||||
});
|
||||
|
||||
this.show_all();
|
||||
}
|
||||
|
||||
edit() {
|
||||
this._entry.text = this.name;
|
||||
this._entry.grab_focus();
|
||||
this._stack.visible_child_name = 'edit';
|
||||
}
|
||||
|
||||
_stopEdit() {
|
||||
this.grab_focus();
|
||||
this._stack.visible_child_name = 'display';
|
||||
}
|
||||
|
||||
_onEntryKeyPress(entry, event) {
|
||||
const [, keyval] = event.get_keyval();
|
||||
if (keyval !== Gdk.KEY_Escape)
|
||||
return Gdk.EVENT_PROPAGATE;
|
||||
this._stopEdit();
|
||||
return Gdk.EVENT_STOP;
|
||||
}
|
||||
});
|
||||
|
||||
const NewWorkspaceRow = GObject.registerClass(
|
||||
class NewWorkspaceRow extends Gtk.ListBoxRow {
|
||||
_init() {
|
||||
super._init({
|
||||
action_name: 'workspaces.add',
|
||||
});
|
||||
this.get_accessible().set_name(_('Add Workspace'));
|
||||
|
||||
this.add(new Gtk.Image({
|
||||
icon_name: 'list-add-symbolic',
|
||||
pixel_size: 16,
|
||||
margin_top: 12,
|
||||
margin_bottom: 12,
|
||||
margin_start: 12,
|
||||
margin_end: 12,
|
||||
}));
|
||||
|
||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
||||
this.add(scrolled);
|
||||
|
||||
this._store = new WorkspaceNameModel();
|
||||
this._treeView = new Gtk.TreeView({
|
||||
model: this._store,
|
||||
headers_visible: false,
|
||||
reorderable: true,
|
||||
hexpand: true,
|
||||
vexpand: true
|
||||
});
|
||||
|
||||
let column = new Gtk.TreeViewColumn({ title: _('Name') });
|
||||
let renderer = new Gtk.CellRendererText({ editable: true });
|
||||
renderer.connect('edited', this._cellEdited.bind(this));
|
||||
column.pack_start(renderer, true);
|
||||
column.add_attribute(renderer, 'text', this._store.Columns.LABEL);
|
||||
this._treeView.append_column(column);
|
||||
|
||||
scrolled.add(this._treeView);
|
||||
|
||||
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
|
||||
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
|
||||
|
||||
let newButton = new Gtk.ToolButton({ icon_name: 'list-add-symbolic' });
|
||||
newButton.connect('clicked', this._newClicked.bind(this));
|
||||
toolbar.add(newButton);
|
||||
|
||||
let delButton = new Gtk.ToolButton({ icon_name: 'list-remove-symbolic' });
|
||||
delButton.connect('clicked', this._delClicked.bind(this));
|
||||
toolbar.add(delButton);
|
||||
|
||||
let selection = this._treeView.get_selection();
|
||||
selection.connect('changed', () => {
|
||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
||||
});
|
||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
||||
|
||||
this.add(toolbar);
|
||||
}
|
||||
|
||||
_cellEdited(renderer, path, newText) {
|
||||
let [ok, iter] = this._store.get_iter_from_string(path);
|
||||
|
||||
if (ok)
|
||||
this._store.set(iter, [this._store.Columns.LABEL], [newText]);
|
||||
}
|
||||
|
||||
_newClicked() {
|
||||
let iter = this._store.append();
|
||||
let index = this._store.get_path(iter).get_indices()[0];
|
||||
|
||||
let label = _('Workspace %d').format(index + 1);
|
||||
this._store.set(iter, [this._store.Columns.LABEL], [label]);
|
||||
}
|
||||
|
||||
_delClicked() {
|
||||
let [any, model_, iter] = this._treeView.get_selection().get_selected();
|
||||
|
||||
if (any)
|
||||
this._store.remove(iter);
|
||||
this.show_all();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -205,8 +235,5 @@ function init() {
|
||||
}
|
||||
|
||||
function buildPrefsWidget() {
|
||||
let widget = new WorkspaceSettingsWidget();
|
||||
widget.show_all();
|
||||
|
||||
return widget;
|
||||
return new WorkspaceSettingsWidget();
|
||||
}
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
{
|
||||
"env": {
|
||||
"es6": true
|
||||
},
|
||||
"extends": "eslint:recommended",
|
||||
"rules": {
|
||||
"array-bracket-newline": [
|
||||
"error",
|
||||
"consistent"
|
||||
],
|
||||
"array-bracket-spacing": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"arrow-spacing": "error",
|
||||
"brace-style": "error",
|
||||
"comma-spacing": [
|
||||
"error",
|
||||
{
|
||||
"before": false,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"indent": [
|
||||
"error",
|
||||
4,
|
||||
{
|
||||
"ignoredNodes": [
|
||||
"CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child"
|
||||
],
|
||||
"MemberExpression": "off"
|
||||
}
|
||||
],
|
||||
"key-spacing": [
|
||||
"error",
|
||||
{
|
||||
"beforeColon": false,
|
||||
"afterColon": true
|
||||
}
|
||||
],
|
||||
"keyword-spacing": [
|
||||
"error",
|
||||
{
|
||||
"before": true,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"linebreak-style": [
|
||||
"error",
|
||||
"unix"
|
||||
],
|
||||
"no-empty": [
|
||||
"error",
|
||||
{
|
||||
"allowEmptyCatch": true
|
||||
}
|
||||
],
|
||||
"no-implicit-coercion": [
|
||||
"error",
|
||||
{
|
||||
"allow": ["!!"]
|
||||
}
|
||||
],
|
||||
"no-restricted-properties": [
|
||||
"error",
|
||||
{
|
||||
"object": "Lang",
|
||||
"property": "bind",
|
||||
"message": "Use arrow notation or Function.prototype.bind()"
|
||||
},
|
||||
{
|
||||
"object": "Lang",
|
||||
"property": "Class",
|
||||
"message": "Use ES6 classes"
|
||||
}
|
||||
],
|
||||
"nonblock-statement-body-position": [
|
||||
"error",
|
||||
"below"
|
||||
],
|
||||
"object-curly-newline": [
|
||||
"error",
|
||||
{
|
||||
"consistent": true
|
||||
}
|
||||
],
|
||||
"object-curly-spacing": "error",
|
||||
"prefer-template": "error",
|
||||
"quotes": [
|
||||
"error",
|
||||
"single",
|
||||
{
|
||||
"avoidEscape": true
|
||||
}
|
||||
],
|
||||
"semi": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"semi-spacing": [
|
||||
"error",
|
||||
{
|
||||
"before": false,
|
||||
"after": true
|
||||
}
|
||||
],
|
||||
"space-before-blocks": "error",
|
||||
"space-infix-ops": [
|
||||
"error",
|
||||
{
|
||||
"int32Hint": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"globals": {
|
||||
"ARGV": false,
|
||||
"Debugger": false,
|
||||
"GIRepositoryGType": false,
|
||||
"imports": false,
|
||||
"Intl": false,
|
||||
"log": false,
|
||||
"logError": false,
|
||||
"print": false,
|
||||
"printerr": false,
|
||||
"window": false
|
||||
},
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2017
|
||||
}
|
||||
}
|
||||
228
lint/eslintrc-gjs.yml
Normal file
228
lint/eslintrc-gjs.yml
Normal file
@@ -0,0 +1,228 @@
|
||||
---
|
||||
env:
|
||||
es6: true
|
||||
extends: 'eslint:recommended'
|
||||
rules:
|
||||
array-bracket-newline:
|
||||
- error
|
||||
- consistent
|
||||
array-bracket-spacing:
|
||||
- error
|
||||
- never
|
||||
array-callback-return: error
|
||||
arrow-parens:
|
||||
- error
|
||||
- as-needed
|
||||
arrow-spacing: error
|
||||
block-scoped-var: error
|
||||
block-spacing: error
|
||||
brace-style: error
|
||||
# Waiting for this to have matured a bit in eslint
|
||||
# camelcase:
|
||||
# - error
|
||||
# - properties: never
|
||||
# allow: [^vfunc_, ^on_, _instance_init]
|
||||
comma-dangle:
|
||||
- error
|
||||
- always-multiline
|
||||
comma-spacing:
|
||||
- error
|
||||
- before: false
|
||||
after: true
|
||||
comma-style:
|
||||
- error
|
||||
- last
|
||||
computed-property-spacing: error
|
||||
curly:
|
||||
- error
|
||||
- multi-or-nest
|
||||
- consistent
|
||||
dot-location:
|
||||
- error
|
||||
- property
|
||||
eol-last: error
|
||||
eqeqeq: error
|
||||
func-call-spacing: error
|
||||
func-name-matching: error
|
||||
func-style:
|
||||
- error
|
||||
- declaration
|
||||
- allowArrowFunctions: true
|
||||
indent:
|
||||
- error
|
||||
- 4
|
||||
- ignoredNodes:
|
||||
# Allow not indenting the body of GObject.registerClass, since in the
|
||||
# future it's intended to be a decorator
|
||||
- 'CallExpression[callee.object.name=GObject][callee.property.name=registerClass] > ClassExpression:first-child'
|
||||
# Allow dedenting chained member expressions
|
||||
MemberExpression: 'off'
|
||||
key-spacing:
|
||||
- error
|
||||
- beforeColon: false
|
||||
afterColon: true
|
||||
keyword-spacing:
|
||||
- error
|
||||
- before: true
|
||||
after: true
|
||||
linebreak-style:
|
||||
- error
|
||||
- unix
|
||||
lines-between-class-members: error
|
||||
max-nested-callbacks: error
|
||||
max-statements-per-line: error
|
||||
new-parens: error
|
||||
no-array-constructor: error
|
||||
no-await-in-loop: error
|
||||
no-caller: error
|
||||
no-constant-condition:
|
||||
- error
|
||||
- checkLoops: false
|
||||
no-div-regex: error
|
||||
no-empty:
|
||||
- error
|
||||
- allowEmptyCatch: true
|
||||
no-extra-bind: error
|
||||
no-extra-parens:
|
||||
- error
|
||||
- all
|
||||
- conditionalAssign: false
|
||||
returnAssign: false
|
||||
no-implicit-coercion:
|
||||
- error
|
||||
- allow:
|
||||
- '!!'
|
||||
no-invalid-this: error
|
||||
no-iterator: error
|
||||
no-label-var: error
|
||||
no-lonely-if: error
|
||||
no-loop-func: error
|
||||
no-nested-ternary: error
|
||||
no-new-object: error
|
||||
no-new-wrappers: error
|
||||
no-octal-escape: error
|
||||
no-proto: error
|
||||
no-prototype-builtins: 'off'
|
||||
no-restricted-properties:
|
||||
- error
|
||||
- object: Lang
|
||||
property: bind
|
||||
message: Use arrow notation or Function.prototype.bind()
|
||||
- object: Lang
|
||||
property: Class
|
||||
message: Use ES6 classes
|
||||
- object: imports
|
||||
property: mainloop
|
||||
message: Use GLib main loops and timeouts
|
||||
no-restricted-syntax:
|
||||
- error
|
||||
- selector: >-
|
||||
MethodDefinition[key.name="_init"] >
|
||||
FunctionExpression[params.length=1] >
|
||||
BlockStatement[body.length=1]
|
||||
CallExpression[arguments.length=1][callee.object.type="Super"][callee.property.name="_init"] >
|
||||
Identifier:first-child
|
||||
message: _init() that only calls super._init() is unnecessary
|
||||
- selector: >-
|
||||
MethodDefinition[key.name="_init"] >
|
||||
FunctionExpression[params.length=0] >
|
||||
BlockStatement[body.length=1]
|
||||
CallExpression[arguments.length=0][callee.object.type="Super"][callee.property.name="_init"]
|
||||
message: _init() that only calls super._init() is unnecessary
|
||||
no-return-assign: error
|
||||
no-return-await: error
|
||||
no-self-compare: error
|
||||
no-shadow: error
|
||||
no-shadow-restricted-names: error
|
||||
no-spaced-func: error
|
||||
no-tabs: error
|
||||
no-template-curly-in-string: error
|
||||
no-throw-literal: error
|
||||
no-trailing-spaces: error
|
||||
no-undef-init: error
|
||||
no-unneeded-ternary: error
|
||||
no-unused-expressions: error
|
||||
no-unused-vars:
|
||||
- error
|
||||
# Vars use a suffix _ instead of a prefix because of file-scope private vars
|
||||
- varsIgnorePattern: (^unused|_$)
|
||||
argsIgnorePattern: ^(unused|_)
|
||||
no-useless-call: error
|
||||
no-useless-computed-key: error
|
||||
no-useless-concat: error
|
||||
no-useless-constructor: error
|
||||
no-useless-rename: error
|
||||
no-useless-return: error
|
||||
no-whitespace-before-property: error
|
||||
no-with: error
|
||||
nonblock-statement-body-position:
|
||||
- error
|
||||
- below
|
||||
object-curly-newline:
|
||||
- error
|
||||
- consistent: true
|
||||
object-curly-spacing: error
|
||||
object-shorthand: error
|
||||
operator-assignment: error
|
||||
operator-linebreak: error
|
||||
# These may be a bit controversial, we can try them out and enable them later
|
||||
# prefer-const: error
|
||||
# prefer-destructuring: error
|
||||
prefer-numeric-literals: error
|
||||
prefer-promise-reject-errors: error
|
||||
prefer-rest-params: error
|
||||
prefer-spread: error
|
||||
prefer-template: error
|
||||
quotes:
|
||||
- error
|
||||
- single
|
||||
- avoidEscape: true
|
||||
require-await: error
|
||||
rest-spread-spacing: error
|
||||
semi:
|
||||
- error
|
||||
- always
|
||||
semi-spacing:
|
||||
- error
|
||||
- before: false
|
||||
after: true
|
||||
semi-style: error
|
||||
space-before-blocks: error
|
||||
space-before-function-paren:
|
||||
- error
|
||||
- named: never
|
||||
# for `function ()` and `async () =>`, preserve space around keywords
|
||||
anonymous: always
|
||||
asyncArrow: always
|
||||
space-in-parens: error
|
||||
space-infix-ops:
|
||||
- error
|
||||
- int32Hint: false
|
||||
space-unary-ops: error
|
||||
spaced-comment: error
|
||||
switch-colon-spacing: error
|
||||
symbol-description: error
|
||||
template-curly-spacing: error
|
||||
template-tag-spacing: error
|
||||
unicode-bom: error
|
||||
valid-jsdoc:
|
||||
- error
|
||||
- requireReturn: false
|
||||
wrap-iife:
|
||||
- error
|
||||
- inside
|
||||
yield-star-spacing: error
|
||||
yoda: error
|
||||
globals:
|
||||
ARGV: readonly
|
||||
Debugger: readonly
|
||||
GIRepositoryGType: readonly
|
||||
imports: readonly
|
||||
Intl: readonly
|
||||
log: readonly
|
||||
logError: readonly
|
||||
print: readonly
|
||||
printerr: readonly
|
||||
window: readonly
|
||||
parserOptions:
|
||||
ecmaVersion: 2017
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"rules": {
|
||||
"camelcase": [
|
||||
"error",
|
||||
{
|
||||
"properties": "never",
|
||||
"allow": ["^vfunc_", "^on_"]
|
||||
}
|
||||
],
|
||||
"no-unused-vars": [
|
||||
"error",
|
||||
{
|
||||
"argsIgnorePattern": "^_",
|
||||
"varsIgnorePattern": "_$"
|
||||
}
|
||||
],
|
||||
"object-curly-spacing": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"prefer-arrow-callback": "error"
|
||||
},
|
||||
"globals": {
|
||||
"global": false
|
||||
}
|
||||
}
|
||||
11
lint/eslintrc-shell.yml
Normal file
11
lint/eslintrc-shell.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
rules:
|
||||
camelcase:
|
||||
- error
|
||||
- properties: never
|
||||
allow: [^vfunc_, ^on_]
|
||||
object-curly-spacing:
|
||||
- error
|
||||
- always
|
||||
prefer-arrow-callback: error
|
||||
globals:
|
||||
global: readonly
|
||||
@@ -1,5 +1,5 @@
|
||||
project('gnome-shell-extensions',
|
||||
version: '3.33.90',
|
||||
version: '3.37.91',
|
||||
meson_version: '>= 0.44.0',
|
||||
license: 'GPL2+'
|
||||
)
|
||||
@@ -20,8 +20,6 @@ schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
|
||||
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
|
||||
xsessiondir = join_paths(datadir, 'xsessions')
|
||||
|
||||
js60 = find_program('js60', required: false)
|
||||
|
||||
ver_arr = meson.project_version().split('.')
|
||||
if ver_arr[1].to_int().is_even()
|
||||
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
data/gnome-classic.desktop.in
|
||||
data/gnome-classic.session.desktop.in
|
||||
extensions/apps-menu/extension.js
|
||||
extensions/auto-move-windows/extension.js
|
||||
extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml
|
||||
@@ -10,7 +9,6 @@ extensions/native-window-placement/org.gnome.shell.extensions.native-window-plac
|
||||
extensions/places-menu/extension.js
|
||||
extensions/places-menu/placeDisplay.js
|
||||
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
|
||||
extensions/user-theme/extension.js
|
||||
extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
|
||||
extensions/window-list/extension.js
|
||||
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml
|
||||
|
||||
428
po/bn_IN.po
428
po/bn_IN.po
@@ -1,360 +1,350 @@
|
||||
# sray <sray@redhat.com>, 2013, 2014. #zanata.
|
||||
# Akarshan Biswas <akarshan.biswas@hotmail.com>, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2014-09-22 07:38+0000\n"
|
||||
"PO-Revision-Date: 2014-09-22 16:37+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: American English <kde-i18n-doc@kde.org>\n"
|
||||
"Project-Id-Version: unnamed project\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-13 10:03+0530\n"
|
||||
"Last-Translator: Akarshan Biswas <akarshan.biswas@hotmail.com>\n"
|
||||
"Language-Team: Bengali (India) <anubad@lists.ankur.org.in>\n"
|
||||
"Language: bn_IN\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
||||
"X-DamnedLies-Scope: partial\n"
|
||||
"X-Generator: Gtranslator 3.36.0\n"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:1
|
||||
#: ../data/gnome-classic.session.desktop.in.in.h:1
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
msgstr "GNOME ক্লাসিক"
|
||||
|
||||
#: ../data/gnome-classic.desktop.in.h:2
|
||||
#: data/gnome-classic.desktop.in:4
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "এই সেশন অাপনাকে GNOME ক্লাসিকে লগ করায়"
|
||||
|
||||
#: ../data/gnome-shell-classic.desktop.in.in.h:1
|
||||
msgid "GNOME Shell Classic"
|
||||
msgstr "GNOME সেল ক্লাসিক"
|
||||
|
||||
# auto translated by TM merge from project: gnome-shell, version: 3.8.4, DocId: gnome-shell
|
||||
#: ../data/gnome-shell-classic.desktop.in.in.h:2
|
||||
msgid "Window management and application launching"
|
||||
msgstr "উইন্ডো পরিচালনা ও অ্যাপ্লিকেশন প্রারম্ভ"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "প্রধান উইন্ডোতে মোডেল ডায়ালগ সংযুক্ত করুন"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"GNOME সেল চালানোর ক্ষেত্রে এই কী in org.gnome.mutter এর কী ওভাররাইড করে।"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "শিরোনাম দন্ডে বোতামগুলির সজ্জা"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
|
||||
#| msgid ""
|
||||
#| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"GNOME সেল চালানোর সময়ে এই কী org.gnome.desktop.wm.preferences-এর কী ওভাররাইড "
|
||||
"করে।"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "উইন্ডো স্ক্রীন কিনারায় রাখার সময়ে কিনারা টাইলিং সক্রিয় করুন"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "শুধুমাত্র প্রধান মনিটরে ওয়ার্কস্পেস"
|
||||
|
||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"পয়েন্টার অবস্থান পরিবর্তন না থামানো পর্যন্ত মাউস মোডে ফোকাস পরিবর্তন বিলম্বিত "
|
||||
"করুন"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "শুধুমাত্র থাম্বনেইল"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "শুধুমাত্র অ্যাপ্লিকেশন অাইকন"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "থাম্বনেইল এবং অ্যাপ্লিকেশন অাইকন"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "এই রূপে উইন্ডো উপস্থাপনা"
|
||||
|
||||
#: ../extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "শুধুমাত্র উইন্ডো বর্তমান ওয়ার্কস্পেসে দেখান"
|
||||
|
||||
#: ../extensions/apps-menu/extension.js:39
|
||||
msgid "Activities Overview"
|
||||
msgstr "ক্রিয়াকলাপের পূর্বরূপ"
|
||||
msgstr "এই সেশন আপনাকে GNOME ক্লাসিকে লগ করায়"
|
||||
|
||||
# auto translated by TM merge from project: system-config-printer, version: 1.1.16-23, DocId: system-config-printer
|
||||
#: ../extensions/apps-menu/extension.js:113
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "বিশেষ"
|
||||
|
||||
# auto translated by TM merge from project: gnome-menus, version: 3.8.0, DocId: gnome-menus-3.0
|
||||
#: ../extensions/apps-menu/extension.js:282
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "অ্যাপ্লিকেশন"
|
||||
|
||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "অ্যাপ্লেকেশন এবং ওয়ার্কস্পেস তালিকা"
|
||||
|
||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"স্ট্রীঙের একটি তালিকা, প্রতিটিতে থাকে একটি অ্যাপ্লিকেশন অাইডি (ডেস্কটপ ফাইল "
|
||||
"নাম), "
|
||||
"স্ট্রীঙের একটি তালিকা, প্রতিটিতে থাকে একটি অ্যাপ্লিকেশন আইডি (ডেস্কটপ ফাইল নাম), "
|
||||
"সংগে থাকে যতিচিহ্ন এবং ওয়ার্কস্পেস নম্বর"
|
||||
|
||||
# auto translated by TM merge from project: yelp, version: 3.8.1, DocId: yelp
|
||||
#: ../extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "অ্যাপ্লিকেশন"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:69
|
||||
#: ../extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "ওয়ার্কস্পেস"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "ওয়ার্কস্পেস নিয়মগুলি"
|
||||
|
||||
# auto translated by TM merge from project: evolution, version: el6, DocId: evolution-2.32
|
||||
#: ../extensions/auto-move-windows/prefs.js:85
|
||||
#| msgid "Add rule"
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "নিয়ম যোগ করুন"
|
||||
|
||||
#: ../extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "মেলানোর নতুন নিয়ম তৈরি করুন"
|
||||
|
||||
# auto translated by TM merge from project: file-roller, version: 3.8.3, DocId: file-roller
|
||||
#: ../extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "যোগ করুন"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive '%s' failed:"
|
||||
msgstr "'%s' ড্রাইভ ইজেক্ট করা গেল না:"
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "'%s' ড্রাইভ ইজেক্ট করতে ব্যর্থ :"
|
||||
|
||||
#: ../extensions/drive-menu/extension.js:123
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "অপসারণযোগ্য ডিভাইসগুলি"
|
||||
|
||||
# auto translated by TM merge from project: gnome-user-share, version: 3.8, DocId: gnome-user-share
|
||||
#: ../extensions/drive-menu/extension.js:150
|
||||
msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
#| msgid "Open File"
|
||||
msgid "Open Files"
|
||||
msgstr "ফাইল খুলুন"
|
||||
|
||||
#: ../extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "ওহে, বিশ্ব!"
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "বিকল্প অভিবাদন পাঠ্য।"
|
||||
|
||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr "খালি না থাকলে, তাতে পাঠ্য থাকবে যা প্যানেলে ক্লিক করা হলে দেখানো হবে।"
|
||||
|
||||
#: ../extensions/example/prefs.js:30
|
||||
#| msgid "Message:"
|
||||
msgid "Message"
|
||||
msgstr "বার্তা"
|
||||
|
||||
#: ../extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it's possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"সেলের জন্য সুস্থিত এক্সটেনশন কীভাবে গঠন করা সম্ভব তা উদাহরণের মাধ্যমে "
|
||||
"উপস্থাপিত করা "
|
||||
"হয়।\n"
|
||||
"উপরন্তু অভিভাদন বার্তা নিজের পছন্দ মতোও করে নেওয়া যায়।"
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "উইন্ডোর জন্য অারো স্ক্রীন ব্যবহার করুন"
|
||||
msgstr "উইন্ডোর জন্য আরো স্ক্রীন ব্যবহার করুন"
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||
msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"স্ক্রীন অ্যাসপেক্ট অনুপাত সামঞ্জস্যপূর্ণ করে উইন্ডো থাম্বনেইল রাখার জন্য অারো "
|
||||
"স্ক্রীন "
|
||||
"ব্যবহারের চেষ্টা করুন, এবং বাউন্ডিং বক্স কমাতে তাদের সংঘবদ্ধ করার চেষ্টা "
|
||||
"করুন। এই "
|
||||
"স্ক্রীন অ্যাসপেক্ট অনুপাত সামঞ্জস্যপূর্ণ করে উইন্ডো থাম্বনেইল রাখার জন্য আরো স্ক্রীন "
|
||||
"ব্যবহারের চেষ্টা করুন, এবং বাউন্ডিং বক্স কমাতে তাদের সংঘবদ্ধ করার চেষ্টা করুন। এই "
|
||||
"সেটিং শুধুমাত্র স্বাভাবিক প্লেসমেন্ট কৌশলের ক্ষেত্রেই প্রযোজ্য হয়।"
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
msgstr "উইন্ডো ক্যাপশন একেবারে শীর্ষে রাখুন"
|
||||
|
||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"যদি সত্য হয়, তলায় রাখার সেল ডিফল্ট ওভাররাইড করে সংশ্লিষ্ট থাম্বনেইলের শীর্ষে "
|
||||
"উইন্ডো "
|
||||
"ক্যাপশন রাখুন। এই সেটিং পরিবর্তন করলে তা প্রয়োগ করতে সেল বন্ধ করে চালু করতে "
|
||||
"হবে।"
|
||||
"যদি সত্য হয়, তলায় রাখার সেল ডিফল্ট ওভাররাইড করে সংশ্লিষ্ট থাম্বনেইলের শীর্ষে উইন্ডো "
|
||||
"ক্যাপশন রাখুন। এই সেটিং পরিবর্তন করলে তা প্রয়োগ করতে সেল বন্ধ করে চালু করতে হবে।"
|
||||
|
||||
# auto translated by TM merge from project: file-roller, version: 3.8.3, DocId: file-roller
|
||||
#: ../extensions/places-menu/extension.js:78
|
||||
#: ../extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "অবস্থান"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:57
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch \"%s\""
|
||||
msgstr "\"%s\" লঞ্চ করা গেল না"
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "\"%s\" লঞ্চ করতে ব্যর্থ "
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "\"%s\" এর জন্য ভলিউম মাউন্ট করতে ব্যর্থ"
|
||||
|
||||
# auto translated by TM merge from project: gvfs, version: 1.16.3, DocId: gvfs
|
||||
#: ../extensions/places-menu/placeDisplay.js:99
|
||||
#: ../extensions/places-menu/placeDisplay.js:122
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "কম্পিউটার"
|
||||
|
||||
# auto translated by TM merge from project: rhsm-web, version: 0.0, DocId: management
|
||||
#: ../extensions/places-menu/placeDisplay.js:200
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "প্রথম পাতা"
|
||||
|
||||
#: ../extensions/places-menu/placeDisplay.js:287
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "নেটওয়ার্ক ব্রাউজ"
|
||||
|
||||
# auto translated by TM merge from project: gnome-system-monitor, version: 3.8.2.1, DocId: gnome-system-monitor
|
||||
#: ../extensions/systemMonitor/extension.js:214
|
||||
msgid "CPU"
|
||||
msgstr "CPU"
|
||||
|
||||
# auto translated by TM merge from project: RHEV Installation Guide, version: 3.1, DocId: topics/Planning_your_Data_Center
|
||||
#: ../extensions/systemMonitor/extension.js:267
|
||||
msgid "Memory"
|
||||
msgstr "মেমরি"
|
||||
|
||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
msgstr "থিম নাম"
|
||||
|
||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "থিমের নাম, ~/.themes/name/gnome-shell থেকে লোড করা হবে"
|
||||
|
||||
#: ../extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "বন্ধ করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "অান-মিনিমাইজ"
|
||||
msgstr "আন-মিনিমাইজ"
|
||||
|
||||
#: ../extensions/window-list/extension.js:121
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "ছোট করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "অান-ম্যাক্সিমাইজ"
|
||||
msgstr "আন-ম্যাক্সিমাইজ"
|
||||
|
||||
#: ../extensions/window-list/extension.js:128
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "বড় করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:300
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "সকল ছোট করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:308
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "সকল অান-মিনিমাইজ করুন"
|
||||
msgstr "সকল আন-মিনিমাইজ করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:316
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "সকল বড় করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:325
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "সকল অান-ম্যাক্সিমাইজ করুন"
|
||||
msgstr "সকল আন-ম্যাক্সিমাইজ করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:334
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "সকল বন্ধ করুন"
|
||||
|
||||
#: ../extensions/window-list/extension.js:644
|
||||
#: ../extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "ওয়ার্কস্পেস সূচক"
|
||||
|
||||
#: ../extensions/window-list/extension.js:808
|
||||
#| msgid "Window Grouping"
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "উইন্ডো তালিকা"
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
msgstr "উইন্ডো দলভুক্তকরণ"
|
||||
|
||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:2
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#| msgid ""
|
||||
#| "Decides when to group windows from the same application on the window "
|
||||
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
|
||||
msgid ""
|
||||
"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 ""
|
||||
"উইন্ডো তালিকায় একই অ্যাপ্লিকেশন থেকে কখন উইন্ডো দলভুক্ত করা হবে তার সিদ্ধান্ত "
|
||||
"নেয়। "
|
||||
"সম্ভাব্য মানগুলি হল \"কখনও নয়\", \"স্বয়ংক্রিয়\" এবং \"সর্বদা\"।"
|
||||
"উইন্ডো তালিকার একই অ্যাপ্লিকেশন থেকে কখন উইন্ডোজকে গ্রুপ করবেন তা সিদ্ধান্ত নেয়। "
|
||||
"সম্ভাব্য মানগুলি হ'ল \"কখনই\", \"স্বয়ং\" এবং \"সর্বদা\"।"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:30
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
#| msgid "Show only windows in the current workspace"
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "সমস্ত ওয়ার্কস্পেসে থেকে উইন্ডো প্রদর্শন করুন"
|
||||
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "উইন্ডো দলভুক্তকরণ"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:49
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "উইন্ডো কখনও দলভুক্ত করবেন না"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "স্থান কম থাকলে উইন্ডো দলভুক্ত করুন"
|
||||
|
||||
#: ../extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "উইন্ডো সর্বদা দলভুক্ত করুন"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:141
|
||||
#| msgid "Workspace names:"
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "সমস্ত মনিটরের উপর দেখান"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "ওয়ার্কস্পেস সূচক"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "ওয়ার্কস্পেস নামগুলি"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "নাম"
|
||||
|
||||
#: ../extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "ওয়ার্কস্পেস %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
#| msgid "Workspace"
|
||||
msgid "Add Workspace"
|
||||
msgstr "ওয়ার্কস্পেস যোগ করুন"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME সেল ক্লাসিক"
|
||||
|
||||
# auto translated by TM merge from project: gnome-shell, version: 3.8.4, DocId: gnome-shell
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "উইন্ডো পরিচালনা ও অ্যাপ্লিকেশন প্রারম্ভ"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "প্রধান উইন্ডোতে মোডেল ডায়ালগ সংযুক্ত করুন"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "GNOME সেল চালানোর ক্ষেত্রে এই কী in org.gnome.mutter এর কী ওভাররাইড করে।"
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "শিরোনাম দন্ডে বোতামগুলির সজ্জা"
|
||||
|
||||
#~| msgid ""
|
||||
#~| "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "GNOME সেল চালানোর সময়ে এই কী org.gnome.desktop.wm.preferences-এর কী "
|
||||
#~ "ওভাররাইড করে।"
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "উইন্ডো স্ক্রীন কিনারায় রাখার সময়ে কিনারা টাইলিং সক্রিয় করুন"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "শুধুমাত্র প্রধান মনিটরে ওয়ার্কস্পেস"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "পয়েন্টার অবস্থান পরিবর্তন না থামানো পর্যন্ত মাউস মোডে ফোকাস পরিবর্তন বিলম্বিত করুন"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "শুধুমাত্র থাম্বনেইল"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "শুধুমাত্র অ্যাপ্লিকেশন আইকন"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "থাম্বনেইল এবং অ্যাপ্লিকেশন আইকন"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "এই রূপে উইন্ডো উপস্থাপনা"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "ক্রিয়াকলাপের পূর্বরূপ"
|
||||
|
||||
# auto translated by TM merge from project: yelp, version: 3.8.1, DocId: yelp
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "অ্যাপ্লিকেশন"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "মেলানোর নতুন নিয়ম তৈরি করুন"
|
||||
|
||||
# auto translated by TM merge from project: file-roller, version: 3.8.3, DocId: file-roller
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "যোগ করুন"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "ওহে, বিশ্ব!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "বিকল্প অভিবাদন পাঠ্য।"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr "খালি না থাকলে, তাতে পাঠ্য থাকবে যা প্যানেলে ক্লিক করা হলে দেখানো হবে।"
|
||||
|
||||
#~| msgid "Message:"
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "বার্তা"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it's possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "সেলের জন্য সুস্থিত এক্সটেনশন কীভাবে গঠন করা সম্ভব তা উদাহরণের মাধ্যমে উপস্থাপিত "
|
||||
#~ "করা হয়।\n"
|
||||
#~ "উপরন্তু অভিভাদন বার্তা নিজের পছন্দ মতোও করে নেওয়া যায়।"
|
||||
|
||||
# auto translated by TM merge from project: gnome-system-monitor, version: 3.8.2.1, DocId: gnome-system-monitor
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
# auto translated by TM merge from project: RHEV Installation Guide, version: 3.1, DocId: topics/Planning_your_Data_Center
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "মেমরি"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "নাম"
|
||||
|
||||
# auto translated by TM merge from project: gdm, version: 3.8.4, DocId: gdm
|
||||
#~ msgid "Suspend"
|
||||
#~ msgstr "স্থগিত করুন"
|
||||
@@ -370,13 +360,13 @@ msgstr "ওয়ার্কস্পেস %d"
|
||||
#~ msgstr "স্থগিত সক্রিয় করুন"
|
||||
|
||||
#~ msgid "Control the visibility of the Suspend menu item"
|
||||
#~ msgstr "স্থগিত মেনু অাইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
|
||||
#~ msgstr "স্থগিত মেনু আইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
|
||||
|
||||
#~ msgid "Enable hibernating"
|
||||
#~ msgstr "নিদ্রিত অবস্থা সক্রিয় করুন"
|
||||
|
||||
#~ msgid "Control the visibility of the Hibernate menu item"
|
||||
#~ msgstr "নিদ্রিত অবস্থা মেনু অাইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
|
||||
#~ msgstr "নিদ্রিত অবস্থা মেনু আইটেমের দৃশ্যমানতা নিয়ন্ত্রণ করুন"
|
||||
|
||||
#~ msgid "Normal"
|
||||
#~ msgstr "স্বাভাবিক"
|
||||
|
||||
239
po/ca.po
239
po/ca.po
@@ -7,9 +7,9 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-08-19 16:41+0000\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2017-07-08 13:29+0100\n"
|
||||
"Last-Translator: Jordi Mas <jmas@softcatala.org>\n"
|
||||
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
|
||||
@@ -27,76 +27,11 @@ msgstr "GNOME clàssic"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Aquesta sessió us permet utilitzar el GNOME clàssic"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Adjunta el diàleg modal a la finestra pare"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
|
||||
"mutter»."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Disposició dels botons en la barra de títol"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Si s'executa el GNOME Shell, aquesta clau sobreescriu la clau «org.gnome."
|
||||
"desktop.wm.preferences»."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Habilita la tessel·lització a les vores en deixar anar les finestres a les "
|
||||
"vores de la pantalla"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Els espais de treball només es mostren en el monitor principal"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Retarda el canvi de focus, en mode ratolí, fins que el punter estigui quiet"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Només miniatures"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Només la icona de l'aplicació"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Miniatura i icona de l'aplicació"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Mostra les finestres com a"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Mostra només les icones de l'espai de treball actual"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Vista general d'activitats"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Preferides"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
@@ -113,73 +48,29 @@ msgstr ""
|
||||
"d'aplicació (nom del fitxer de l'escriptori), seguit de dos punts i el "
|
||||
"número de l'espai de treball"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplicació"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regles dels espais de treball"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Espai de treball"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Afegeix una regla"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Crea una regla de coincidència nova"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Afegeix"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Ha fallat l'expulsió de la unitat «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispositius extraïbles"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Obre els fitxers"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Hola, món!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Text de rebuda alternatiu."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Si no és buit, conté el text que es mostrarà quan es faci clic en el quadre."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Missatge"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"L'«Example» està pensat com una extensió del GNOME Shell que demostri la "
|
||||
"manera correcta de crear extensions. Com a extensió pròpiament dita no fa "
|
||||
"gairebé res.\n"
|
||||
"Tot i així permet personalitzar el missatge de benvinguda."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Utilitza més pantalla per les finestres"
|
||||
@@ -190,9 +81,9 @@ msgid ""
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Intenta utilitzar més espai de la pantalla per posicionar les miniatures de "
|
||||
"Intenta utilitzar més espai de la pantalla per a posicionar les miniatures de "
|
||||
"les finestres adaptant-les a la ràtio d'aspecte de la pantalla, consolidant-"
|
||||
"les més per reduir la capsa que les envolta. Aquest paràmetre de "
|
||||
"les més per a reduir la capsa que les envolta. Aquest paràmetre de "
|
||||
"configuració només s'aplica a l'estratègia de posicionament de finestres "
|
||||
"natural."
|
||||
|
||||
@@ -211,31 +102,31 @@ msgstr ""
|
||||
"posicionar-lo a baix. Cal reiniciar el Shell per tal que aquest canvi tingui "
|
||||
"efecte."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Llocs"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "No s'ha pogut muntar el volum «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "No s'ha pogut iniciar «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "No s'ha pogut muntar el volum «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Ordinador"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Inici"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Navega per la xarxa"
|
||||
|
||||
@@ -255,52 +146,47 @@ msgstr "Nom del tema"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "El nom del tema que es carregarà des de ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Tanca"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Desminimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Minimitza"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maximitza"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximitza-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Tanca-ho tot"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de l'espai de treball"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Llista de finestres"
|
||||
|
||||
@@ -318,10 +204,21 @@ msgstr ""
|
||||
"«auto» (automàticament) i «always» (sempre)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Mostra les finestres de tots els espais de treball"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Si es mostren les finestres de tots els espais de treballs o només de "
|
||||
"l'actual."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Mostra la llista de finestres a tots els monitors"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -329,47 +226,41 @@ msgstr ""
|
||||
"Si es mostra la llista de finestres en tots els monitors connectats o només "
|
||||
"al primari."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Agrupació de finestres"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Mai agrupis les finestres"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Agrupa les finestres quan l'espai estigui limitat"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Agrupa les finestres sempre"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostra a tots els monitors"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de l'espai de treball"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Noms dels espais de treball"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espai de treball %d"
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell clàssic"
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Afegeix un espai de treball"
|
||||
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "Gestió de finestres i iniciació d'aplicacions"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Memòria"
|
||||
|
||||
204
po/cs.po
204
po/cs.po
@@ -2,15 +2,15 @@
|
||||
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Petr Kovar <pknbe@volny.cz>, 2013.
|
||||
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017.
|
||||
# Marek Černocký <marek@manet.cz>, 2011, 2012, 2013, 2014, 2015, 2017, 2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-07-05 15:07+0000\n"
|
||||
"PO-Revision-Date: 2017-07-10 16:48+0200\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-16 10:16+0200\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
@@ -28,71 +28,11 @@ msgstr "GNOME klasik"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Toto sezení vás přihlásí do GNOME klasik"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Modální dialogová okna připojovat k rodičovskému oknu"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "Když běží GNOME Shell, tento klíč přepíše klíč v org.gnome.mutter"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Uspořádání tlačítek v záhlaví"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Když běží GNOME Shell, tento klíč přepíše klíč v org.gnome.desktop.wm."
|
||||
"preferences"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Okna upuštěná u okraje obrazovky nechat řadit jako dlaždice"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Pracovní plochy jen na hlavním monitoru"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Neměnit zaměření v režimu s myší, dokud se nezastaví ukazatel"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Pouze náhled"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Pouze ikona aplikace"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Náhled a ikona aplikace"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Představovat okna jako"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Zobrazovat pouze okna z aktuální pracovní plochy"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Přehled činností"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Oblíbené"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
msgid "Applications"
|
||||
msgstr "Aplikace"
|
||||
|
||||
@@ -112,67 +52,38 @@ msgstr ""
|
||||
msgid "Application"
|
||||
msgstr "Aplikace"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Pracovní plocha"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Přidat pravidlo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Vytvoření nového srovnávacího pravidla"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Přidat"
|
||||
|
||||
#: extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Vysunutí disku „%s“ selhalo:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
msgid "Removable devices"
|
||||
msgstr "Výměnná zařízení"
|
||||
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Open Files"
|
||||
msgstr "Otevřít soubory"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Ahoj světe!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Alternativní uvítací text"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Pokud není prázdné, obsahuje text, který se objeví po kliknutí na panel."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Zpráva"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Rozšíření Example vám má jen ukázat, jak sestavit dobře fungující rozšíření "
|
||||
"pro Shell, a tak je jeho praktické využití pramalé.\n"
|
||||
"Přesto si můžete alespoň upravit uvítací zprávu."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Použít větší část obrazovky pro okna"
|
||||
@@ -201,31 +112,31 @@ msgstr ""
|
||||
"přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto "
|
||||
"nastavení vyžaduje restart shellu, aby se projevila."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
msgid "Places"
|
||||
msgstr "Místa"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Selhalo připojení svazku pro „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Selhalo spuštění „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Selhalo připojení svazku pro „%s“"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Počítač"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
msgid "Home"
|
||||
msgstr "Domů"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
msgid "Browse Network"
|
||||
msgstr "Procházet síť"
|
||||
|
||||
@@ -245,52 +156,47 @@ msgstr "Název motivu"
|
||||
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"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Close"
|
||||
msgstr "Zavřít"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Unminimize"
|
||||
msgstr "Zrušit minimalizaci"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizovat"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Unmaximize"
|
||||
msgstr "Zrušit maximalizaci"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Maximize"
|
||||
msgstr "Maximalizovat"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:431
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimalizovat všechna"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:437
|
||||
msgid "Unminimize all"
|
||||
msgstr "Zrušit minimalizaci všech"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:443
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximalizovat všechna"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:451
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Zrušit maximalizaci všech"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:459
|
||||
msgid "Close all"
|
||||
msgstr "Zavřít všechna"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Ukazatel pracovní plochy"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Seznam oken"
|
||||
|
||||
@@ -307,10 +213,19 @@ msgstr ""
|
||||
"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/prefs.js:82
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Zobrazovat okna ze všech pracovních ploch"
|
||||
|
||||
#: 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."
|
||||
msgstr "Zda zobrazovat okna ze všech pracovních ploch nebo jen z aktuální."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Zobrazovat seznam oken na všech monitorech"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -318,19 +233,19 @@ msgstr ""
|
||||
"Zda zobrazovat seznam oken na všech připojených monitorech nebo jen na "
|
||||
"hlavním."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Seskupování oken"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Nikdy neseskupovat okna"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Seskupovat okna při nedostatku místa"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Vždy seskupovat okna"
|
||||
|
||||
@@ -338,15 +253,20 @@ msgstr "Vždy seskupovat okna"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Zobrazovat na všech monitorech"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Ukazatel pracovní plochy"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Názvy pracovních ploch"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Název"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Pracovní plocha %d"
|
||||
|
||||
276
po/da.po
276
po/da.po
@@ -9,10 +9,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-08-11 01:33+0000\n"
|
||||
"PO-Revision-Date: 2017-09-10 17:13+0200\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-09-09 00:53+0200\n"
|
||||
"Last-Translator: Kris Thomsen <mail@kristhomsen.dk>\n"
|
||||
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
|
||||
"Language: da\n"
|
||||
@@ -29,74 +29,11 @@ msgstr "GNOME Classic"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Denne session logger dig ind i GNOME Classic"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Tillæg modal-dialog til det overordnede vindue"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Denne nøgle tilsidesætter nøglen i org.gnome.mutter når GNOME Shell kører."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Placeringen af knapper i titellinjen"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Denne nøgle tilsidesætter nøglen i org.gnome.desktop.wm.preferences når "
|
||||
"GNOME Shell kører."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Aktivér kant-fliselægning når vinduer slippes på skærmkanter"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Kun arbejdsområder på primær skærm"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Forsink fokusændringer i musetilstand indtil pegeren holder op med at bevæge "
|
||||
"sig"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Kun miniaturebillede"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Kun programikon"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Miniaturebillede og programikon"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Præsentér vindue som"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Vis kun vinduer i det nuværende arbejdsområde"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Aktivitetsoversigt"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritter"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
msgid "Applications"
|
||||
msgstr "Programmer"
|
||||
|
||||
@@ -116,70 +53,38 @@ msgstr ""
|
||||
msgid "Application"
|
||||
msgstr "Program"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Arbejdsområde"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Tilføj regel"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Opret ny regel for match"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Tilføj"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Udskubning af drevet “%s” mislykkedes:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
msgid "Removable devices"
|
||||
msgstr "Flytbare enheder"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Open Files"
|
||||
msgstr "Åbn filer"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Hej verden!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Alternativ velkomsttekst."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Hvis den ikke er tom, så indeholder den teksten, der vil blive vist når der "
|
||||
"klikkes på panelet."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Besked"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Example sigter efter at vise, hvordan man bygger udvidelser til skallen, som "
|
||||
"opfører sig ordentligt, og har som sådan meget lidt selvstændig "
|
||||
"funktionalitet.\n"
|
||||
"Alligevel er det muligt at tilpasse velkomstbeskeden."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Brug mere skærmplads til vinduer"
|
||||
@@ -210,31 +115,31 @@ msgstr ""
|
||||
"Ændring af denne indstilling kræver at shell'en genstartes for at træde i "
|
||||
"kraft."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
msgid "Places"
|
||||
msgstr "Steder"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Kunne ikke montere diskenhed for “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Kunne ikke åbne “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Kunne ikke montere diskenhed for “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Computer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
msgid "Home"
|
||||
msgstr "Hjem"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
msgid "Browse Network"
|
||||
msgstr "Gennemse netværk"
|
||||
|
||||
@@ -254,52 +159,47 @@ msgstr "Temanavn"
|
||||
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"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Close"
|
||||
msgstr "Luk"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Unminimize"
|
||||
msgstr "Afminimér"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Minimize"
|
||||
msgstr "Minimér"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Unmaximize"
|
||||
msgstr "Afmaksimér"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimér"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:431
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimér"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:437
|
||||
msgid "Unminimize all"
|
||||
msgstr "Afminimér alle"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:443
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimér alle"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:451
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Afmaksimér alle"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:459
|
||||
msgid "Close all"
|
||||
msgstr "Luk alle"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Arbejdsområdeindikator"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Vinduesliste"
|
||||
|
||||
@@ -316,10 +216,19 @@ msgstr ""
|
||||
"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/prefs.js:82
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Vis vinduer fra alle arbejdsområder"
|
||||
|
||||
#: 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."
|
||||
msgstr "Om der skal vises vinduer fra alle arbejdsområder eller kun det nuværende."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Vis vindueslisten på alle skærme"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -327,19 +236,19 @@ msgstr ""
|
||||
"Om vindueslisten skal vise på alle tilsluttede skærme, eller kun på den "
|
||||
"primære."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Vinduesgruppering"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Gruppér aldrig vinduer"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Gruppér vinduer når pladsen er begrænset"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Gruppér altid vinduer"
|
||||
|
||||
@@ -347,15 +256,90 @@ msgstr "Gruppér altid vinduer"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Vis på alle skærme"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Arbejdsområdeindikator"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Navne på arbejdsområder"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Navn"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbejdsområde %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Tillæg modal-dialog til det overordnede vindue"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Denne nøgle tilsidesætter nøglen i org.gnome.mutter når GNOME Shell kører."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Placeringen af knapper i titellinjen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Denne nøgle tilsidesætter nøglen i org.gnome.desktop.wm.preferences når "
|
||||
#~ "GNOME Shell kører."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Aktivér kant-fliselægning når vinduer slippes på skærmkanter"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Kun arbejdsområder på primær skærm"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Forsink fokusændringer i musetilstand indtil pegeren holder op med at "
|
||||
#~ "bevæge sig"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Kun miniaturebillede"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Kun programikon"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Miniaturebillede og programikon"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Præsentér vindue som"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Aktivitetsoversigt"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hej verden!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Alternativ velkomsttekst."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Hvis den ikke er tom, så indeholder den teksten, der vil blive vist når "
|
||||
#~ "der klikkes på panelet."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Besked"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Example sigter efter at vise, hvordan man bygger udvidelser til skallen, "
|
||||
#~ "som opfører sig ordentligt, og har som sådan meget lidt selvstændig "
|
||||
#~ "funktionalitet.\n"
|
||||
#~ "Alligevel er det muligt at tilpasse velkomstbeskeden."
|
||||
|
||||
291
po/de.po
291
po/de.po
@@ -6,22 +6,23 @@
|
||||
# Benjamin Steinwender <b@stbe.at>, 2013.
|
||||
# Wolfgang Stöggl <c72578@yahoo.de>, 2014.
|
||||
# Paul Seyfert <pseyfert@mathphys.fsk.uni-heidelberg.de>, 2017.
|
||||
# Tim Sabsch <tim@sabsch.com>, 2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-07-06 14:32+0000\n"
|
||||
"PO-Revision-Date: 2017-07-07 21:43+0200\n"
|
||||
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-23 21:27+0200\n"
|
||||
"Last-Translator: Tim Sabsch <tim@sabsch.com>\n"
|
||||
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.0.2\n"
|
||||
"X-Generator: Poedit 2.2.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -31,77 +32,11 @@ msgstr "GNOME Classic"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Diese Sitzung meldet Sie in GNOME Classic an"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Einen modalen Dialog an das übergeordnete Fenster anhängen"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Dieser Schlüssel überschreibt den Schlüssel in »org.gnome.mutter«, wenn die "
|
||||
"GNOME-Shell ausgeführt wird."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Anordnung von Knöpfen auf der Titelleiste"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Dieser Schlüssel überschreibt den Schlüssel in »org.gnome.desktop.wm."
|
||||
"preferences«, wenn die GNOME-Shell ausgeführt wird."
|
||||
|
||||
# identisch zum Schüssel in »gnome-shell«
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Größenanpassung aktivieren, wenn ein Fenster an die Bildschirmkante "
|
||||
"verschoben wird"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbeitsflächen nur auf dem Primärmonitor"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Fokuswechsel im Mausmodus verzögern, bis sich der Zeiger nicht mehr bewegt."
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Nur Vorschaubild"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Nur Anwendungssymbol"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Vorschaubild und Anwendungssymbol"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Fenster darstellen als"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Nur Fenster der aktuellen Arbeitsfläche anzeigen"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Aktivitäten-Übersicht"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favoriten"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
msgid "Applications"
|
||||
msgstr "Anwendungen"
|
||||
|
||||
@@ -122,68 +57,38 @@ msgstr ""
|
||||
msgid "Application"
|
||||
msgstr "Anwendung"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Arbeitsfläche "
|
||||
msgstr "Arbeitsfläche"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Regel hinzufügen"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Neue Übereinstimmungsregel erstellen"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Hinzufügen"
|
||||
|
||||
#: extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
msgid "Removable devices"
|
||||
msgstr "Wechseldatenträger"
|
||||
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Open Files"
|
||||
msgstr "Dateien öffnen"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Hallo Welt!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Alternativer Begrüßungstext."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Falls nicht leer, ist dies der Text, der beim Anklicken des Panels angezeigt "
|
||||
"wird."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Das Beispiel soll zeigen, wie sich korrekt verhaltende Erweiterungen für die "
|
||||
"Shell erstellt werden. Es enthält grundlegende Funktionalität.\n"
|
||||
"Es ist möglich, die Begrüßungsnachricht zu ändern."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Mehr Bildschirmbereich für Fenster verwenden"
|
||||
@@ -214,31 +119,31 @@ msgstr ""
|
||||
"Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. "
|
||||
"Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
msgid "Places"
|
||||
msgstr "Orte"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Starten von »%s« fehlgeschlagen"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Datenträger für »%s« konnte nicht eingebunden werden"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Rechner"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
msgid "Home"
|
||||
msgstr "Persönlicher Ordner"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
msgid "Browse Network"
|
||||
msgstr "Netzwerk durchsuchen"
|
||||
|
||||
@@ -260,52 +165,47 @@ msgstr ""
|
||||
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
|
||||
"soll"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Close"
|
||||
msgstr "Schließen"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Unminimize"
|
||||
msgstr "Minimieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Minimize"
|
||||
msgstr "Minimieren"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Unmaximize"
|
||||
msgstr "Maximieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Maximize"
|
||||
msgstr "Maximieren"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:431
|
||||
msgid "Minimize all"
|
||||
msgstr "Alle minimieren"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:437
|
||||
msgid "Unminimize all"
|
||||
msgstr "Alle minimieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:443
|
||||
msgid "Maximize all"
|
||||
msgstr "Alle maximieren"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:451
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Alle maximieren rückgängig"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:459
|
||||
msgid "Close all"
|
||||
msgstr "Alle schließen"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Arbeitsflächenindikator"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Fensterliste"
|
||||
|
||||
@@ -323,10 +223,21 @@ msgstr ""
|
||||
"»always« (immer)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Fenster von allen Arbeitsflächen anzeigen"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Legt fest, ob Fenster von allen oder nur der aktuellen Arbeitsflächen "
|
||||
"angezeigt werden."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Die Fensterliste auf allen Bildschirmen anzeigen"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -334,19 +245,19 @@ msgstr ""
|
||||
"Legt fest, ob die Fensterliste auf allen angeschlossenen Bildschirmen "
|
||||
"angezeigt wird oder nur auf dem Primären."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Fenstergruppierung"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Fenster niemals gruppieren"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Fenster bei Platzmangel gruppieren"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Fenster immer gruppieren"
|
||||
|
||||
@@ -354,15 +265,93 @@ msgstr "Fenster immer gruppieren"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Auf allen Bildschirmen anzeigen"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Arbeitsflächenindikator"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Namen der Arbeitsflächen"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Arbeitsfläche %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Einen modalen Dialog an das übergeordnete Fenster anhängen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Dieser Schlüssel überschreibt den Schlüssel in »org.gnome.mutter«, wenn "
|
||||
#~ "die GNOME-Shell ausgeführt wird."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Anordnung von Knöpfen auf der Titelleiste"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Dieser Schlüssel überschreibt den Schlüssel in »org.gnome.desktop.wm."
|
||||
#~ "preferences«, wenn die GNOME-Shell ausgeführt wird."
|
||||
|
||||
# identisch zum Schüssel in »gnome-shell«
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Größenanpassung aktivieren, wenn ein Fenster an die Bildschirmkante "
|
||||
#~ "verschoben wird"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Arbeitsflächen nur auf dem Primärmonitor"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Fokuswechsel im Mausmodus verzögern, bis sich der Zeiger nicht mehr "
|
||||
#~ "bewegt."
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Nur Vorschaubild"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Nur Anwendungssymbol"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Vorschaubild und Anwendungssymbol"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Fenster darstellen als"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Aktivitäten-Übersicht"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hallo Welt!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Alternativer Begrüßungstext."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Falls nicht leer, ist dies der Text, der beim Anklicken des Panels "
|
||||
#~ "angezeigt wird."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Nachricht"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Das Beispiel soll zeigen, wie sich korrekt verhaltende Erweiterungen für "
|
||||
#~ "die Shell erstellt werden. Es enthält grundlegende Funktionalität.\n"
|
||||
#~ "Es ist möglich, die Begrüßungsnachricht zu ändern."
|
||||
|
||||
328
po/el.po
328
po/el.po
@@ -5,22 +5,23 @@
|
||||
# Ιωάννης Ζαμπούκας <ioza1964@yahoo.gr>, 2011.
|
||||
# Dimitris Spingos (Δημήτρης Σπίγγος) <dmtrs32@gmail.com>, 2013, 2015.
|
||||
# Vangelis Skarmoutsos <skarmoutsosv@gmail.com>, 2013.
|
||||
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2013.
|
||||
# Efstathios Iosifidis <iosifidis@opensuse.org>, 2013-2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-08-11 01:33+0000\n"
|
||||
"PO-Revision-Date: 2017-09-09 14:10+0200\n"
|
||||
"Last-Translator: Efstathios Iosifidis <iosifidis@opensuse.org>\n"
|
||||
"Language-Team: team@lists.gnome.gr\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-07-14 00:40+0300\n"
|
||||
"Last-Translator: Efstathios Iosifidis <eiosifidis@gnome.org>\n"
|
||||
"Language-Team: Greek, Modern (1453-) <gnome-el-list@gnome.org>\n"
|
||||
"Language: el\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.5.7\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
@@ -31,77 +32,11 @@ msgstr "GNOME Classic"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Αυτή η συνεδρία σας συνδέει στο GNOME Classic"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Προσάρτηση αποκλειστικού διαλόγου στο γονικό παράθυρο"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Αυτό το κλειδί επικαλύπτει το κλειδί στο org.gnome.mutter όταν εκτελείται το "
|
||||
"GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Διάταξη κουμπιών της γραμμής τίτλου"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Αυτό το κλειδί επικαλύπτει το κλειδί στο org.gnome.mutter όταν εκτελείται το "
|
||||
"GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Ενεργοποίηση προσκόλλησης στην άκρη, όταν αφήνονται παράθυρα στα άκρα της "
|
||||
"οθόνης"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Χώροι εργασίας μόνο στην κύρια οθόνη"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Καθυστέρηση εστίασης αλλαγών στην κατάσταση ποντικιού μέχρι να σταματήσει να "
|
||||
"κινείται ο δείκτης"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Μόνο μικρογραφία"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Μόνο εικονίδιο εφαρμογής"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Μικρογραφία και εικονίδιο εφαρμογής"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Παρουσίαση παραθύρων ως"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Εμφάνιση μόνο των παραθύρων του τρέχοντος χώρου εργασίας"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Επισκόπηση δραστηριοτήτων"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Αγαπημένα"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Εφαρμογές"
|
||||
|
||||
@@ -118,74 +53,29 @@ msgstr ""
|
||||
"(όνομα αρχείου επιφάνειας εργασίας), ακολουθούμενη από άνω-κάτω τελεία και "
|
||||
"τον αριθμό του χώρου εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Εφαρμογή"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Κανόνες χώρων εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Χώρος εργασίας"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Προσθήκη κανόνα"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Δημιουργία νέου κανόνα αντιστοίχισης"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Προσθήκη"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Αποτυχία εξαγωγής του δίσκου «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Αφαιρούμενες συσκευές"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Άνοιγμα αρχείων"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Γεια σου, κόσμε!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Εναλλακτικό κείμενο χαιρετισμού."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Αν δεν είναι κενό, περιέχει το κείμενο που θα εμφανιστεί όταν γίνεται κλικ "
|
||||
"στον πίνακα εφαρμογών."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Μήνυμα"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Το παράδειγμα στοχεύει να δείξει πώς δημιουργούμε επεκτάσεις που "
|
||||
"συμπεριφέρονται σωστά στο κέλυφος και ως τέτοιο έχει μικρή λειτουργικότητα "
|
||||
"από μόνο του.\n"
|
||||
"Παρ' όλα αυτά είναι δυνατό να προσαρμόσετε το μήνυμα χαιρετισμού."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Χρησιμοποιήστε περισσότερη οθόνη για τα παράθυρα"
|
||||
@@ -216,30 +106,31 @@ msgstr ""
|
||||
"στο κάτω μέρος. Η αλλαγή αυτής της ρύθμισης απαιτεί επανεκκίνηση του "
|
||||
"κελύφους για να υπάρξει κάποιο αποτέλεσμα."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Τοποθεσίες"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#| msgid "Failed to launch “%s”"
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Αποτυχία εκκίνησης «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Αποτυχία προσάρτησης τόμου για «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Υπολογιστής"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Προσωπικός φάκελος"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Περιήγηση δικτύου"
|
||||
|
||||
@@ -248,7 +139,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Περιδιάβαση τα μεγέθη των στιγμιοτύπων"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Μεγέθη κυκλικών στιγμιοτύπων προς τα πίσω"
|
||||
|
||||
@@ -261,52 +151,47 @@ msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr ""
|
||||
"Το όνομα του θέματος που θα φορτωθεί από το ~ /.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Κλείσιμο"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Αποελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Ελαχιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Απομεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Μεγιστοποίηση"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Ελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Αποελαχιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Μεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Απομεγιστοποίηση όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Κλείσιμο όλων"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Δείκτης χώρου εργασίας"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Λίστα παραθύρου"
|
||||
|
||||
@@ -324,10 +209,20 @@ msgstr ""
|
||||
"«always» (πάντα)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Εμφάνιση των παραθύρων από όλους τους χώρους εργασίας"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Αν θα εμφανίζονται παράθυρα όλων των χώρων εργασίας ή μόνο του τρέχοντα."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Να εμφανίζεται ο κατάλογος παραθύρων σε όλες τις οθόνες"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -335,38 +230,129 @@ msgstr ""
|
||||
"Αν θα εμφανίζεται ο κατάλογος παραθύρων όλων των συνδεμένων οθονών ή μόνο "
|
||||
"της κύριας οθόνης."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ομαδοποίηση παραθύρου"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Να μη γίνεται ποτέ ομαδοποίηση παραθύρων"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ομαδοποίηση παραθύρων όταν ο χώρος είναι περιορισμένος"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Να γίνεται πάντα ομαδοποίηση παραθύρων"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Να εμφανίζεται σε όλες τις οθόνες"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Δείκτης χώρου εργασίας"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Ονόματα χώρων εργασίας:"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Όνομα"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Χώρος εργασίας %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Προσθήκη χώρου εργασίας"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Εφαρμογή"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Δημιουργία νέου κανόνα αντιστοίχισης"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Προσθήκη"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Όνομα"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Προσάρτηση αποκλειστικού διαλόγου στο γονικό παράθυρο"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Αυτό το κλειδί επικαλύπτει το κλειδί στο org.gnome.mutter όταν εκτελείται "
|
||||
#~ "το GNOME Shell."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Διάταξη κουμπιών της γραμμής τίτλου"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Αυτό το κλειδί επικαλύπτει το κλειδί στο org.gnome.mutter όταν εκτελείται "
|
||||
#~ "το GNOME Shell."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Ενεργοποίηση προσκόλλησης στην άκρη, όταν αφήνονται παράθυρα στα άκρα της "
|
||||
#~ "οθόνης"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Χώροι εργασίας μόνο στην κύρια οθόνη"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Καθυστέρηση εστίασης αλλαγών στην κατάσταση ποντικιού μέχρι να σταματήσει "
|
||||
#~ "να κινείται ο δείκτης"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Μόνο μικρογραφία"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Μόνο εικονίδιο εφαρμογής"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Μικρογραφία και εικονίδιο εφαρμογής"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Παρουσίαση παραθύρων ως"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Επισκόπηση δραστηριοτήτων"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Γεια σου, κόσμε!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Εναλλακτικό κείμενο χαιρετισμού."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Αν δεν είναι κενό, περιέχει το κείμενο που θα εμφανιστεί όταν γίνεται "
|
||||
#~ "κλικ στον πίνακα εφαρμογών."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Μήνυμα"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Το παράδειγμα στοχεύει να δείξει πώς δημιουργούμε επεκτάσεις που "
|
||||
#~ "συμπεριφέρονται σωστά στο κέλυφος και ως τέτοιο έχει μικρή "
|
||||
#~ "λειτουργικότητα από μόνο του.\n"
|
||||
#~ "Παρ' όλα αυτά είναι δυνατό να προσαρμόσετε το μήνυμα χαιρετισμού."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
|
||||
296
po/en_GB.po
296
po/en_GB.po
@@ -4,21 +4,23 @@
|
||||
# Bruce Cowan <bruce@bcowan.eu>, 2011, 2018.
|
||||
# Chris Leonard <cjlhomeaddress@gmail.com>, 2012.
|
||||
# Philip Withnall <philip@tecnocode.co.uk>, 2014.
|
||||
# Zander Brown <zbrown@gnome.org>, 2019.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2018-02-20 23:07+0000\n"
|
||||
"PO-Revision-Date: 2018-03-10 18:03+0000\n"
|
||||
"Last-Translator: Bruce Cowan <bruce@bcowan.eu>\n"
|
||||
"Language-Team: Sugar Labs\n"
|
||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||
"PO-Revision-Date: 2019-08-25 16:49+0100\n"
|
||||
"Last-Translator: Zander Brown <zbrown@gnome.org>\n"
|
||||
"Language-Team: English - United Kingdom <en_GB@li.org>\n"
|
||||
"Language: en_GB\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 2.0.6\n"
|
||||
"X-Generator: Gtranslator 3.32.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
@@ -29,72 +31,11 @@ msgstr "GNOME Classic"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "This session logs you into GNOME Classic"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Attach modal dialogue to the parent window"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Arrangement of buttons on the titlebar"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Enable edge tiling when dropping windows on screen edges"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Workspaces only on primary monitor"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:19
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Thumbnail only"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Application icon only"
|
||||
msgstr "Application icon only"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Thumbnail and application icon"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:34
|
||||
msgid "Present windows as"
|
||||
msgstr "Present windows as"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:65
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Show only windows in the current workspace"
|
||||
|
||||
#: extensions/apps-menu/extension.js:37
|
||||
msgid "Activities Overview"
|
||||
msgstr "Activities Overview"
|
||||
|
||||
#: extensions/apps-menu/extension.js:130
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favourites"
|
||||
|
||||
#: extensions/apps-menu/extension.js:417
|
||||
#: extensions/apps-menu/extension.js:368
|
||||
msgid "Applications"
|
||||
msgstr "Applications"
|
||||
|
||||
@@ -110,32 +51,31 @@ msgstr ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:53
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:62
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
msgid "Workspace"
|
||||
msgstr "Workspace"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:78
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
msgid "Add Rule"
|
||||
msgstr "Add Rule"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:98
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Create new matching rule"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:103
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Add"
|
||||
msgstr "Add"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:103
|
||||
#: extensions/places-menu/placeDisplay.js:219
|
||||
#: extensions/drive-menu/extension.js:102
|
||||
#: extensions/places-menu/placeDisplay.js:232
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Ejecting drive “%s” failed:"
|
||||
|
||||
@@ -143,47 +83,10 @@ msgstr "Ejecting drive “%s” failed:"
|
||||
msgid "Removable devices"
|
||||
msgstr "Removable devices"
|
||||
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:145
|
||||
msgid "Open Files"
|
||||
msgstr "Open Files"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Hello, world!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Alternative greeting text."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
|
||||
#: extensions/example/prefs.js:27
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:40
|
||||
#| msgid ""
|
||||
#| "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#| "and as such it has little functionality on its own.\n"
|
||||
#| "Nevertheless it's possible to customize the greeting message."
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customise the greeting message."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Use more screen for windows"
|
||||
@@ -212,32 +115,31 @@ msgstr ""
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
|
||||
#: extensions/places-menu/extension.js:79
|
||||
#: extensions/places-menu/extension.js:82
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
msgid "Places"
|
||||
msgstr "Places"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:66
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Failed to launch “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Failed to mount volume for “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:79
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Failed to launch “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:135
|
||||
#: extensions/places-menu/placeDisplay.js:158
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Computer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:336
|
||||
#: extensions/places-menu/placeDisplay.js:358
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:378
|
||||
#: extensions/places-menu/placeDisplay.js:403
|
||||
msgid "Browse Network"
|
||||
msgstr "Browse Network"
|
||||
|
||||
@@ -246,7 +148,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Cycle Screenshot Sizes"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Cycle Screenshot Sizes Backward"
|
||||
|
||||
@@ -258,52 +159,47 @@ msgstr "Theme name"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:99
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Unminimize"
|
||||
msgstr "Unminimise"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:119
|
||||
msgid "Minimize"
|
||||
msgstr "Minimise"
|
||||
|
||||
#: extensions/window-list/extension.js:132
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Unmaximize"
|
||||
msgstr "Unmaximise"
|
||||
|
||||
#: extensions/window-list/extension.js:133
|
||||
#: extensions/window-list/extension.js:126
|
||||
msgid "Maximize"
|
||||
msgstr "Maximise"
|
||||
|
||||
#: extensions/window-list/extension.js:408
|
||||
#: extensions/window-list/extension.js:431
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimise all"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
#: extensions/window-list/extension.js:437
|
||||
msgid "Unminimize all"
|
||||
msgstr "Unminimise all"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:443
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximise all"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:451
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Unmaximise all"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
#: extensions/window-list/extension.js:459
|
||||
msgid "Close all"
|
||||
msgstr "Close all"
|
||||
|
||||
#: extensions/window-list/extension.js:646
|
||||
#: extensions/workspace-indicator/extension.js:26
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Workspace Indicator"
|
||||
|
||||
#: extensions/window-list/extension.js:811
|
||||
#: extensions/window-list/extension.js:741
|
||||
msgid "Window List"
|
||||
msgstr "Window List"
|
||||
|
||||
@@ -312,9 +208,6 @@ msgid "When to group windows"
|
||||
msgstr "When to group windows"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#| msgid ""
|
||||
#| "Decides when to group windows from the same application on the window "
|
||||
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
@@ -323,10 +216,23 @@ msgstr ""
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
#| msgid "Show only windows in the current workspace"
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Show windows from all workspaces"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#| msgid ""
|
||||
#| "Whether to show the window list on all connected monitors or only on the "
|
||||
#| "primary one."
|
||||
msgid "Whether to show windows from all workspaces or only the current one."
|
||||
msgstr "Whether to show windows from all workspaces or only the current one."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Show the window list on all monitors"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -334,39 +240,115 @@ msgstr ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
|
||||
#: extensions/window-list/prefs.js:28
|
||||
#: extensions/window-list/prefs.js:25
|
||||
msgid "Window Grouping"
|
||||
msgstr "Window Grouping"
|
||||
|
||||
#: extensions/window-list/prefs.js:46
|
||||
#: extensions/window-list/prefs.js:47
|
||||
msgid "Never group windows"
|
||||
msgstr "Never group windows"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:48
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Group windows when space is limited"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:49
|
||||
msgid "Always group windows"
|
||||
msgstr "Always group windows"
|
||||
|
||||
#: extensions/window-list/prefs.js:71
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Show on all monitors"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:134
|
||||
#: extensions/window-list/workspaceIndicator.js:211
|
||||
#: extensions/workspace-indicator/extension.js:216
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Workspace Indicator"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
msgid "Workspace Names"
|
||||
msgstr "Workspace Names"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:150
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
msgid "Name"
|
||||
msgstr "Name"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:190
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Workspace %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Attach modal dialogue to the parent window"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Arrangement of buttons on the titlebar"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr "Enable edge tiling when dropping windows on screen edges"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Workspaces only on primary monitor"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Thumbnail only"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Application icon only"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Thumbnail and application icon"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Present windows as"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Activities Overview"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hello, world!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Alternative greeting text."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Message"
|
||||
|
||||
#~| msgid ""
|
||||
#~| "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~| "and as such it has little functionality on its own.\n"
|
||||
#~| "Nevertheless it's possible to customize the greeting message."
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customise the greeting message."
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "GNOME Shell Classic"
|
||||
|
||||
|
||||
129
po/eo.po
129
po/eo.po
@@ -9,8 +9,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2019-03-02 10:57+0000\n"
|
||||
"PO-Revision-Date: 2019-03-06 22:14+0200\n"
|
||||
"POT-Creation-Date: 2020-03-31 07:16+0000\n"
|
||||
"PO-Revision-Date: 2020-04-18 10:59+0200\n"
|
||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
||||
"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
|
||||
"Language: eo\n"
|
||||
@@ -18,7 +18,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
@@ -29,15 +29,11 @@ msgstr "GNOME-klasika"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Ĉi seanco ensalutas vin GNOME-klasiken"
|
||||
|
||||
#: extensions/apps-menu/extension.js:29
|
||||
msgid "Activities Overview"
|
||||
msgstr "Aktivecoj-Superrigardon"
|
||||
|
||||
#: extensions/apps-menu/extension.js:118
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Plej ŝatataj"
|
||||
|
||||
#: extensions/apps-menu/extension.js:407
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Aplikaĵoj"
|
||||
|
||||
@@ -53,41 +49,39 @@ msgstr ""
|
||||
"Listo de ĉenoj, ĉiu enhavas aplikaĵan identigilon ('desktop' dosiernomo), "
|
||||
"sevkita per dupunkto kaj la laborspaca numero"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
#: extensions/auto-move-windows/prefs.js:59
|
||||
msgid "Application"
|
||||
msgstr "Aplikaĵo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:71
|
||||
#: extensions/auto-move-windows/prefs.js:134
|
||||
#: extensions/auto-move-windows/prefs.js:70
|
||||
#: extensions/auto-move-windows/prefs.js:133
|
||||
msgid "Workspace"
|
||||
msgstr "Laborspaco"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:89
|
||||
#: extensions/auto-move-windows/prefs.js:88
|
||||
msgid "Add Rule"
|
||||
msgstr "Aldoni regulon"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
#: extensions/auto-move-windows/prefs.js:110
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Krei novan kongruantan regulon"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
#: extensions/auto-move-windows/prefs.js:116
|
||||
msgid "Add"
|
||||
msgstr "Aldoni"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:100
|
||||
#: extensions/places-menu/placeDisplay.js:217
|
||||
#: extensions/drive-menu/extension.js:103
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
#| msgid "Ejecting drive '%s' failed:"
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Elĵeto de volumo “%s” malsukcesis:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:116
|
||||
#: extensions/drive-menu/extension.js:119
|
||||
msgid "Removable devices"
|
||||
msgstr "Demeteblaj aparatoj"
|
||||
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:146
|
||||
msgid "Open Files"
|
||||
msgstr "Malfermi dosierojn"
|
||||
|
||||
@@ -119,32 +113,31 @@ msgstr ""
|
||||
"estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi "
|
||||
"la ŝelon."
|
||||
|
||||
#: extensions/places-menu/extension.js:79
|
||||
#: extensions/places-menu/extension.js:83
|
||||
#: extensions/places-menu/extension.js:80
|
||||
#: extensions/places-menu/extension.js:84
|
||||
msgid "Places"
|
||||
msgstr "Lokoj"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:59
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:72
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch \"%s\""
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Malsukcesis lanĉi “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:133
|
||||
#: extensions/places-menu/placeDisplay.js:156
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Ne eblis munti datumportilon por “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Komputilo"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:343
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Domo"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:387
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Foliumi reton"
|
||||
|
||||
@@ -153,10 +146,8 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Cikle montri ekrankopiajn grandojn"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#, fuzzy
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Cikle montri ekrankopiajn grandojn"
|
||||
msgstr "Montri ekrankopiajn grandojn laŭ inversa sinsekvo"
|
||||
|
||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||
msgid "Theme name"
|
||||
@@ -166,52 +157,47 @@ msgstr "Etosnomo"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "La nomo de la etoso, malfermigi de ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:100
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Malfermi"
|
||||
msgstr "Fermi"
|
||||
|
||||
#: extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Neplejetigi"
|
||||
|
||||
#: extensions/window-list/extension.js:120
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Plejetigi"
|
||||
|
||||
#: extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Nemaksimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:127
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maksimumigi"
|
||||
|
||||
#: extensions/window-list/extension.js:408
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Minimize all"
|
||||
msgstr "Plejetigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
#: extensions/window-list/extension.js:435
|
||||
msgid "Unminimize all"
|
||||
msgstr "Neplejetigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:441
|
||||
msgid "Maximize all"
|
||||
msgstr "Maksimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:449
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Nemaksimumigi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
#: extensions/window-list/extension.js:457
|
||||
msgid "Close all"
|
||||
msgstr "Fermi ĉiujn"
|
||||
|
||||
#: extensions/window-list/extension.js:655
|
||||
#: extensions/workspace-indicator/extension.js:21
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Laborspaco Indikilo"
|
||||
|
||||
#: extensions/window-list/extension.js:836
|
||||
#: extensions/window-list/extension.js:737
|
||||
msgid "Window List"
|
||||
msgstr "Fenestra listo"
|
||||
|
||||
@@ -220,23 +206,27 @@ msgid "When to group windows"
|
||||
msgstr "Kiam grupigi fenestrojn"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Decides when to group windows from the same application on the window "
|
||||
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Decidas kiam grupi fenestrojn de la sama aplikaĵo en la fenestra listo. "
|
||||
"Validaj valoroj estas “never” (neniam), “auto” (aŭtomate) kaj “always” "
|
||||
"(ĉiam)."
|
||||
"Validaj valoroj estas “neniam”, “aŭtomate” kaj ĉiam”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:82
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Montri la fenestrojn de ĉiuj laborspacoj"
|
||||
|
||||
#: 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."
|
||||
msgstr "Ĉu montri la fenestrojn de ĉiuj laborspacoj aŭ nur de la nuna."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Montri la fenestroliston en ĉiuj ekranoj"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -263,19 +253,27 @@ msgstr "Ĉiam grupigi fenestrojn"
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Montri en ĉiuj ekranoj"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:131
|
||||
#: extensions/window-list/workspaceIndicator.js:209
|
||||
#: extensions/workspace-indicator/extension.js:215
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Laborspaco Indikilo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:129
|
||||
msgid "Workspace Names"
|
||||
msgstr "Laborspacaj nomoj"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:151
|
||||
#: extensions/workspace-indicator/prefs.js:149
|
||||
msgid "Name"
|
||||
msgstr "Nomo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:191
|
||||
#: extensions/workspace-indicator/prefs.js:189
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Laborspaco %d"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Aktivecoj-Superrigardon"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Kunligi modalan dialogon al la patra fenestro"
|
||||
|
||||
@@ -319,9 +317,6 @@ msgstr "Laborspaco %d"
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Prezenti fenestron kiel"
|
||||
|
||||
#~ msgid "Show only windows in the current workspace"
|
||||
#~ msgstr "Montri nur fenestrojn en la aktuala laborspaco"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Saluton, mondo!"
|
||||
|
||||
|
||||
326
po/es.po
326
po/es.po
@@ -4,23 +4,23 @@
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2011.
|
||||
# Nicolás Satragno <nsatragno@gmail.com>, 2011.
|
||||
#
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2015, 2017.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-07-20 23:40+0000\n"
|
||||
"PO-Revision-Date: 2017-07-24 15:40+0200\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-03 17:53+0000\n"
|
||||
"PO-Revision-Date: 2020-05-04 14:06+0200\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: es <gnome-es-list@gnome.org>\n"
|
||||
"Language: es\n"
|
||||
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
|
||||
"Language: es_ES\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"X-Generator: Gtranslator 3.36.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -30,75 +30,11 @@ msgstr "GNOME clásico"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Esta sesión inicia GNOME clásico"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Acoplar un diálogo modal a la ventana padre"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta clave sobrescribe la clave en org.gnome.mutter al ejecutar GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Ordenación de los botones en la barra de título"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Esta clave sobrescribe la clave en org.gnome.desktop.wm.preferences al "
|
||||
"ejecutar GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
||||
"ventana"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Áreas de trabajo solo en la pantalla principal"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Retrasar el cambio del foco del ratón hasta que el puntero deje de moverse"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Sólo miniaturas"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Sólo icono de la aplicación"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Miniatura e icono de la aplicación"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Presentar ventanas como"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Mostrar ventanas solamente en el área de trabajo actual"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Vista de actividades"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favoritos"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Aplicaciones"
|
||||
|
||||
@@ -114,73 +50,30 @@ msgstr ""
|
||||
"Una lista de cadenas, conteniendo cada una un ID de aplicación (nombre de "
|
||||
"archivo de escritorio), seguido de dos puntos y el número del área de trabajo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplicación"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
#| msgid "Workspace Names"
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Reglas de las áreas de trabajo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Área de trabajo"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Añadir regla"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Crear regla de coincidencia nueva"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Añadir"
|
||||
|
||||
#: extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Falló al expulsar el dispositivo «%s»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Dispositivos extraíbles"
|
||||
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Abrir archivos"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "¡Hola, mundo!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Texto de bienvenida alternativo."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"Si no está vacío, contiene el texto que se desplegará al pulsar sobre el "
|
||||
"panel."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Mensaje"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"«Example» tiene por objeto mostrar cómo construir extensiones de buen "
|
||||
"comportamiento para la Shell y por eso tiene poca funcionalidad por sí "
|
||||
"solo.\n"
|
||||
"Sin embargo, es posible personalizar el mensaje de bienvenida."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Usar más pantalla para las ventanas"
|
||||
@@ -210,31 +103,31 @@ msgstr ""
|
||||
"los sitúa por debajo. Cambiar esta configuración requiere reiniciar la shell "
|
||||
"para que tenga efecto."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Lugares"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Falló al montar el volumen para «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Falló al lanzar «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Falló al montar el volumen para «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Equipo"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Carpeta personal"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Examinar la red"
|
||||
|
||||
@@ -243,7 +136,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Tamaños de capturas de pantalla cíclicos"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Tamaños de capturas de pantalla cíclicos"
|
||||
|
||||
@@ -255,52 +147,47 @@ msgstr "Nombre del tema"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "El nombre del tema, que se carga desde ~/.themes/nombre/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Cerrar"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Desminimizar"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizar"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizar"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:435
|
||||
msgid "Unminimize all"
|
||||
msgstr "Desminimizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:441
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:449
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximizar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:457
|
||||
msgid "Close all"
|
||||
msgstr "Cerrar todo"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de área de trabajo"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:737
|
||||
msgid "Window List"
|
||||
msgstr "Lista de ventanas"
|
||||
|
||||
@@ -317,10 +204,21 @@ msgstr ""
|
||||
"ventanas. Los valores posibles son «never», «auto» y «always»."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Mostrar ventanas de todas las áreas de trabajo"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Indica si se deben mostrar ventanas de todas las áreas de trabajo o sólo de "
|
||||
"la actual."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Mostrar la lista de ventanas en todas las pantallas"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -328,39 +226,131 @@ msgstr ""
|
||||
"Indica si se debe mostrar la lista de ventanas en todas las pantallas "
|
||||
"conectadas o sólo en la primaria."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Agrupación de ventanas"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Nunca agrupar las ventanas"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Agrupar las ventanas cuando el espacio esté limitado"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Siempre agrupar las ventanas"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostrar en todas las pantallas"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:209
|
||||
#: extensions/workspace-indicator/extension.js:215
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicador de área de trabajo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nombres de los áreas de trabajo"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Área de trabajo %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Añadir área de trabajo"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplicación"
|
||||
|
||||
#~ msgid "Workspace"
|
||||
#~ msgstr "Área de trabajo"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Crear regla de coincidencia nueva"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Añadir"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Nombre"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Acoplar un diálogo modal a la ventana padre"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Esta clave sobrescribe la clave en org.gnome.mutter al ejecutar GNOME "
|
||||
#~ "Shell."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Ordenación de los botones en la barra de título"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Esta clave sobrescribe la clave en org.gnome.desktop.wm.preferences al "
|
||||
#~ "ejecutar GNOME Shell."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
||||
#~ "ventana"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Áreas de trabajo solo en la pantalla principal"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Retrasar el cambio del foco del ratón hasta que el puntero deje de moverse"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Sólo miniaturas"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Sólo icono de la aplicación"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Miniatura e icono de la aplicación"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Presentar ventanas como"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Vista de actividades"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "¡Hola, mundo!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Texto de bienvenida alternativo."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Si no está vacío, contiene el texto que se desplegará al pulsar sobre el "
|
||||
#~ "panel."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mensaje"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "«Example» tiene por objeto mostrar cómo construir extensiones de buen "
|
||||
#~ "comportamiento para la Shell y por eso tiene poca funcionalidad por sí "
|
||||
#~ "solo.\n"
|
||||
#~ "Sin embargo, es posible personalizar el mensaje de bienvenida."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
|
||||
349
po/eu.po
349
po/eu.po
@@ -5,22 +5,22 @@
|
||||
# assar <asiersar@yahoo.com>, 2011.
|
||||
# Iñaki Larrañaga Murgoitio <dooteo@zundan.com>, 2011, 2013, 2015, 2017.
|
||||
# Edurne Labaka <elabaka@uzei.com>, 2015.
|
||||
# Asier Sarasua Garmendia <asiersarasua@ni.eus>, 2019, 2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-08-11 01:33+0000\n"
|
||||
"PO-Revision-Date: 2017-08-27 15:49+0200\n"
|
||||
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
|
||||
msgstr "Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-10 00:42+0200\n"
|
||||
"Last-Translator: Asier Sarasua Garmendia <asiersarasua@ni.eus>\n"
|
||||
"Language-Team: Basque <librezale@librezale.eus>\n"
|
||||
"Language: eu\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-Generator: Poedit 2.2.3\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -30,76 +30,11 @@ msgstr "GNOME Klasikoa"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Saio honek GNOME Klasikoa hasten du"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Erantsi elkarrizketa-koadro modala leiho gurasoari"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Gako honek org.gnome.mutter-eko gakoa gainidazten du GNOME Shell exekutatzen "
|
||||
"ari denean."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Botoien antolamendua titulu-barran"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Gako honekorg.gnome.desktop.wm.preferences-eko gakoa gainidazten du GNOME "
|
||||
"Shell exekutatzen ari denean."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Gaitu ertza lauza gisa ezartzea leihoak pantailaren ertzetara jaregitean"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Laneko areak pantaila nagusian soilik"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Fokuaren aldaketaren atzerapena saguaren moduan erakusleak mugitzeari utzi "
|
||||
"arte"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Koadro txikiak soilik"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Aplikazioen ikonoa soilik"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Koadro txikien eta aplikazioen ikonoa"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Aurkeztu leihoa honela"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Erakutsi leihoak bakarrik uneko laneko arean"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Jardueren ikuspegi orokorra"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Gogokoak"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Aplikazioak"
|
||||
|
||||
@@ -111,76 +46,31 @@ msgstr "Aplikazioen eta laneko areen zerrenda"
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren "
|
||||
"fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena"
|
||||
msgstr "Kateen zerrenda bat, bakoitzak aplikazio-ID bat duena (mahaigainaren fitxategi-izena) eta jarraian bi puntu eta laneko arearen zenbakia dituena"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplikazioa"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Laneko areen arauak"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Laneko area"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Gehitu araua"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Sortu bat datorren arau berria"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Gehitu"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Huts egin du “%s“ unitatea egoztean: "
|
||||
msgstr "Huts egin du “%s“ unitatea egoztean:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Gailu aldagarriak"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Ireki fitxategiak"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Kaixo mundua!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Ongi etorriaren bestelako testua."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr "Ez badago hutsik, panelean klik egitean erakutsiko den testua dauka."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Mezua"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Shell-erako portaera egokia duten hedapenak nola eraikitzen den erakusteko "
|
||||
"helburua du adibideak, ondorioz bere kasa funtzionalitate baxukoa da.\n"
|
||||
"Hala ere, ongi etorriko mezua pertsonalizatzeko aukera dago."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Erabili pantaila gehiago leihoentzako"
|
||||
@@ -190,11 +80,7 @@ msgid ""
|
||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||
"This setting applies only with the natural placement strategy."
|
||||
msgstr ""
|
||||
"Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko "
|
||||
"pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa "
|
||||
"txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik "
|
||||
"aplikatzen da."
|
||||
msgstr "Saiatu pantaila gehiago erabiltzen leihoen koadro txikiak kokatzeko pantailaren aspektu-erlaziora egokituz, eta haiek taldekatu muga-koadroa txikiagotzeko. Ezarpen hau kokapen naturalaren estrategiarekin soilik aplikatzen da."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||
msgid "Place window captions on top"
|
||||
@@ -205,37 +91,33 @@ msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
msgstr ""
|
||||
"TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko "
|
||||
"ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau "
|
||||
"aldatzeko eta aplikatzeko Shell berrabiarazi behar da."
|
||||
msgstr "TRUE (egia) bada, leihoen epigrafeak dagokien koadro txikien gainean jarriko ditu, Shell-aren lehenespena (behean jartzearena) gainidatziz. Ezarpen hau aldatzeko eta aplikatzeko Shell berrabiarazi behar da."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Lekuak"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Huts egin du '%s' abiaraztean"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch “%s”"
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Huts egin du “%s“(r)en bolumena muntatzean"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Huts egin du “%s“ abiaraztean"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Ordenagailua"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Karpeta nagusia"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Arakatu sarea"
|
||||
|
||||
@@ -244,7 +126,6 @@ msgid "Cycle Screenshot Sizes"
|
||||
msgstr "Pantaila-argazkien tamainak begiztan"
|
||||
|
||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||
#| msgid "Cycle Screenshot Sizes"
|
||||
msgid "Cycle Screenshot Sizes Backward"
|
||||
msgstr "Pantaila-argazkien tamainak atzerantz begiztan"
|
||||
|
||||
@@ -256,54 +137,49 @@ msgstr "Gaiaren izena"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Gaiaren izena, ~/.themes/izena/gnome-shell direktoriotik kargatzeko"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Itxi"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Leheneratu"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizatu"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Desmaximizatu"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maximizatu"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimizatu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Leheneratu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Maximizatu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Desmaximizatu denak"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Itxi denak"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Lan arearen adierazlea"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Leihoen zerrenda"
|
||||
msgstr "Leiho-zerrenda"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||
msgid "When to group windows"
|
||||
@@ -313,56 +189,148 @@ msgstr "Noiz elkartu leihoak"
|
||||
msgid ""
|
||||
"Decides when to group windows from the same application on the window list. "
|
||||
"Possible values are “never”, “auto” and “always”."
|
||||
msgstr ""
|
||||
"Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen "
|
||||
"du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta "
|
||||
"“always“ (beti)."
|
||||
msgstr "Aplikazio bereko leihoak leihoen zerrendan noiz elkartuko diren erabakitzen du. Balio erabilgarriak: “never“ (inoiz ere ez), “auto“ (automatikoa) eta “always“ (beti)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Erakutsi laneko area guztietako leihoak"
|
||||
|
||||
#: 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."
|
||||
msgstr "Laneko area guztietako leihoak edo uneko areakoak soilik erakutsiko diren."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Erakutsi leihoen zerrenda pantaila guztietan"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
msgstr ""
|
||||
"Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila "
|
||||
"nagusian erakutsiko den."
|
||||
msgstr "Leihoen zerrenda konektatutako pantaila guztietan edo soilik pantaila nagusian erakutsiko den."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Leihoak elkartzea"
|
||||
msgstr "Leiho-elkartzea"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Leihoak inoiz ez elkartu"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Elkartu leihoak lekua mugatuta dagoenean"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Elkartu beti leihoak"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Erakutsi pantaila guztietan"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Lan arearen adierazlea"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Laneko areen izenak"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Izena"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "%d. laneko area"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Gehitu laneko area"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplikazioa"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Sortu bat datorren arau berria"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Gehitu"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Izena"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Erantsi elkarrizketa-koadro modala leiho gurasoari"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Gako honek org.gnome.mutter-eko gakoa gainidazten du GNOME Shell "
|
||||
#~ "exekutatzen ari denean."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Botoien antolamendua titulu-barran"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Gako honekorg.gnome.desktop.wm.preferences-eko gakoa gainidazten du GNOME "
|
||||
#~ "Shell exekutatzen ari denean."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Gaitu ertza lauza gisa ezartzea leihoak pantailaren ertzetara jaregitean"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Laneko areak pantaila nagusian soilik"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Fokuaren aldaketaren atzerapena saguaren moduan erakusleak mugitzeari "
|
||||
#~ "utzi arte"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Koadro txikiak soilik"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Aplikazioen ikonoa soilik"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Koadro txikien eta aplikazioen ikonoa"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Aurkeztu leihoa honela"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Jardueren ikuspegi orokorra"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Kaixo mundua!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Ongi etorriaren bestelako testua."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Ez badago hutsik, panelean klik egitean erakutsiko den testua dauka."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Mezua"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Shell-erako portaera egokia duten hedapenak nola eraikitzen den "
|
||||
#~ "erakusteko helburua du adibideak, ondorioz bere kasa funtzionalitate "
|
||||
#~ "baxukoa da.\n"
|
||||
#~ "Hala ere, ongi etorriko mezua pertsonalizatzeko aukera dago."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "PUZ"
|
||||
|
||||
@@ -375,7 +343,6 @@ msgstr "%d. laneko area"
|
||||
#~ msgid "Window management and application launching"
|
||||
#~ msgstr "Leiho-kudeaketa eta aplikazioak abiaraztea"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Online Accounts"
|
||||
#~ msgstr "Nire kontua"
|
||||
|
||||
|
||||
359
po/fa.po
359
po/fa.po
@@ -1,23 +1,24 @@
|
||||
# Persian translation for gnome-shell-extensions.
|
||||
# Copyright (C) 2011 Iranian Free Software Users Group (IFSUG.org) translation team.
|
||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||
# Arash Mousavi <mousavi.arash@gmail.com>, 2011, 2013, 2014, 2015, 2016, 2017.
|
||||
# Arash Mousavi <mousavi.arash@gmail.com>, 2011-2017.
|
||||
# Danial Behzadi <dani.behzi@ubuntu.com>, 2018-2020.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-09-20 08:40+0000\n"
|
||||
"PO-Revision-Date: 2017-09-22 22:09+0330\n"
|
||||
"Last-Translator: Arash Mousavi <mousavi.arash@gmail.com>\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-03 17:53+0000\n"
|
||||
"PO-Revision-Date: 2020-05-12 14:25+0000\n"
|
||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
||||
"Language-Team: Persian <>\n"
|
||||
"Language: fa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
"X-Generator: Poedit 2.0.3\n"
|
||||
"X-Generator: Poedit 2.3\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
@@ -28,152 +29,48 @@ msgstr "گنوم کلاسیک"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "این نشست شما را به گنوم کلاسیک وارد میکند"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "اتصال محاوره modal به پنجره والد"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "این کلید، کلید org.gnome.mutter را در هنگام اجرای گنومشل بازنویسی میکند."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "چینش دکمهها در نوار عنوان"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"این کلید، کلید org.gnome.desktop.wm.preferences را در هنگام اجرای گنومشل "
|
||||
"بازنویسی میکند."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "فعالسازی چینش در گوشهها هنگامی که پنجرهها در گوشههای صفحهنمایش میاندازید"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "فضاهای کاری تنها در نمایشگر اصلی"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"به تاخیر انداختن تغییر تمرکز در حالت موشی تا زمانی که نشانگر از حرکت باز ایستد"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "تنها تصویر بندانگشتی"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "تنها شمایل برنامه"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "تصویر بندانگشتی و شمایل برنامه"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "نمایش پنجره به عنوان"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "نمایش پنجرهها تنها در فضایکاری فعلی"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "نمایکلی فعالیتها"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "علاقهمندیها"
|
||||
msgstr "برگزیدهها"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "برنامهها"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||
msgid "Application and workspace list"
|
||||
msgstr "فهرست برنامهها و فضایکاری"
|
||||
msgstr "فهرست برنامه و فضایکاری"
|
||||
|
||||
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||
msgid ""
|
||||
"A list of strings, each containing an application id (desktop file name), "
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
"فهرستی از رشتهها، هرکدام حاوی شناسهی یک برنامه (نام پرونده رومیزی)، در ادامهی "
|
||||
"یک ویرگول و شمارهی فضای کاری"
|
||||
"فهرستی از رشتهها، هرکدام حاوی شناسهی یک برنامه (نام پرونده رومیزی)، در ادامهی یک "
|
||||
"ویرگول و شمارهی فضای کاری"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "برنامه"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "قواعد فضای کاری"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "فضایکاری"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "اضافه کردن قاعده"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "اضافه کردن یک قاعدهی منطبق جدید"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "اضافه"
|
||||
msgstr "افزودن قاعده"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "بیرون دادن دیسکگردان «%s» شکست خورد:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "دستگاههای جداشدنی"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "باز کردن پروندهها"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "سلام دنیا!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "متن خوشآمدِ جایگزین."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"اگر خالی نباشد، حاوی متنی خواهد بود که که هنگام کلیک بر روی پنل نمایش داده "
|
||||
"میشود است."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "پیام"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and as "
|
||||
"such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"هدف مثال نمایش چگونگی ساخت افزونههای خوشرفتار برای پوسته است، پس خودش قابلیتهای "
|
||||
"کمی دارد.\n"
|
||||
"با این وجود میتوان پیام خوشآمد را تغییر داد."
|
||||
msgstr "گشودن پروندهها"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
@@ -195,38 +92,38 @@ msgstr "قراردادن عنوان پنجره در بالا"
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||
msgid ""
|
||||
"If true, place window captions on top the respective thumbnail, overriding "
|
||||
"shell default of placing it at the bottom. Changing this setting requires "
|
||||
"restarting the shell to have any effect."
|
||||
"If true, place window captions on top the respective thumbnail, overriding shell "
|
||||
"default of placing it at the bottom. Changing this setting requires restarting "
|
||||
"the shell to have any effect."
|
||||
msgstr ""
|
||||
"اگر بر روی درست باشد، عنوان پنجره را بالای تصویر آن قرار میدهد، که حالت پیشفرض "
|
||||
"شل در پایین را تغییر میدهد. تغییر این گزینه، نیاز به راهاندازی مجدد شل دارد تا "
|
||||
"تاثیر بگذارد."
|
||||
|
||||
#: extensions/places-menu/extension.js:78 extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89 extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "مکانها"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "شکست در سوار کردن جلد برای «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "شکست در اجرای «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "شکست در سوار کردن حجم برای «%s»"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "رایانه"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "خانه"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "مرور شبکه"
|
||||
|
||||
@@ -246,52 +143,47 @@ msgstr "نام تم"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "نام تم، جهت بارگیری از شاخه themes/name/gnome-shell./~"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "خروج"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "ناحداقل کردن"
|
||||
msgstr "ناکمینه"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "حداکثر کردن"
|
||||
msgstr "کمینه"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "ناحداکثر کردن"
|
||||
msgstr "نابیشینه"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "حداکثر کردن"
|
||||
msgstr "بیشنه"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:429
|
||||
msgid "Minimize all"
|
||||
msgstr "حداقل کردن همه"
|
||||
msgstr "کمینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:435
|
||||
msgid "Unminimize all"
|
||||
msgstr "ناحداقل کردن همه"
|
||||
msgstr "ناکمینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:441
|
||||
msgid "Maximize all"
|
||||
msgstr "حداکثر کردن همه"
|
||||
msgstr "بیشینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:449
|
||||
msgid "Unmaximize all"
|
||||
msgstr "ناحداکثر کردن همه"
|
||||
msgstr "نابیشینهٔ همه"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:457
|
||||
msgid "Close all"
|
||||
msgstr "بستن همه"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "نشانگر فضایکاری"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:737
|
||||
msgid "Window List"
|
||||
msgstr "فهرست پنجره"
|
||||
|
||||
@@ -308,49 +200,146 @@ msgstr ""
|
||||
"ممکن عبارتند از «never»، «auto» و «always»."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "نمایش پنجرهها از تمام فضاهای کاری"
|
||||
|
||||
#: 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."
|
||||
msgstr "این که پنجرهها از تمام فضاهای کاری نمایش داده شود یا فقط فضای کاری فعلی."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "نمایش فهرست پنجرهها در تمام نمایشگرها"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
"Whether to show the window list on all connected monitors or only on the primary "
|
||||
"one."
|
||||
msgstr ""
|
||||
"اینکه آیا فهرست پنجرهها در تمام نمایشگرهای متصل نمایش داده شود یا فقط در "
|
||||
"نمایشگر اصلی."
|
||||
"اینکه آیا فهرست پنجرهها در تمام نمایشگرهای متصل نمایش داده شود یا فقط در نمایشگر "
|
||||
"اصلی."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "گروهسازی پنجرهها"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "هیچگاه پنجرهها گروه نشوند"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "پنجرهها زمانی که فضا محدود است گروه شوند"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "همیشه پنجرهها گروه شوند"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "نمایش در تمام نمایشگرها"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:209
|
||||
#: extensions/workspace-indicator/extension.js:215
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "نشانگر فضایکاری"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "نام فضاهای کاری"
|
||||
msgstr "نامهای فضای کاری"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "نام"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "فضایکاری %Id"
|
||||
msgstr "فضای کاری %Id"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "افزودن فضایکاری"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "برنامه"
|
||||
|
||||
#~ msgid "Workspace"
|
||||
#~ msgstr "فضایکاری"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "افزودن یک قاعدهی منطبق جدید"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "اضافه"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "نام"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "اتصال محاوره modal به پنجره والد"
|
||||
|
||||
#~ msgid "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "این کلید، کلید org.gnome.mutter را در هنگام اجرای گنومشل بازنویسی میکند."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "چینش دکمهها در نوار عنوان"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
#~ "GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "این کلید، کلید org.gnome.desktop.wm.preferences را در هنگام اجرای گنومشل "
|
||||
#~ "بازنویسی میکند."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "فعالسازی چینش در گوشهها هنگامی که پنجرهها در گوشههای صفحهنمایش میاندازید"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "فضاهای کاری تنها در نمایشگر اصلی"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "به تاخیر انداختن تغییر تمرکز در حالت موشی تا زمانی که نشانگر از حرکت باز ایستد"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "تنها تصویر بندانگشتی"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "تنها شمایل برنامه"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "تصویر بندانگشتی و شمایل برنامه"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "نمایش پنجره به عنوان"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "نمایکلی فعالیتها"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "سلام دنیا!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "متن خوشآمدِ جایگزین."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on the "
|
||||
#~ "panel."
|
||||
#~ msgstr ""
|
||||
#~ "اگر خالی نباشد، حاوی متنی خواهد بود که که هنگام کلیک بر روی پنل نمایش داده "
|
||||
#~ "میشود است."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "پیام"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell and "
|
||||
#~ "as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "هدف مثال نمایش چگونگی ساخت افزونههای خوشرفتار برای پوسته است، پس خودش "
|
||||
#~ "قابلیتهای کمی دارد.\n"
|
||||
#~ "با این وجود میتوان پیام خوشآمد را تغییر داد."
|
||||
|
||||
#~ msgid "GNOME Shell Classic"
|
||||
#~ msgstr "گنومشل کلاسیک"
|
||||
@@ -381,8 +370,8 @@ msgstr "فضایکاری %Id"
|
||||
#~ msgstr "انتقالِ انتخاب فعلی به بالا قبل از بستن پنجره واشو"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The Alternate Tab can be used in different modes, that affect the way "
|
||||
#~ "windows are chosen and presented."
|
||||
#~ "The Alternate Tab can be used in different modes, that affect the way windows "
|
||||
#~ "are chosen and presented."
|
||||
#~ msgstr ""
|
||||
#~ "«جایگزین Tab» میتواند در حالتهای مختلفی استفاده شود، که در نحوه باز شدن و "
|
||||
#~ "انتخاب پنجرهها تاثیر میگذارد."
|
||||
|
||||
277
po/fi.po
277
po/fi.po
@@ -10,10 +10,10 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-08-11 01:33+0000\n"
|
||||
"PO-Revision-Date: 2017-08-29 12:32+0300\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-16 18:17+0300\n"
|
||||
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
|
||||
"Language-Team: suomi <lokalisointi-lista@googlegroups.com>\n"
|
||||
"Language: fi\n"
|
||||
@@ -21,7 +21,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Gtranslator 2.91.7\n"
|
||||
"X-Generator: Poedit 2.4.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
"X-POT-Import-Date: 2012-03-05 15:06:12+0000\n"
|
||||
|
||||
@@ -33,71 +33,11 @@ msgstr "Perinteinen Gnome"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Tämä istunto kirjaa sinut perinteiseen Gnomeen"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Liitä modaali-ikkuna ylätason ikkunaan"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Painikkeiden järjestys otsikkopalkissa"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Työtilat vain ensisijaisella näytöllä"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Aseta viive kohdistusmuutoksille hiiritilassa, kunnes hiiren osoitin "
|
||||
"lopettaa liikkumisen"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Pelkkä pienoiskuva"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Pelkkä sovelluksen kuvake"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Pienoiskuva ja sovelluksen kuvake"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Ikkunoiden esittäminen"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Näytä vain nykyisessä työtilassa olevat ikkunat"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Yleisnäkymä"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Suosikit"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Sovellukset"
|
||||
|
||||
@@ -111,69 +51,29 @@ msgid ""
|
||||
"followed by a colon and the workspace number"
|
||||
msgstr ""
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Sovellus"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Työtilojen säännöt"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Työtila"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Lisää sääntö"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Luo uusi vastaava sääntö"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Lisää"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:107
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "Aseman “%s” irrottaminen epäonnistui:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:125
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Erilliset tallennusvälineet"
|
||||
|
||||
#: extensions/drive-menu/extension.js:150
|
||||
#| msgid "Open File"
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Avaa tiedostonhallinta"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Hei, maailma!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Vaihtoehtoinen tervehdysteksti."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr "Jos ei tyhjä, sisältää paneelia napsauttaessa näytettävän tekstin."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Viesti"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Käytä enemmän tilaa ikkunoille"
|
||||
@@ -199,32 +99,31 @@ msgstr ""
|
||||
"Tämä syrjäyttää oletusasetuksen, eli otsikkotekstin asettamisen pienoiskuvan "
|
||||
"alle. Tämän asetuksen muutos vaatii Gnomen uudelleenkäynnistyksen."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Sijainnit"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
#| msgid "Failed to launch “%s”"
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Taltion “%s” liittäminen epäonnistui"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Kohteen “%s” käynnistys epäonnistui"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Taltion “%s” liittäminen epäonnistui"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Tietokone"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Koti"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Selaa verkkoa"
|
||||
|
||||
@@ -246,52 +145,47 @@ msgstr "Teeman nimi"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Teeman nimi, ladataan sijainnista ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Sulje"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Palauta pienennys"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Pienennä"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Palauta suurennus"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Suurenna"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Pienennä kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Palauta kaikkien koko"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Suurenna kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Palauta kaikkien koko"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Sulje kaikki"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Työtilan ilmaisin"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Ikkunaluettelo"
|
||||
|
||||
@@ -308,10 +202,21 @@ msgstr ""
|
||||
"Mahdolliset arvot ovat “never”, “auto” ja “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Näytä ikkunat kaikista työtiloista"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Näytetäänkö ikkunat kaikista työtiloista vai ainoastaan nykyisestä "
|
||||
"työtilasta."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Näytä ikkunaluettelo kaikilla näytöillä"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -319,39 +224,99 @@ msgstr ""
|
||||
"Näytetäänkö ikkunaluettelo kaikilla liitetyillä näytöillä vai ainoastaan "
|
||||
"ensisijaisella näytöllä."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ikkunoiden ryhmitys"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Älä ryhmitä ikkunoita koskaan"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ryhmitä ikkunat tilan ollessa rajallinen"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Ryhmitä ikkunat aina"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Näytä kaikilla näytöillä"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Työtilan ilmaisin"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Työtilojen nimet"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Nimi"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Työtila %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Lisää työtila"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Sovellus"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Luo uusi vastaava sääntö"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Lisää"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Nimi"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Liitä modaali-ikkuna ylätason ikkunaan"
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Painikkeiden järjestys otsikkopalkissa"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Työtilat vain ensisijaisella näytöllä"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Aseta viive kohdistusmuutoksille hiiritilassa, kunnes hiiren osoitin "
|
||||
#~ "lopettaa liikkumisen"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Pelkkä pienoiskuva"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Pelkkä sovelluksen kuvake"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Pienoiskuva ja sovelluksen kuvake"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Ikkunoiden esittäminen"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Yleisnäkymä"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Hei, maailma!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Vaihtoehtoinen tervehdysteksti."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr "Jos ei tyhjä, sisältää paneelia napsauttaessa näytettävän tekstin."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Viesti"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "Suoritin"
|
||||
|
||||
|
||||
226
po/fr.po
226
po/fr.po
@@ -10,16 +10,15 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2018-11-13 00:23+0000\n"
|
||||
"PO-Revision-Date: 2018-11-14 17:56+0100\n"
|
||||
"Last-Translator: Charles Monzat <charles.monzat@numericable.fr>\n"
|
||||
"Language-Team: français <gnomefr@traduc.org>\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-08-10 12:50+0200\n"
|
||||
"Last-Translator: Claude Paroz <claude@2xlibre.net>\n"
|
||||
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Gtranslator 3.30.0\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -29,35 +28,11 @@ msgstr "GNOME Classique"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Cette session vous connecte à GNOME Classique"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:19
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Vignette seulement"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Application icon only"
|
||||
msgstr "Icône d’application seulement"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Vignette et icône d’application"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:34
|
||||
msgid "Present windows as"
|
||||
msgstr "Présenter la fenêtre comme"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:65
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "N’afficher les fenêtres que sur l’espace de travail actuel"
|
||||
|
||||
#: extensions/apps-menu/extension.js:37
|
||||
msgid "Activities Overview"
|
||||
msgstr "Vue d’ensemble des activités"
|
||||
|
||||
#: extensions/apps-menu/extension.js:130
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Favoris"
|
||||
|
||||
#: extensions/apps-menu/extension.js:417
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Applications"
|
||||
|
||||
@@ -74,74 +49,29 @@ msgstr ""
|
||||
"d’application (nom de fichier desktop), suivi par un deux-points et le "
|
||||
"numéro de l’espace de travail"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:53
|
||||
msgid "Application"
|
||||
msgstr "Application"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Règles des espaces de travail"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:62
|
||||
#: extensions/auto-move-windows/prefs.js:117
|
||||
msgid "Workspace"
|
||||
msgstr "Espace de travail"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:78
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Ajouter une règle"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:98
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Créer une nouvelle règle de concordance"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:103
|
||||
msgid "Add"
|
||||
msgstr "Ajouter"
|
||||
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:103
|
||||
#: extensions/places-menu/placeDisplay.js:225
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "L’éjection du disque « %s » a échoué :"
|
||||
|
||||
#: extensions/drive-menu/extension.js:118
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Périphériques amovibles"
|
||||
|
||||
#: extensions/drive-menu/extension.js:143
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Ouvrir Fichiers"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Bonjour le monde !"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Autre texte d’accueil."
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr ""
|
||||
"S’il n’est pas vide, il contient le texte qui s’affiche lorsque vous cliquez "
|
||||
"sur le tableau de bord."
|
||||
|
||||
#: extensions/example/prefs.js:27
|
||||
msgid "Message"
|
||||
msgstr "Message"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:40
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Example a pour but de montrer comment construire de bonnes extensions pour "
|
||||
"le Shell et en tant que tel, il n’a que peu de fonctionnalités en soi.\n"
|
||||
"Il est néanmoins possible de personnaliser le message d’accueil."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Utiliser plus d’écran pour les fenêtres"
|
||||
@@ -172,31 +102,31 @@ msgstr ""
|
||||
"dessous. Pour que ce paramètre soit pris en compte, il faut redémarrer le "
|
||||
"Shell."
|
||||
|
||||
#: extensions/places-menu/extension.js:79
|
||||
#: extensions/places-menu/extension.js:82
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Emplacements"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:67
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Impossible de monter le volume « %s »"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:80
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Impossible de lancer « %s »"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:141
|
||||
#: extensions/places-menu/placeDisplay.js:164
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "Impossible de monter le volume « %s »"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Ordinateur"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:342
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Dossier personnel"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:386
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Parcourir le réseau"
|
||||
|
||||
@@ -216,52 +146,47 @@ msgstr "Nom du thème"
|
||||
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"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Fermer"
|
||||
|
||||
#: extensions/window-list/extension.js:125
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:126
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Réduire"
|
||||
|
||||
#: extensions/window-list/extension.js:132
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:133
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Maximiser"
|
||||
|
||||
#: extensions/window-list/extension.js:408
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Tout réduire"
|
||||
|
||||
#: extensions/window-list/extension.js:414
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Tout restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Tout maximiser"
|
||||
|
||||
#: extensions/window-list/extension.js:429
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Tout restaurer"
|
||||
|
||||
#: extensions/window-list/extension.js:438
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Tout fermer"
|
||||
|
||||
#: extensions/window-list/extension.js:646
|
||||
#: extensions/workspace-indicator/extension.js:26
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicateur d’espace de travail"
|
||||
|
||||
#: extensions/window-list/extension.js:816
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Liste de fenêtres"
|
||||
|
||||
@@ -279,10 +204,21 @@ msgstr ""
|
||||
"« always » (toujours)."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Afficher les fenêtres de tous les espaces de travail"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Indique s’il faut afficher les fenêtres de tous les espaces de travail ou "
|
||||
"seulement de l’espace actuel."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Afficher la liste des fenêtres sur tous les écrans"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -290,73 +226,43 @@ msgstr ""
|
||||
"Indique s’il faut afficher la liste des fenêtres sur tous les écrans "
|
||||
"connectés ou seulement l’écran principal."
|
||||
|
||||
#: extensions/window-list/prefs.js:28
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Regroupement de fenêtres"
|
||||
|
||||
#: extensions/window-list/prefs.js:46
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "Ne jamais regrouper les fenêtres"
|
||||
|
||||
#: extensions/window-list/prefs.js:47
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Regrouper les fenêtres quand l’espace est limité"
|
||||
|
||||
#: extensions/window-list/prefs.js:48
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Toujours regrouper les fenêtres"
|
||||
|
||||
#: extensions/window-list/prefs.js:71
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Afficher sur tous les écrans"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:134
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicateur d’espace de travail"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Noms des espaces de travail"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:150
|
||||
msgid "Name"
|
||||
msgstr "Nom"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:190
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espace de travail %d"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Attacher les boîtes de dialogue modales à leur fenêtre parente"
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Ajouter un espace de travail"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Cette clé remplace la clé dans org.gnome.mutter lorsque GNOME Shell est "
|
||||
#~ "en cours d’exécution."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Ordre des boutons dans la barre de titre"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Cette clé remplace la clé dans org.gnome.desktop.wm.preferences lorsque "
|
||||
#~ "GNOME Shell est en cours d’exécution."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Activer la disposition verticale lorsque les fenêtres sont déposées aux "
|
||||
#~ "bords de l’écran"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Espaces de travail uniquement sur l’écran principal"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Retarder les changements de focus en mode souris jusqu’à ce que le "
|
||||
#~ "pointeur arrête de bouger"
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
#~ msgid "Memory"
|
||||
#~ msgstr "Mémoire"
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Créer une nouvelle règle de concordance"
|
||||
|
||||
312
po/fur.po
312
po/fur.po
@@ -6,17 +6,17 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
||||
"POT-Creation-Date: 2017-07-06 14:32+0000\n"
|
||||
"PO-Revision-Date: 2017-07-07 00:55+0200\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2020-05-28 00:55+0000\n"
|
||||
"PO-Revision-Date: 2020-07-12 18:10+0200\n"
|
||||
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
|
||||
"Language-Team: Friulian <fur@li.org>\n"
|
||||
"Language: fur\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Generator: Poedit 1.8.12\n"
|
||||
"X-Generator: Poedit 2.3.1\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -26,77 +26,11 @@ msgstr "GNOME Classic"
|
||||
msgid "This session logs you into GNOME Classic"
|
||||
msgstr "Cheste session a si invie cun GNOME classic"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
msgstr "Tache il balcon modâl al balcon gjenitôr"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr ""
|
||||
"Cheste clâf a sorplante che in org.gnome.mutter quanche al è in esecuzion "
|
||||
"GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
||||
msgid "Arrangement of buttons on the titlebar"
|
||||
msgstr "Disposizion dai botons te sbare dal titul"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
||||
"GNOME Shell."
|
||||
msgstr ""
|
||||
"Cheste clâf a sorplante chê in org.gnome.desktop.wm.preferences cuant che al "
|
||||
"è in esecuzion GNOME Shell."
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr ""
|
||||
"Abilite la tasseladure sul ôr cuant che i balcons a vegnin molâts sul ôr dal "
|
||||
"visôr"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Spazis di lavôr dome sul visôr principâl"
|
||||
|
||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr ""
|
||||
"Tarde la mude dal focus te modalitât mouse fintremai che il pontadôr no si "
|
||||
"ferme"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:20
|
||||
msgid "Thumbnail only"
|
||||
msgstr "Dome miniaturis"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:21
|
||||
msgid "Application icon only"
|
||||
msgstr "Dome l'icone de aplicazion"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:22
|
||||
msgid "Thumbnail and application icon"
|
||||
msgstr "Miniature e icone de aplicazion"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:38
|
||||
msgid "Present windows as"
|
||||
msgstr "Mostre i barcons come"
|
||||
|
||||
#: extensions/alternate-tab/prefs.js:69
|
||||
msgid "Show only windows in the current workspace"
|
||||
msgstr "Mostre dome i balcons dal spazi di lavôr corint"
|
||||
|
||||
#: extensions/apps-menu/extension.js:41
|
||||
msgid "Activities Overview"
|
||||
msgstr "Panoramiche ativitâts"
|
||||
|
||||
#: extensions/apps-menu/extension.js:141
|
||||
#: extensions/apps-menu/extension.js:113
|
||||
msgid "Favorites"
|
||||
msgstr "Preferîts"
|
||||
|
||||
#: extensions/apps-menu/extension.js:436
|
||||
#: extensions/apps-menu/extension.js:369
|
||||
msgid "Applications"
|
||||
msgstr "Aplicazions"
|
||||
|
||||
@@ -112,70 +46,29 @@ msgstr ""
|
||||
"Une liste di stringhis, ogniune a ten il ID di une aplicazion (non dal file ."
|
||||
"desktop), seguît di doi ponts e il numar dal spazi di lavôr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:60
|
||||
msgid "Application"
|
||||
msgstr "Aplicazion"
|
||||
#: extensions/auto-move-windows/prefs.js:35
|
||||
msgid "Workspace Rules"
|
||||
msgstr "Regulis dai spazis di lavôr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:69
|
||||
#: extensions/auto-move-windows/prefs.js:127
|
||||
msgid "Workspace"
|
||||
msgstr "Spazi di lavôr"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:85
|
||||
#: extensions/auto-move-windows/prefs.js:243
|
||||
msgid "Add Rule"
|
||||
msgstr "Zonte regule"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:106
|
||||
msgid "Create new matching rule"
|
||||
msgstr "Cree une gnove regule di corispondence"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:111
|
||||
msgid "Add"
|
||||
msgstr "Zonte"
|
||||
|
||||
#: extensions/drive-menu/extension.js:106
|
||||
#. TRANSLATORS: %s is the filesystem name
|
||||
#: extensions/drive-menu/extension.js:112
|
||||
#: extensions/places-menu/placeDisplay.js:233
|
||||
#, javascript-format
|
||||
msgid "Ejecting drive “%s” failed:"
|
||||
msgstr "No si è rivâts a parâ fûr la unitât “%s”»:"
|
||||
|
||||
#: extensions/drive-menu/extension.js:124
|
||||
#: extensions/drive-menu/extension.js:128
|
||||
msgid "Removable devices"
|
||||
msgstr "Argagn rimovibil"
|
||||
|
||||
#: extensions/drive-menu/extension.js:149
|
||||
#: extensions/drive-menu/extension.js:155
|
||||
msgid "Open Files"
|
||||
msgstr "Vierç i file"
|
||||
|
||||
#: extensions/example/extension.js:17
|
||||
msgid "Hello, world!"
|
||||
msgstr "Mandi, mont!"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
||||
msgid "Alternative greeting text."
|
||||
msgstr "Test di benvignût alternatîf"
|
||||
|
||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
||||
msgid ""
|
||||
"If not empty, it contains the text that will be shown when clicking on the "
|
||||
"panel."
|
||||
msgstr "Se no vueit, al ten il test che al vegnarà mostrât scliçant sul panel."
|
||||
|
||||
#: extensions/example/prefs.js:30
|
||||
msgid "Message"
|
||||
msgstr "Messaç"
|
||||
|
||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
||||
#. translated
|
||||
#: extensions/example/prefs.js:43
|
||||
msgid ""
|
||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
||||
"as such it has little functionality on its own.\n"
|
||||
"Nevertheless it’s possible to customize the greeting message."
|
||||
msgstr ""
|
||||
"Example al ponte a mostrâ cemût imbastî estensions de Shell che si "
|
||||
"compuartedin ben e par chest no 'ndi à tantis funzions.\n"
|
||||
"Ad ogni mût al è pussibil personalizâ il messaç di benvignût."
|
||||
|
||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||
msgid "Use more screen for windows"
|
||||
msgstr "Dopre plui spazi par i balcons"
|
||||
@@ -205,31 +98,31 @@ msgstr ""
|
||||
"volte al compuartament normâl de shell, che lis place in bas.Cambiant cheste "
|
||||
"impostazion a si scugne tornâ a inviâ la shell."
|
||||
|
||||
#: extensions/places-menu/extension.js:78
|
||||
#: extensions/places-menu/extension.js:81
|
||||
#: extensions/places-menu/extension.js:89
|
||||
#: extensions/places-menu/extension.js:93
|
||||
msgid "Places"
|
||||
msgstr "Puescj"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:65
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "No si è rivâts a montâ il volum par “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:78
|
||||
#: extensions/places-menu/placeDisplay.js:46
|
||||
#, javascript-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "No si è rivâts a inviâ “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:137
|
||||
#: extensions/places-menu/placeDisplay.js:160
|
||||
#: extensions/places-menu/placeDisplay.js:61
|
||||
#, javascript-format
|
||||
msgid "Failed to mount volume for “%s”"
|
||||
msgstr "No si è rivâts a montâ il volum par “%s”"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:148
|
||||
#: extensions/places-menu/placeDisplay.js:171
|
||||
msgid "Computer"
|
||||
msgstr "Computer"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:303
|
||||
#: extensions/places-menu/placeDisplay.js:359
|
||||
msgid "Home"
|
||||
msgstr "Cjase"
|
||||
|
||||
#: extensions/places-menu/placeDisplay.js:347
|
||||
#: extensions/places-menu/placeDisplay.js:404
|
||||
msgid "Browse Network"
|
||||
msgstr "Esplore rêt"
|
||||
|
||||
@@ -249,52 +142,47 @@ msgstr "Non dal teme"
|
||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||
msgstr "Il non dal teme, che si cjame da ~/.themes/name/gnome-shell"
|
||||
|
||||
#: extensions/window-list/extension.js:110
|
||||
#: extensions/window-list/extension.js:98
|
||||
msgid "Close"
|
||||
msgstr "Siere"
|
||||
|
||||
#: extensions/window-list/extension.js:129
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Unminimize"
|
||||
msgstr "Gjave minimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:130
|
||||
#: extensions/window-list/extension.js:118
|
||||
msgid "Minimize"
|
||||
msgstr "Minimize"
|
||||
|
||||
#: extensions/window-list/extension.js:136
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Unmaximize"
|
||||
msgstr "Gjave massimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:137
|
||||
#: extensions/window-list/extension.js:125
|
||||
msgid "Maximize"
|
||||
msgstr "Massimize"
|
||||
|
||||
#: extensions/window-list/extension.js:420
|
||||
#: extensions/window-list/extension.js:428
|
||||
msgid "Minimize all"
|
||||
msgstr "Minimize ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:428
|
||||
#: extensions/window-list/extension.js:434
|
||||
msgid "Unminimize all"
|
||||
msgstr "Gjave a ducj la minimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:436
|
||||
#: extensions/window-list/extension.js:440
|
||||
msgid "Maximize all"
|
||||
msgstr "Massimize ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:445
|
||||
#: extensions/window-list/extension.js:448
|
||||
msgid "Unmaximize all"
|
||||
msgstr "Gjave a ducj la massimizazion"
|
||||
|
||||
#: extensions/window-list/extension.js:454
|
||||
#: extensions/window-list/extension.js:456
|
||||
msgid "Close all"
|
||||
msgstr "Siere ducj"
|
||||
|
||||
#: extensions/window-list/extension.js:678
|
||||
#: extensions/workspace-indicator/extension.js:30
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicadôr spazi di lavôr"
|
||||
|
||||
#: extensions/window-list/extension.js:842
|
||||
#: extensions/window-list/extension.js:734
|
||||
msgid "Window List"
|
||||
msgstr "Liste balcons"
|
||||
|
||||
@@ -311,10 +199,20 @@ msgstr ""
|
||||
"balcons. I pussibii valôrs a son “never”, “auto” e “always”."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||
#: extensions/window-list/prefs.js:100
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "Mostre i barcons di ducj i spazis di lavôr"
|
||||
|
||||
#: 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."
|
||||
msgstr ""
|
||||
"Indiche se mostrâ i barcons di ducj i spazis di lavôr o nome di chel atuâl."
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||
msgid "Show the window list on all monitors"
|
||||
msgstr "Mostre la liste dai barcons su ducj i visôrs"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||
msgid ""
|
||||
"Whether to show the window list on all connected monitors or only on the "
|
||||
"primary one."
|
||||
@@ -322,39 +220,127 @@ msgstr ""
|
||||
"Indiche se mostrâ la liste dai barcons su ducj i visôrs tacâts o nome sul "
|
||||
"principâl."
|
||||
|
||||
#: extensions/window-list/prefs.js:32
|
||||
#: extensions/window-list/prefs.js:29
|
||||
msgid "Window Grouping"
|
||||
msgstr "Ingrumament balcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:50
|
||||
#: extensions/window-list/prefs.js:58
|
||||
msgid "Never group windows"
|
||||
msgstr "No ingrumâ i balcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:51
|
||||
#: extensions/window-list/prefs.js:59
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "Ingrume i balcons quanche al'è pôc puest"
|
||||
|
||||
#: extensions/window-list/prefs.js:52
|
||||
#: extensions/window-list/prefs.js:60
|
||||
msgid "Always group windows"
|
||||
msgstr "Ingrume simpri i balcons"
|
||||
|
||||
#: extensions/window-list/prefs.js:75
|
||||
#: extensions/window-list/prefs.js:94
|
||||
msgid "Show on all monitors"
|
||||
msgstr "Mostre su ducj i visôrs"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:141
|
||||
#: extensions/window-list/workspaceIndicator.js:207
|
||||
#: extensions/workspace-indicator/extension.js:213
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "Indicadôr spazi di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:34
|
||||
msgid "Workspace Names"
|
||||
msgstr "Nons dai spazis di lavôr"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:157
|
||||
msgid "Name"
|
||||
msgstr "Non"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:198
|
||||
#: extensions/workspace-indicator/prefs.js:67
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spazi di lavôr %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:218
|
||||
msgid "Add Workspace"
|
||||
msgstr "Zonte spazi di lavôr"
|
||||
|
||||
#~ msgid "Application"
|
||||
#~ msgstr "Aplicazion"
|
||||
|
||||
#~ msgid "Create new matching rule"
|
||||
#~ msgstr "Cree une gnove regule di corispondence"
|
||||
|
||||
#~ msgid "Add"
|
||||
#~ msgstr "Zonte"
|
||||
|
||||
#~ msgid "Name"
|
||||
#~ msgstr "Non"
|
||||
|
||||
#~ msgid "Attach modal dialog to the parent window"
|
||||
#~ msgstr "Tache il balcon modâl al balcon gjenitôr"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Cheste clâf a sorplante che in org.gnome.mutter quanche al è in esecuzion "
|
||||
#~ "GNOME Shell."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Disposizion dai botons te sbare dal titul"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Cheste clâf a sorplante chê in org.gnome.desktop.wm.preferences cuant che "
|
||||
#~ "al è in esecuzion GNOME Shell."
|
||||
|
||||
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
#~ msgstr ""
|
||||
#~ "Abilite la tasseladure sul ôr cuant che i balcons a vegnin molâts sul ôr "
|
||||
#~ "dal visôr"
|
||||
|
||||
#~ msgid "Workspaces only on primary monitor"
|
||||
#~ msgstr "Spazis di lavôr dome sul visôr principâl"
|
||||
|
||||
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
#~ msgstr ""
|
||||
#~ "Tarde la mude dal focus te modalitât mouse fintremai che il pontadôr no "
|
||||
#~ "si ferme"
|
||||
|
||||
#~ msgid "Thumbnail only"
|
||||
#~ msgstr "Dome miniaturis"
|
||||
|
||||
#~ msgid "Application icon only"
|
||||
#~ msgstr "Dome l'icone de aplicazion"
|
||||
|
||||
#~ msgid "Thumbnail and application icon"
|
||||
#~ msgstr "Miniature e icone de aplicazion"
|
||||
|
||||
#~ msgid "Present windows as"
|
||||
#~ msgstr "Mostre i barcons come"
|
||||
|
||||
#~ msgid "Activities Overview"
|
||||
#~ msgstr "Panoramiche ativitâts"
|
||||
|
||||
#~ msgid "Hello, world!"
|
||||
#~ msgstr "Mandi, mont!"
|
||||
|
||||
#~ msgid "Alternative greeting text."
|
||||
#~ msgstr "Test di benvignût alternatîf"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||
#~ "the panel."
|
||||
#~ msgstr ""
|
||||
#~ "Se no vueit, al ten il test che al vegnarà mostrât scliçant sul panel."
|
||||
|
||||
#~ msgid "Message"
|
||||
#~ msgstr "Messaç"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||
#~ "and as such it has little functionality on its own.\n"
|
||||
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||
#~ msgstr ""
|
||||
#~ "Example al ponte a mostrâ cemût imbastî estensions de Shell che si "
|
||||
#~ "compuartedin ben e par chest no 'ndi à tantis funzions.\n"
|
||||
#~ "Ad ogni mût al è pussibil personalizâ il messaç di benvignût."
|
||||
|
||||
#~ msgid "CPU"
|
||||
#~ msgstr "CPU"
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user